diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-11-15 00:31:27 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-11-15 00:31:27 +0000 |
commit | af41696bc45c3a4e5e5a4e62f177e87b184eb5e7 (patch) | |
tree | bc8e1cca26b3c7221c68dca0bf03174ac42cf0ee /clang/lib/Sema/SemaTemplate.cpp | |
parent | 37feb2d6a65f84baa4c299871636a49a8e3a8eb9 (diff) | |
download | bcm5719-llvm-af41696bc45c3a4e5e5a4e62f177e87b184eb5e7.tar.gz bcm5719-llvm-af41696bc45c3a4e5e5a4e62f177e87b184eb5e7.zip |
Per [basic.lookup.classref]p3, in an expression of the form p->~type-name, the
type-name is looked up in the context of the complete postfix-expression. Don't
forget to pass the scope into this lookup when the type-name is a template-id;
it might name an alias template which can't be found within the class itself.
Bug spotted by Johannes Schaub on #llvm.
llvm-svn: 168011
Diffstat (limited to 'clang/lib/Sema/SemaTemplate.cpp')
-rw-r--r-- | clang/lib/Sema/SemaTemplate.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp index f56b05406d0..1fa554abd03 100644 --- a/clang/lib/Sema/SemaTemplate.cpp +++ b/clang/lib/Sema/SemaTemplate.cpp @@ -2387,7 +2387,7 @@ TemplateNameKind Sema::ActOnDependentTemplateName(Scope *S, // "template" keyword is now permitted). We follow the C++0x // rules, even in C++03 mode with a warning, retroactively applying the DR. bool MemberOfUnknownSpecialization; - TemplateNameKind TNK = isTemplateName(0, SS, TemplateKWLoc.isValid(), Name, + TemplateNameKind TNK = isTemplateName(S, SS, TemplateKWLoc.isValid(), Name, ObjectType, EnteringContext, Result, MemberOfUnknownSpecialization); if (TNK == TNK_Non_template && LookupCtx->isDependentContext() && |