History log of /external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1f2e1a96bec2ba6418ae7f2d2b525a3575203b6a 10-Aug-2012 John McCall <rjmccall@apple.com> Check access to friend declarations. There's a number of different
things going on here that were problematic:
- We were missing the actual access check, or rather, it was suppressed
on account of being a redeclaration lookup.
- The access check would naturally happen during delay, which isn't
appropriate in this case.
- We weren't actually emitting dependent diagnostics associated with
class templates, which was unfortunate.
- Access was being propagated incorrectly for friend method declarations
that couldn't be matched at parse-time.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
33ab0da4b50c0868f0dbbbbb8d018b44acd2bd4d 09-Oct-2011 Douglas Gregor <dgregor@apple.com> A friend template specialization is also dependent if any of its
template arguments are dependent. Fixes PR10913.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
4e2cbb28baa0342b51336e55c519cd06308c4df2 20-Oct-2010 John McCall <rjmccall@apple.com> When matching template parameter lists to template-ids in a scope specifier
on a friend declaration, skip template-ids which do not depend on the
current parameter list.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
c54d688c604d28dcb9ab8f92047837c10c8f9c61 19-Oct-2010 John McCall <rjmccall@apple.com> When instantiating a dependently-scoped friend function declaration,
we may need to complete the type before looking into it.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
0d6b1640eb4d1a4a0203235cfdfcdaf3335af36d 23-Apr-2010 John McCall <rjmccall@apple.com> Recommit my change to how C++ does elaborated type lookups, now with
two bugfixes which fix selfhost and (hopefully) the nightly tests.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
00b40d3f2fb8b2f9043daf3dd4558bff98346b3c 23-Apr-2010 Daniel Dunbar <daniel@zuster.org> Revert "C++ doesn't really use "namespaces" for different kinds of names the same", which seems to break most C++ nightly test apps.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
d04efc98d08731e31bd73f430803acc5ffa9040a 23-Apr-2010 John McCall <rjmccall@apple.com> C++ doesn't really use "namespaces" for different kinds of names the same
way that C does. Among other differences, elaborated type specifiers
are defined to skip "non-types", which, as you might imagine, does not
include typedefs. Rework our use of IDNS masks to capture the semantics
of different kinds of declarations better, and remove most current lookup
filters. Removing the last remaining filter is more complicated and will
happen in a separate patch.

Fixes PR 6885 as well some spectrum of unfiled bugs.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
74256f5ea6950c9fd34595aa124eb4740372f15c 14-Apr-2010 John McCall <rjmccall@apple.com> Parse friend template ids as types instead of ending up in
ActOnClassTemplateSpecialization and being very confused.
Fixes PR6514 (for non-templated-scope friends).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
21c0160959961b3a6ab3308608ee3fde182ecb49 14-Apr-2010 John McCall <rjmccall@apple.com> Fix an embarrasing memory error. I was apparently very tired when I wrote this
code the first time.

