Lines Matching refs:member

161 	data member and each base-class subobject is zero-initialized.
163 -- if T is a union type, the storage for its first data member is
299 a class with a pointer-to-data member as a non-static data member
322 perform_member_init (tree member, tree init)
325 tree type = TREE_TYPE (member);
333 warning (OPT_Weffc__, "%J%qD should be initialized in the member initialization "
334 "list", current_function_decl, member);
339 /* Get an lvalue for the data member. */
340 decl = build_class_member_access_expr (current_class_ref, member,
383 current_function_decl, member);
385 /* member traversal: note it leaves init NULL */
387 pedwarn ("%Juninitialized reference member %qD",
388 current_function_decl, member);
390 pedwarn ("%Juninitialized member %qD with %<const%> type %qT",
391 current_function_decl, member, type);
394 /* There was an explicit member initialization. Do some work
396 init = build_x_compound_expr_from_list (init, "member initializer");
406 expr = build_class_member_access_expr (current_class_ref, member,
588 /* See if this field is a member of a union, or a member of a
596 /* If this field is not a member of a union, skip it. */
611 which is itself a member of a union. For example, given:
900 /* Function to give error message if member initialization specification
901 is erroneous. FIELD is the member we decided to initialize.
903 FIELD must be a member of TYPE.
905 MEMBER_NAME is the name of the member. */
920 error ("%q#D is a static data member; it can only be "
927 error ("%q#D is not a non-static data member of %qT",
944 binfo, or the FIELD_DECL of the member. If NAME is invalid, return
1308 /* Build a reference to a member of an aggregate. This is not a C++
1310 then act as a pointer to member, for example TYPE :: FIELD can have
1320 build_offset_ref (tree type, tree member, bool address_p)
1326 if (TREE_CODE (member) == TEMPLATE_DECL)
1327 return member;
1329 if (dependent_type_p (type) || type_dependent_expression_p (member))
1330 return build_qualified_name (NULL_TREE, type, member,
1337 gcc_assert (DECL_P (member) || BASELINK_P (member));
1339 gcc_assert (!DECL_P (member) || TREE_USED (member));
1344 error ("incomplete type %qT does not have member %qD", type, member);
1350 if (TREE_CODE (member) == TYPE_DECL)
1351 return member;
1352 if (TREE_CODE (member) == VAR_DECL || TREE_CODE (member) == CONST_DECL)
1353 return convert_from_reference (member);
1355 if (TREE_CODE (member) == FIELD_DECL && DECL_C_BIT_FIELD (member))
1357 error ("invalid pointer to bit-field %qD", member);
1361 /* Set up BASEBINFO for member lookup. */
1365 if (BASELINK_P (member))
1367 /* Go from the TREE_BASELINK to the member function info. */
1368 tree t = BASELINK_FUNCTIONS (member);
1377 /* For non-static member of base class, we need a special rule
1380 If the access is to form a pointer to member, the
1391 member = t;
1394 TREE_TYPE (member) = unknown_type_node;
1396 else if (address_p && TREE_CODE (member) == FIELD_DECL)
1399 a pointer to non-static member. */
1400 perform_or_defer_access_check (TYPE_BINFO (type), member, member);
1407 An id-expression that denotes a nonstatic data member or
1408 nonstatic member function of a class can only be used:
1410 -- as part of a class member access (_expr.ref_) in which the
1411 object-expression refers to the member's class or a class
1414 -- to form a pointer to member (_expr.unary.op_), or
1416 -- in the body of a nonstatic member function of that class or
1421 if (DECL_NONSTATIC_MEMBER_FUNCTION_P (member))
1426 member = build2 (OFFSET_REF, TREE_TYPE (member), decl, member);
1427 /* In Microsoft mode, treat a non-static member function as if
1428 it were a pointer-to-member. */
1431 PTRMEM_OK_P (member) = 1;
1432 return build_unary_op (ADDR_EXPR, member, 0);
1434 error ("invalid use of non-static member function %qD",
1435 TREE_OPERAND (member, 1));
1438 else if (TREE_CODE (member) == FIELD_DECL)
1440 error ("invalid use of non-static data member %qD", member);
1443 return member;
1446 member = build2 (OFFSET_REF, TREE_TYPE (member), decl, member);
1447 PTRMEM_OK_P (member) = 1;
1448 return member;
1485 /* If DECL is a static data member in a template
1487 initializer for the static data member is not processed
1764 error ("request for member %qD is ambiguous", fnname);
2837 /* Make sure we have access to the member op delete, even though
2875 tree member;
2928 for (member = TYPE_FIELDS (current_class_type); member;
2929 member = TREE_CHAIN (member))
2931 if (TREE_TYPE (member) == error_mark_node
2932 || TREE_CODE (member) != FIELD_DECL
2933 || DECL_ARTIFICIAL (member))
2935 if (TYPE_HAS_NONTRIVIAL_DESTRUCTOR (TREE_TYPE (member)))
2938 (current_class_ref, member,
2941 tree this_type = TREE_TYPE (member);