Lines Matching defs:pointer

478 		       "distinct pointer types %qT and %qT lacks a cast",
484 "distinct pointer types %qT and %qT lacks a cast",
490 "distinct pointer types %qT and %qT lacks a cast",
525 Otherwise, the composite pointer type is a pointer type
574 /* Return the composite pointer type (see [expr.rel]) for T1 and T2.
576 describe the operation between the pointer types,
592 If one operand is a null pointer constant, the composite pointer
603 If one of the operands has type "pointer to cv1 void*", then
604 the other has type "pointer to cv2T", and the composite pointer
605 type is "pointer to cv12 void", where cv12 is the union of cv1
608 If either type is a pointer to void, make sure it is T1. */
617 /* Now, if T1 is a pointer to void, merge the qualifiers. */
631 "ISO C++ forbids comparison between pointer "
632 "of type %<void *%> and pointer-to-function");
636 "ISO C++ forbids conversion between pointer "
637 "of type %<void *%> and pointer-to-function");
642 "pointer of type %<void *%> and "
643 "pointer-to-function");
669 /* [expr.eq] permits the application of a pointer conversion to
693 /* [expr.eq] permits the application of a pointer-to-member
713 "pointer-to-member types %qT and %qT lacks a cast",
718 "pointer-to-member types %qT and %qT lacks a cast",
723 "pointer-to-member types %qT and %qT lacks a cast",
961 /* Return the common type of two pointer types T1 and T2. This is the
985 and unambiguously derived from X. Similarly, if a pointer type Y * ...
991 top level cv qualifiers, and allow qualifiers in the pointer to class
1311 /* fall through to checks for pointer types */
1909 in an rvalue context: the lvalue-to-rvalue, array-to-pointer, and
1910 function-to-pointer conversions. In addition, manifest constants
1990 /* Don't let an array compound literal decay to a pointer. It can
2041 lvalue-to-rvalue, array-to-pointer, or function-to-pointer
2290 error ("request for member %qD in %qE, which is of pointer "
2684 error ("request for member %qD in %qE, which is of pointer "
2852 representation of PTRMEM, a pointer-to-member function. (Each
2853 pointer-to-member function type gets its own RECORD_TYPE so it is
2877 /* Given an expression PTR for a pointer, return an expression
2893 /* Retain the type if we know the operand is a pointer. */
2924 tree pointer, type;
2933 pointer = (TREE_CODE (TREE_TYPE (ptr)) == REFERENCE_TYPE
2935 if (pointer == error_mark_node)
2938 type = TREE_TYPE (pointer);
2944 If the type of the expression is "pointer to T," the type
2963 /* A pointer to incomplete type (other than cv void) can be
2966 error ("%qT is not a pointer-to-object type", type);
2969 else if (TREE_CODE (pointer) == ADDR_EXPR
2970 && same_type_p (t, TREE_TYPE (TREE_OPERAND (pointer, 0))))
2973 return TREE_OPERAND (pointer, 0);
2976 tree ref = build1 (INDIRECT_REF, t, pointer);
2978 /* We *must* set TREE_READONLY when dereferencing a pointer to const,
2984 = (TREE_THIS_VOLATILE (ref) || TREE_SIDE_EFFECTS (pointer));
2991 /* `pointer' won't be an error_mark_node if we were given a
2992 pointer to member, so it's cool to check for this here. */
2997 error ("invalid use of array indexing on pointer to member");
3000 error ("invalid use of unary %<*%> on pointer to member");
3003 error ("invalid use of implicit conversion on pointer to member");
3006 error ("left hand operand of %<->*%> must be a pointer to class, "
3007 "but is a pointer to member of type %qT", type);
3012 else if (pointer != error_mark_node)
3029 will inherit the type of the array, which will be some pointer type.
3115 pointer arithmetic.) */
3193 error_at (loc, "subscripted value is neither array nor pointer");
3226 /* Resolve a pointer to member function. INSTANCE is the object
3232 incorrect: A pointer to a derived member can be static_cast
3233 to pointer-to-base-member, as long as the dynamic object
3273 virtual functions, so we can assume the PFN field is a pointer. */
3279 conversion from PMF to pointer), we can't resolve virtual
3326 special case is that in a pointer to member of class C, C may
3348 /* Now just return the pointer. */
3351 /* Next extract the vtable pointer from the object. */
3358 /* Finally, extract the function pointer from the vtable. */
3366 vtable entry is treated as a function pointer. */
3482 /* Convert anything with function type to a pointer-to-function. */
3508 error ("must use %<.*%> or %<->*%> to call pointer-to-member "
3902 C++: must do special pointer arithmetic when implementing
3903 multiple inheritance, and deal with pointer to member functions. */
4040 /* It's reasonable to use pointer values as operands of &&
4044 comparison or a pointer subtraction. */
4047 /* Or if one of OP0 or OP1 is neither a pointer nor NULL. */
4106 /* In all other cases except pointer - int, the usual arithmetic
4113 /* The pointer - int case is just like pointer + int; fall
4460 permerror (input_location, "ISO C++ forbids comparison between pointer and integer");
4468 permerror (input_location, "ISO C++ forbids comparison between pointer and integer");
4562 pointer-to-member is any member with a zero PFN and
4601 pointer-to-member is any member with a zero PFN; the
4728 "ordered comparison of pointer with integer zero");
4735 "ordered comparison of pointer with integer zero");
4744 permerror (input_location, "ISO C++ forbids comparison between pointer and integer");
4752 permerror (input_location, "ISO C++ forbids comparison between pointer and integer");
5082 of pointer PTROP and integer INTOP. */
5118 permerror (input_location, "ISO C++ forbids using pointer of "
5126 permerror (input_location, "ISO C++ forbids using pointer to "
5134 permerror (input_location, "ISO C++ forbids using pointer to "
5149 /* This generates an error if op1 is a pointer to an incomplete type. */
5153 error ("invalid use of a pointer to an incomplete type in "
5154 "pointer arithmetic");
5162 error ("arithmetic on pointer to an empty aggregate");
5234 /* A pointer to member-function can be formed only by saying
5245 "pointer-to-member-function", xarg);
5255 " pointer-to-member-function",
5271 pointer-to-member. */
5290 /* Like c_common_truthvalue_conversion, but handle pointer-to-member
5305 /* With -Wzero-as-null-pointer-constant do not warn for an
5306 'if (p)' or a 'while (!p)', where p is a pointer. */
5390 /* Inside constant member functions, the `this' pointer
5409 " a pointer to member function. Say %<&%T::%D%>",
5413 " function to form a pointer to member function."
5427 /* We want a pointer to member; bypass all the code for actually taking
5540 pointer-to-member. */
5551 error ("cannot create pointer to reference member %qD", t);
5849 ? G_("cannot increment a pointer to incomplete type %qT")
5850 : G_("cannot decrement a pointer to incomplete type %qT"),
5861 ? G_("ISO C++ forbids incrementing a pointer of type %qT")
5862 : G_("ISO C++ forbids decrementing a pointer of type %qT"),
6391 /* Convert EXPR (an expression with pointer-to-member type) to TYPE
6392 (another pointer-to-member type in the same hierarchy) and return
6394 pointer-to-derived may be converted to pointer-to-base; otherwise,
6469 "pointer to D" to "pointer to B" exists (_conv.ptr_), cv2 is the
6522 /* Convert the pointer to a reference -- but then remember that
6606 other than the lvalue-to-rvalue (_conv.lval_), array-to-pointer
6607 (_conv.array_), function-to-pointer (_conv.func_), and boolean
6615 pointer conversions, and pointer to member conversions. */
6701 An rvalue of type "pointer to cv void" can be explicitly
6702 converted to a pointer to object type. A value of type pointer
6703 to object converted to "pointer to cv void" and back to the
6704 original pointer type will have its original value. */
6761 /* EXPR is an expression with member function or pointer-to-member
6762 function type. TYPE is a pointer type. Converting EXPR to TYPE is
6826 "reference to T2" if an expression of type "pointer to T1" can be
6827 explicitly converted to the type "pointer to T2" using a
6842 adjust the pointer. */
6847 warning (0, "casting %qT to %qT does not dereference pointer",
6867 pointer-to-function and pointer-to-void types. If
6878 array-to-pointer, and function-to-pointer conversions are
6894 A pointer can be converted to any integral type large enough to
6914 converted to a pointer. */
6948 create (int *)&a for array-to-pointer decay, instead of &a[0]. */
6959 /* C++11 5.2.10 p8 says that "Converting a function pointer to an
6960 object pointer type or vice versa is conditionally-supported." */
6962 "casting between pointer-to-function and pointer-to-object "
7038 "which is not a pointer, "
7039 "reference, nor a pointer-to-data-member type", dst_type);
7046 error ("invalid use of const_cast with type %qT, which is a pointer "
7061 For two object types T1 and T2, if a pointer to T1 can be explicitly
7062 converted to the type "pointer to T2" using a const_cast, then the
7097 lvalue-to-rvalue, array-to-pointer, and function-to-pointer
7207 /* Casts to a (pointer to a) specific ObjC class (or 'id' or
7256 "cast to pointer from integer of different size");
7715 class of TO. Returns a delta for the conversion of pointer-to-member
7716 of FROM to pointer-to-member of TO. If the conversion is invalid and
7737 error (" in pointer to member function conversion");
7751 error ("pointer to member conversion via virtual base %qT",
7761 /* Get difference in deltas for different pointer to member function
7772 a pointer to member of FROM to a pointer to member of TO. */
7798 error (" in pointer to member conversion");
7817 error (" in pointer to member conversion");
7827 /* Return a constructor for the pointer-to-member-function TYPE using
7862 /* Build a constructor for a pointer to member function. It can be
7887 /* Handle multiple conversions of pointer to member functions. */
7913 pointer-to-member to its own type. But, we don't want to
7928 /* Obtain the function pointer and the current DELTA. */
7949 /* Handle null pointer to member function conversions. */
7988 /* The class that we're creating a pointer to member of. */
8043 /* Return an expression for PFN from the pointer-to-member function
8062 /* Return an expression for DELTA from the pointer-to-member function
8085 If FNDECL is NULL, we are doing the conversion in function pointer
8767 /* Returns nonzero if the pointer-type FROM can be converted to the
8768 pointer-type TO via a qualification conversion. If CONSTP is -1,
8820 the 'char *' and 'char const *'. Do not pass non-pointer/reference
8914 pointer-to-member types) are the same, ignoring cv-qualification at
9091 For multi-level pointer to members and multi-level mixed pointers
9093 pointer to member level is ignored when determining if a const
9097 For two pointer types:
9099 X1 is T1cv1,1 * ... cv1,N * where T1 is not a pointer type
9100 X2 is T2cv2,1 * ... cv2,M * where T2 is not a pointer type
9103 casting from X1 to X2 casts away constness if, for a non-pointer
9158 rvalue of type "pointer to T1" to the type "pointer to T2"
9169 Casting from an rvalue of type "pointer to data member of X
9170 of type T1" to the type "pointer to data member of Y of type
9172 "pointer to T1" to the type "pointer to T2" casts away
9180 pointer or reference types. */