Lines Matching defs:member

57    static data member), or a TYPE (for a class) indicating what we are
167 template, or VAR_DECL for static member variable (need by
209 /* Do any processing required when DECL (a member template
238 error ("data member %qD cannot be a member template", decl);
250 error ("invalid member template declaration %qD", decl);
388 /* Restore the template parameter context for a member template or
565 which the template is a member, or, for member templates, in the
567 template is a member. An explicit specialization of a member
568 function, member class or static data member of a class template
570 is a member. */
576 In an explicit specialization declaration for a member of a class
577 template or a member template that appears in namespace scope,
578 the member template and some of its enclosing class templates may
580 explicitly specialize a class member template if its enclosing
656 which the template is a member, or, for member templates, in the
658 template is a member. An explicit specialization of a member
659 function, member class or static data member of a class template
661 a member. */
740 /* This is for an explicit specialization of member class
746 Otherwise this is just a member class template declared
812 template arguments for the member function template apply
819 /* It is possible to have a template that is not a member
820 template and is not a member of a template class:
977 /* For [temp.friend/6] when FRIEND is an ordinary member function
1000 A member of a class template may be declared to be a friend of a
1001 non-template class. In this case, the corresponding member of
1009 the member function below is considered a friend
1202 instantiated a member function and then specialized
1361 specialization of a member template.
1434 /* Adjust the type of DECL in case FN is a static member. */
1451 /* For a non-static member function, we need to make sure that
1463 member functions. Consider the following code:
1470 member function, whilst the second line specializes "f" which
1471 is a template member function. So both lines are syntactically
1479 plus there must be another header for the member template
1522 /* FN is an ordinary member function, and we need a
1523 specialization of a member template. */
1530 /* This is just an ordinary non-member function. Nothing can
1540 /* This is an ordinary member function. However, since
1561 /* Adjust the type of DECL in case FN is a static member. */
1639 /* It was a specialization of an ordinary member function in a
1920 /* This is a specialization of a member template, without
2028 If such an explicit specialization for the member
2030 special member function (clause _special_), the
2034 error ("specialization of implicitly-declared special member function");
2078 error ("no member function %qD declared in %qT", name, ctype);
2087 member function, we cannot tell apriori whether the
2088 instantiation is for a member template, or just a member
2089 function of a template class. Even if a member template is
2090 being instantiated, the member template arguments may be
2135 /* If we thought that the DECL was a member function, but it
2136 turns out to be specializing a static member function,
2137 make DECL a static member function as well. */
2142 /* If this is a specialization of a member template of a
2298 inline member templates. */
2558 a member template. Used by push_template_decl below. */
2830 in the template-parameter-list of the definition of a member of a
2835 scope, nor you can you define a member of a class template in a
2843 or a member function. */
2849 /* And, if it was a member function, it really was defined in
2996 /* True if the template is a member template, in the sense of
3022 is assumed to be a member of the class. */
3053 A destructor shall not be a member template. */
3054 error ("destructor %qD declared as member template", decl);
3127 /* A specialization of a member template of a template
3168 /* The declaration is a specialization of a member
3728 For a non-type template-parameter of type pointer to member function,
3730 overloaded member functions, the matching member function is selected
3760 For a non-type template-parameter of type pointer to data member,
3893 member function. That's usually
3920 pedwarn ("to refer to a type member of a template parameter, "
4146 /* For member templates */
4225 may be a member template. */
4746 /* This case is easy; there are no member templates involved. */
4750 /* This is a full instantiation of a member template. Look
4789 where C<T> is a member template of A<T> and it's used
5215 We must enter that scope, to avoid finding member functions of the
5564 tree template, args, pattern, t, member;
5718 for (member = CLASSTYPE_DECL_LIST (pattern);
5719 member; member = TREE_CHAIN (member))
5721 tree t = TREE_VALUE (member);
5723 if (TREE_PURPOSE (member))
5737 /* If the member is a class template, then -- even after
5756 instantiation (i.e., for the type of a member
5815 side-effects) of a static data member does
5816 not occur unless the static data member is
5818 definition of the static data member to
5822 initialized for the static data member here. */
5992 any member functions. We don't do this earlier because the
5997 /* Implicitly generated member functions will not have template
6243 member functions to be synthesized, which will result in garbage
6311 /* We can get here when processing a member function template,
6312 member class template, and template template parameter of
6440 int member;
6481 there was a specialization of a member template, like
6538 member = 2;
6540 member = 1;
6546 member = 0;
6566 if (member && DECL_CONV_FN_P (r))
6614 instantiated. We handle the member function case in
6617 if (!member
6641 /* If this is an instantiation of a member template, clone it.
6711 /* We reach here only for member using decls. */
6759 /* T is a static data member or namespace-scope entity.
6777 referencing a static data member within in its own
6874 /* A static data member declaration is always marked
7031 -- Attempting to create "pointer to member of T" when T
7034 error ("creating pointer to member function of non-class type %qT",
7293 member function templates. Otherwise ARG is a
7486 -- Attempting to create "pointer to member of T" when T
7489 error ("creating pointer to member of non-class type %qT", r);
7495 error ("creating pointer to member reference type %qT", type);
7501 error ("creating pointer to member of type void");
7898 /* However, if we're about to form a pointer-to-member, we just
7899 want the referenced member referenced. */
8950 /* If lookup found a member function, the Koenig lookup is
9026 tree member;
9035 member = TREE_OPERAND (t, 1);
9036 if (BASELINK_P (member))
9037 member = tsubst_baselink (member,
9041 member = tsubst_copy (member, args, complain, in_decl);
9042 if (member == error_mark_node)
9047 if (TREE_CODE (member) == BIT_NOT_EXPR)
9051 else if (TREE_CODE (member) == SCOPE_REF
9052 && (TREE_CODE (TREE_OPERAND (member, 1)) == BIT_NOT_EXPR))
9057 else if (TREE_CODE (member) == SCOPE_REF
9058 && TREE_CODE (TREE_OPERAND (member, 1)) == TEMPLATE_ID_EXPR)
9065 tmpl = TREE_OPERAND (TREE_OPERAND (member, 1), 0);
9066 args = TREE_OPERAND (TREE_OPERAND (member, 1), 1);
9067 member = lookup_qualified_name (TREE_OPERAND (member, 0), tmpl,
9070 if (BASELINK_P (member))
9072 BASELINK_FUNCTIONS (member)
9073 = build_nt (TEMPLATE_ID_EXPR, BASELINK_FUNCTIONS (member),
9075 member = (adjust_result_of_qualified_name_lookup
9076 (member, BINFO_TYPE (BASELINK_BINFO (member)),
9081 qualified_name_lookup_error (object_type, tmpl, member);
9085 else if (TREE_CODE (member) == SCOPE_REF
9086 && !CLASS_TYPE_P (TREE_OPERAND (member, 0))
9087 && TREE_CODE (TREE_OPERAND (member, 0)) != NAMESPACE_DECL)
9091 if (TYPE_P (TREE_OPERAND (member, 0)))
9093 TREE_OPERAND (member, 0));
9096 TREE_OPERAND (member, 0));
9100 else if (TREE_CODE (member) == FIELD_DECL)
9101 return finish_non_static_data_member (member, object, NULL_TREE);
9103 return finish_class_member_access_expr (object, member,
9683 a pointer to function or pointer to member function
9766 /* Handle `&x' where `x' is some static or non-static member
9818 to function or pointer to member function argument if the set of
9861 to function or pointer to member function argument if the set of
10350 /* A pointer-to-member constant can be unified only with
10355 /* Just unify the class member. It would be useless (and possibly
10376 A can be another pointer or pointer to member type that can
10594 /* Unify a pointer to member with a pointer to member function, which
10595 deduces the type of the member as a function type. */
10616 /* Extract the cv-qualifiers of the member function from the
10688 /* Called if RESULT is explicitly instantiated, or is a member of an
10771 /* Remove the this parameter from non-static member functions. If
10772 one is a non-static member function and the other is not a static
10773 member function, remove the first parameter from that function
10775 locate both a member function (with this pointer) and non-member
11448 /* Called from do_type_instantiation to instantiate a member
11449 (a member function or a static member variable) of an
11567 Of course, we can't instantiate member template classes, since
11750 EXPL_INST_CLASS_MEM_P is true iff D is a member of an
11770 functions and static member variables. */
11818 /* We should never be trying to instantiate a member of a class
11850 /* If D is a member of an explicitly instantiated class template,
11910 /* If this is a static data member that will be defined
11912 member, but we do want to instantiate the initializer so that
11916 /* The definition of the static data member is now required so
11948 non-exported member function template, or a non-exported
11949 member function or static data member of a class template
12186 either base class or a non-static data member. The TREE_PURPOSEs
12883 /* So are member templates of dependent classes. */