6ff237965f97c96152e52fee566f03af687d86aa |
|
13-Jul-2010 |
Douglas Gregor <doug.gregor@gmail.com> |
When computing the canonical profile of a DeclRefExpr or MemberExpr, don't include the nested-name-specifier or template arguments: they were only relevant when resolving the declaration. Fixes PR7460. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/dependent-type-identity.cpp
|
d83686bcce42cab1184da1f9c6980c238510edd6 |
|
19-May-2010 |
Douglas Gregor <doug.gregor@gmail.com> |
Profile type-dependent uses of overloaded operators in C++ the same way regardless of whether some overloaded operator functions were found by name lookup within the template. Fixes PR6851. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/dependent-type-identity.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/SemaTemplate/dependent-type-identity.cpp
|
c03d3303fb298ae86bf5d5d6c98755928fdbde00 |
|
26-Aug-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Improve support for out-of-line definitions of nested templates and their members, including member class template, member function templates, and member classes and functions of member templates. To actually parse the nested-name-specifiers that qualify the name of an out-of-line definition of a member template, e.g., template<typename X> template<typename Y> X Outer<X>::Inner1<Y>::foo(Y) { return X(); } we need to look for the template names (e.g., "Inner1") as a member of the current instantiation (Outer<X>), even before we have entered the scope of the current instantiation. Since we can't do this in general (i.e., we should not be looking into all dependent nested-name-specifiers as if they were the current instantiation), we rely on the parser to tell us when it is parsing a declaration specifier sequence, and, therefore, when we should consider the current scope specifier to be a current instantiation. Printing of complicated, dependent nested-name-specifiers may be somewhat broken by this commit; I'll add tests for this issue and fix the problem (if it still exists) in a subsequent commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/dependent-type-identity.cpp
|
3eb207002be2bdffddc850aafd21a0a5710ca1c7 |
|
11-May-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Implement the notions of the "current instantiation" and "unknown specialization" within a C++ template, and permit name lookup into the current instantiation. For example, given: template<typename T, typename U> struct X { typedef T type; X* x1; // current instantiation X<T, U> *x2; // current instantiation X<U, T> *x3; // not current instantiation ::X<type, U> *x4; // current instantiation X<typename X<type, U>::type, U>: *x5; // current instantiation }; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/dependent-type-identity.cpp
|
374cbbcce032a22039f208baab7778e2f1f4a0a3 |
|
07-May-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Document the dependent type equivalence test case's purpose. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/dependent-type-identity.cpp
|
c964fb2a3b6dcb3a01f974a33b7be543d31fa285 |
|
07-May-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Test a few more variants of dependent type names git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/dependent-type-identity.cpp
|
905406bd99b8498873a045f93ef196df6fe6cc69 |
|
07-May-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Compute the canonical template name when building a template specialization type for a dependent template name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/dependent-type-identity.cpp
|
b88ba4173268f00ef39cfa6c6804d43ef510646d |
|
07-May-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Start canonicalizing template names. This is not yet complete, but it improves type identity with dependent types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/dependent-type-identity.cpp
|