Lines Matching full:friend
559 // Handle friend type expressions by simply substituting template
563 // If this is an unsupported friend, don't bother substituting template
566 // same info for the instantiated friend.
588 assert(ND && "friend decl must be a decl or a type!");
590 // All of the Visit implementations for the various potential friend
591 // declarations have to be carefully written to work for friend
780 // we're a friend declaration, because if we are then we need to put
802 // If this isn't a friend, then it's a member template, in which
804 // specialization. If it is a friend, we want to build it in
842 // HACK: libstdc++ 4.2.1 contains an ill-formed friend class
844 // template parameters of the friend declaration don't match the
846 // case, we don't complain about the ill-formed friend
912 // friend target decl?
1012 // non-definition friend declaration.
1051 // the tag decls introduced by friend class declarations don't have an access
1058 // If the original function was part of a friend declaration,
1101 /// 2) substituting friend declarations
1214 // template<typename U> friend void f(T, U);
1219 // We are instantiating the friend function template "f" within X<int>,
1220 // which means substituting int for T, but leaving "f" as a friend function
1233 // the friend declaration provided a body?
1247 // Note, we need this connection even if the friend doesn't have a body.
1251 // friend function declaration, however that would require finding all the
1266 assert(isFriend && "non-friend has dependent specialization info?");
1296 // Look only into the namespace where the friend would be declared to
1316 // If the original function was part of a friend declaration,
1330 // C++98 [temp.friend]p5: When a function is defined in a friend function
1334 // C++11 [temp.friend]p4: When a function is defined in a friend function
1359 // a similar friend function.
1624 // Propagate access. For a non-friend declaration, the access is
1625 // whatever we're propagating from. For a friend, it should be the