3fd7ab3de7dc0ca3e7aed74c641b5c5d10e07081 |
|
15-Oct-2010 |
Douglas Gregor <doug.gregor@gmail.com> |
Make sure that we diagnose invalid qualifiers on friend functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/class/class.friend/p1.cpp
|
98624359b74071fdf2575b5b1afb5d3a3a86b4a3 |
|
10-Mar-2010 |
John McCall <rjmccall@apple.com> |
When pretty-printing tag types, only print the tag if we're in C (and therefore not creating ElaboratedTypes, which are still pretty-printed with the written tag). Most of these testcase changes were done by script, so don't feel too sorry for my fingers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/class/class.friend/p1.cpp
|
3573b2c84372d9484296fa658f5276f6c09acb92 |
|
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/class/class.friend/p1.cpp
|
65365455dc48e8382aab5079aa2e23ed5ab65eb3 |
|
14-Oct-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Improve diagnostics when the parser encounters a declarator with an unknown type name, e.g., foo::bar x; when "bar" does not refer to a type in "foo". With this change, the parser now calls into the action to perform diagnostics and can try to recover by substituting in an appropriate type. For example, this allows us to easily diagnose some missing "typename" specifiers, which we now do: test/SemaCXX/unknown-type-name.cpp:29:1: error: missing 'typename' prior to dependent type name 'A<T>::type' A<T>::type A<T>::f() { return type(); } ^~~~~~~~~~ typename Fixes PR3990. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84053 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/class/class.friend/p1.cpp
|
27d1de3a006a4fd7b4d5bcbab7e43c2c06c8d652 |
|
02-Sep-2009 |
John McCall <rjmccall@apple.com> |
When adding a friend class declaration to the lookup tables, use the access specifier of any previous declaration in case we replace it in a class's declaration table. Fixes bug 4858. This sort of thing makes me reconsider putting friend declarations in declaration lists. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/class/class.friend/p1.cpp
|
31812be8a6ad32139a8837b61461f8ddc29d214c |
|
02-Sep-2009 |
John McCall <rjmccall@apple.com> |
Ensure that the tag decls of friend decls aren't added to the friending class's decl list, and remove some workarounds that were due to this. Thanks to Eli for pointing this out and providing the test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/class/class.friend/p1.cpp
|
7de15913bed5143cebaf1ea32eba3d26a9e4ae83 |
|
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/class/class.friend/p1.cpp
|
e8773040a1eb95ad7cf2eaac504a45945ea171a8 |
|
25-Aug-2009 |
John McCall <rjmccall@apple.com> |
Modify an assert to capture the restriction on friend declarations more accurately. Prevents the assert from triggering incorrectly when friending functions first declared in extern "C" contexts. Fixes bug 4757. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/class/class.friend/p1.cpp
|
392245a58d4fe55d5c73427c97a8c7b319108880 |
|
06-Aug-2009 |
John McCall <rjmccall@apple.com> |
Permit a class to friend its members in C++0x, without restriction. Permit a class to friend its class members in C++ 98, as long as extensions are enabled (and even when they aren't, only give an extwarn about it). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/class/class.friend/p1.cpp
|
140607b259f8139dcc2db963e44c8a37299d76f5 |
|
06-Aug-2009 |
John McCall <rjmccall@apple.com> |
First pass at friend semantics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/class/class.friend/p1.cpp
|