Fixes PR6827.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
7002f4c03c2d0544f4e8bea8d3a5636519081e35 09-Apr-2010 John McCall <rjmccall@apple.com> Turn access control on by default in -cc1.
Remove -faccess-control from -cc1; add -fno-access-control.
Make the driver pass -fno-access-control by default.
Update a bunch of tests to be correct under access control.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
ea7390c7b384ce607bfc8fc13c01f37cfc3776f0 08-Apr-2010 John McCall <rjmccall@apple.com> Set access properly on instantiated friend class template declarations.
Fixes PR6752.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
af2094e7cecadf36667deb61a83587ffdd979bd3 08-Apr-2010 John McCall <rjmccall@apple.com> Implement dependent friend function template specializations.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
b0cb022daec8671406ab25f4b5d5a6d48d823bc4 27-Mar-2010 John McCall <rjmccall@apple.com> Implement method friends in class templates and fix a few related problems.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
d325daa506338ab86f9dd468b48fd010673f49a6 26-Mar-2010 John McCall <rjmccall@apple.com> Reapply r99596 with a fix: link an instantiated friend function to its
pattern if it has a body.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
a7bc8559b40a78d664d6c7faf4b42ff21184c146 26-Mar-2010 John McCall <rjmccall@apple.com> Apparently that didn't work. Reverting for now.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
d7e29e114d20da5b83e0cb7bc29ec717a7458cb1 26-Mar-2010 John McCall <rjmccall@apple.com> Properly instantiate and link in friend function templates.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
9c86b513cb42ea6d9e3f98cb2b7eda39a2eb526b 25-Mar-2010 John McCall <rjmccall@apple.com> Handle simple friend-class decls in class templates better by ensuring that
we look for shadow friend decls in the appropriate scope before injecting
a new declaration.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
93ba8579c341d5329175f1413cdc3b35a36592d2 25-Mar-2010 John McCall <rjmccall@apple.com> Properly instantiate friend class template declarations and link them into
the redeclaration chain. Recommitted from r99477 with a fix: we need to
merge in default template arguments from previous declarations.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
e131c574c7baa28eb0759181478d710a2aa60cb6 25-Mar-2010 Bob Wilson <bob.wilson@apple.com> Revert 99477 since it appears to be breaking the clang-x86_64-darwin10-fnt
buildbot. The tramp3d test fails.
--- Reverse-merging r99477 into '.':
U test/SemaTemplate/friend-template.cpp
U test/CXX/temp/temp.decls/temp.friend/p1.cpp
U lib/Sema/SemaTemplateInstantiateDecl.cpp
U lib/Sema/SemaAccess.cpp


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
a56623b01ed9f28f10416432d147c7a1729d5f1d 25-Mar-2010 John McCall <rjmccall@apple.com> Properly instantiate and link in friend-class-template declarations.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
036ada215d2c53e6a286b42d7cbd2386b0007516 24-Mar-2010 Douglas Gregor <dgregor@apple.com> Silently drop dependent friend function template specializations,
since we have absolutely no way to match them when they are declared
nor do we have a way to represent these parsed-but-not-checked friend
declarations.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
7ad650f88ecbbe659f10f9f6b34a1f29ea9cf8f9 24-Mar-2010 John McCall <rjmccall@apple.com> Support friend function specializations.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
0c01d18094100db92d38daa923c95661512db203 24-Mar-2010 John McCall <rjmccall@apple.com> Implement a framework for the delay of arbitrary diagnostics within
templates. So delay access-control diagnostics when (for example) the target
of a friend declaration is a specific specialization of a template.

I was surprised to find that this was required for an access-controlled selfhost.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
a742db0032d8f458fe229600d2082981a1fb1481 17-Mar-2010 John McCall <rjmccall@apple.com> Implement non-dependent friend functions and classes.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 15-Dec-2009 Daniel Dunbar <daniel@zuster.org> Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.
- This is designed to make it obvious that %clang_cc1 is a "test variable"
which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
can be useful to redefine what gets run as 'clang -cc1' (for example, to set
a default target).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
6b2becfc434b0bdced8560802c4d0e03148c61b8 08-Sep-2009 John McCall <rjmccall@apple.com> Support templateids in friend declarations. Fixes bug 4859.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
82b9fb8e7a05066e690670d2eb386a624b04f684 02-Sep-2009 John McCall <rjmccall@apple.com> Borrow a friend class's previous declaration's access specifier regardless of
whether the current context is dependent.

Thanks to Anders for pointing this out.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
1a26c27eba32f8766c0eeec73fe43634cd814825 02-Sep-2009 John McCall <rjmccall@apple.com> Fix a little crasher in friend decls. Thanks again to Eli for finding this.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
2a29c4b6ef710de49b1fd72902d6930033edae24 29-Aug-2009 John McCall <rjmccall@apple.com> Fix a last-minute typo and make the test not emit temporaries.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
f181d8a44f5837213eeaee6d71f584b1ab2849cd 29-Aug-2009 John McCall <rjmccall@apple.com> Ensure code generation for friend declarations in class templates.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
02cace78cf48cc26686bd5b07c78606abca13bcd 28-Aug-2009 John McCall <rjmccall@apple.com> Omnibus friend decl refactoring. Instead of cloning AST classes for friend
declarations of same, introduce a single AST class and add appropriate bits
(encoded in the namespace) for whether a decl is "real" or not. Much hackery
about previously-declared / not-previously-declared, but it's essentially
mandated by the standard that friends alter lookup, and this is at least
fairly non-intrusive.

Refactor the Sema methods specific to friends for cleaner flow and less nesting.

Incidentally solve a few bugs, but I remain confident that we can put them back.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
fd810b1386ed29b250e7d522ea826a65c815e49d 14-Aug-2009 John McCall <rjmccall@apple.com> Support friend declarations in templates and test that argdep lookup
still works.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp