Ping.
On Wed, Apr 16, 2014 at 8:38 PM, Nikola Smiljanic <popiz...@gmail.com>wrote: > LocStart in CheckFriendTypeDecl is the start of DeclSpec range. This is OK > for checking that declaration starts with 'friend' keyword but is redundant > when it comes to FriendDecl creation. Location of the keyword is already > passed as FriendLoc. > > I've added another parameter to this function that points to location of > the type from the declaration. The call to CheckFriendTypeDecl from > SemaTemplateInstantiateDecl now isn't technically correct because it's > passing the the type location as LocStart. But the error that's checked for > using this parameter can only happen inside class declaration, not > instantiated template, I think :) > > Is there a way to test this? I'm not seeing any regressions. > > struct A{}; > typedef A Atypedef; > > namespace ns { struct B{}; } > > template <typename T> > class C > { > friend class A; // points to A > friend Atypedef; // points to Atypedef > friend T; // points to T > friend decltype(whatever); // points to decltype > friend ns::B; // points to B > friend typename T::something; // points to something > } >
_______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits