9951415a2b9daf6bfc6711c5f267289764e5a5f9 |
|
16-Jun-2010 |
Douglas Gregor <doug.gregor@gmail.com> |
Canonicalize template template parameters when canonicalizing a template name that refers to such a parameter. It's amazing that this problem didn't surface earlier. Fixes PR7387. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/member-function-template.cpp
|
73ad818becb8f8473cfc562ad556e9802cd786be |
|
05-Feb-2010 |
Douglas Gregor <doug.gregor@gmail.com> |
Fix two issues with the substitution of template template parameters when instantiating the declaration of a member template: - Only check if the have a template template argument at a specific position when we already know that we have template arguments at that level; otherwise, we're substituting for a level-reduced template template parameter. - When trying to find an instantiated declaration for a template template parameter, look into the instantiated scope. This was a typo, where we had two checks for TemplateTypeParmDecl, one of which should have been a TemplateTemplateParmDecl. With these changes, tramp3d-v4 passes -fsyntax-only. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/member-function-template.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/member-function-template.cpp
|
c7fe2da068df4621ab3fd372b2bcb8fd8def8947 |
|
17-Nov-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Require the object type of a member access expression ("." or "->") to be complete. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/member-function-template.cpp
|
d301812deb28eae0e81a36cd35ea2823e87a79af |
|
07-Nov-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Cope with calls to operator() templates. Fixes PR5419. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/member-function-template.cpp
|
681d31d4185cfa8a5378440dee12fc1535e3de99 |
|
03-Sep-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Rewrite of our handling of name lookup in C++ member access expressions, e.g., x->Base::f We no longer try to "enter" the context of the type that "x" points to. Instead, we drag that object type through the parser and pass it into the Sema routines that need to know how to perform lookup within member access expressions. We now implement most of the crazy name lookup rules in C++ [basic.lookup.classref] for non-templated code, including performing lookup both in the context of the type referred to by the member access and in the scope of the member access itself and then detecting ambiguities when the two lookups collide (p1 and p4; p3 and p7 are still TODO). This change also corrects our handling of name lookup within template arguments of template-ids inside the nested-name-specifier (p6; we used to look into the scope of the object expression for them) and fixes PR4703. I have disabled some tests that involve member access expressions where the object expression has dependent type, because we don't yet have the ability to describe dependent nested-name-specifiers starting with an identifier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/member-function-template.cpp
|
d33e328e84080d75879182f882b578ffa7db52ab |
|
01-Sep-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Preliminary AST representation and semantic analysis for explicitly-specified template argument lists in member reference expressions, e.g., x->f<int>() git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/member-function-template.cpp
|
cfa0a63ebe696ba691ffad4963c6945d3d13fa84 |
|
31-Aug-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Add parsing for references to member function templates with explicit template argument lists, e.g., x.f<int>(). Semantic analysis will be a separate commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/member-function-template.cpp
|
6ee3505754a995ce47e91de424cab07631a64248 |
|
22-Aug-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Implement delayed parsing for member function templates. Fixes PR4608. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/member-function-template.cpp
|
1cfe1fadbc3d34e86ed81d415efcb6fb7fe28abc |
|
22-Aug-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Add test taking the address of a member function template and converting it to a member pointer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/member-function-template.cpp
|
050cabf8b5ba0448c07fca099f3bcfceb1ad77a1 |
|
21-Aug-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Introduce support for constructor templates, which can now be declared and will participate in overload resolution. Unify the instantiation of CXXMethodDecls and CXXConstructorDecls, which had already gotten out-of-sync. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/member-function-template.cpp
|
4fdcdda2862ac8c818184ca593ef43ff11469eac |
|
21-Aug-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Implement support for calling member function templates, which involves: - Allowing one to name a member function template within a class template and on the right-hand side of a member access expression. - Template argument deduction for calls to member function templates. - Registering specializations of member function templates (and finding them later). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79581 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/member-function-template.cpp
|
398a801c9b914b01c4f6222c8338448314dd6f4f |
|
21-Aug-2009 |
Douglas Gregor <doug.gregor@gmail.com> |
Initial support for parsing and representation of member function templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/member-function-template.cpp
|