9f0f3cd94ac992bc6714b49ffe5272521ce12d77 |
|
25-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Add test for PR8629 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-template-template-parm.cpp
|
9f6f6a107287bd81aedab8b578216535b0b51d0f |
|
10-Dec-2010 |
Peter Collingbourne <peter@pcc.me.uk> |
Do not substitute template types if template has dependent context We should not substitute template types if the template has a dependent context because the template argument stack is not yet fully formed. Instead, defer substitution until the template has a non-dependent context (i.e. instantiation of an outer template). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-template-template-parm.cpp
|
52bb5d2a1474460707e5ca11656b2749a7a33a82 |
|
16-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
In Sema::CheckInitializerTypes, replace a use of CheckReferenceInit with an InitializationSequence git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-template-template-parm.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/SemaTemplate/instantiate-template-template-parm.cpp
|
fb898e17cff919bd28b88e9d93301d6e2cc5cbd1 |
|
12-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
When comparing template parameter lists, distinguish between three cases: - Comparing template parameter lists to determine if we have a redeclaration - Comparing template parameter lists to determine if we have equivalent template template parameters - Comparing template parameter lists to determine whether a template template argument is valid for a given template template parameter. Previously, we did not distinguish between the last two cases, which got us into trouble when we were looking for exact type matches between the types of non-type template parameters that were dependent types. Now we do, so we properly delay checking of template template arguments until instantiation time. Also, fix an accidental fall-through in a case statement that was causing crashes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-template-template-parm.cpp
|
9148c3f5829f4d031249faeb1043e7be914539e8 |
|
11-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Before checking a template template argument against its corresponding template template parameter, substitute any prior template arguments into the template template parameter. This, for example, allows us to properly check the template template argument for a class such as: template<typename T, template<T Value> class X> struct Foo; The actual implementation of this feature was trivial; most of the change is dedicated to giving decent diagnostics when this substitution goes horribly wrong. We now get a note like: note: while substituting prior template arguments into template template parameter 'X' [with T = float] As part of this change, enabled some very pedantic checking when comparing template template parameter lists, which shook out a bug in our overly-eager checking of default arguments of template template parameters. We now perform only minimal checking of such default arguments when they are initially parsed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-template-template-parm.cpp
|
de650ae96b53eb6109f29fdb5ee51c514259e6e4 |
|
31-Mar-2009 |
Douglas Gregor <dgregor@apple.com> |
Implement template instantiation for template names, including both template template parameters and dependent template names. For example, the oft-mentioned typename MetaFun::template apply<T1, T2>::type can now be instantiated, with the appropriate name lookup for "apply". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-template-template-parm.cpp
|