diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-02-24 00:49:34 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-02-24 00:49:34 +0000 |
commit | 2ab3fee3f392ee0802588e3b9b5714349d6ea2b9 (patch) | |
tree | 8726e4d6dbbe21146a9cf2c02738e27c4bb762d7 /clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | |
parent | 90c9972fb2c388ad319b63ee43d82c81aca07e20 (diff) | |
download | bcm5719-llvm-2ab3fee3f392ee0802588e3b9b5714349d6ea2b9.tar.gz bcm5719-llvm-2ab3fee3f392ee0802588e3b9b5714349d6ea2b9.zip |
Tweak the CXXScopeSpec API a bit, so that we require the
nested-name-specifier and source range to be set at the same time.
llvm-svn: 126347
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiateDecl.cpp')
-rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp index c0150c07bbf..73511fbc7a4 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -670,8 +670,7 @@ Decl *TemplateDeclInstantiator::VisitClassTemplateDecl(ClassTemplateDecl *D) { if (isFriend) { if (Qualifier) { CXXScopeSpec SS; - SS.setScopeRep(Qualifier); - SS.setRange(Pattern->getQualifierRange()); + SS.Adopt(Qualifier, Pattern->getQualifierRange()); DC = SemaRef.computeDeclContext(SS); if (!DC) return 0; } else { @@ -984,8 +983,7 @@ Decl *TemplateDeclInstantiator::VisitFunctionDecl(FunctionDecl *D, DC = Owner; else if (isFriend && Qualifier) { CXXScopeSpec SS; - SS.setScopeRep(Qualifier); - SS.setRange(D->getQualifierRange()); + SS.Adopt(Qualifier, D->getQualifierRange()); DC = SemaRef.computeDeclContext(SS); if (!DC) return 0; } else { @@ -1274,8 +1272,7 @@ TemplateDeclInstantiator::VisitCXXMethodDecl(CXXMethodDecl *D, if (isFriend) { if (Qualifier) { CXXScopeSpec SS; - SS.setScopeRep(Qualifier); - SS.setRange(D->getQualifierRange()); + SS.Adopt(Qualifier, D->getQualifierRange()); DC = SemaRef.computeDeclContext(SS); if (DC && SemaRef.RequireCompleteDeclContext(SS, DC)) @@ -1691,8 +1688,7 @@ Decl *TemplateDeclInstantiator::VisitUsingDecl(UsingDecl *D) { D->isTypeName()); CXXScopeSpec SS; - SS.setScopeRep(NNS); - SS.setRange(D->getNestedNameRange()); + SS.Adopt(NNS, D->getNestedNameRange()); if (CheckRedeclaration) { Prev.setHideTags(false); @@ -1760,8 +1756,7 @@ Decl * TemplateDeclInstantiator return 0; CXXScopeSpec SS; - SS.setRange(D->getTargetNestedNameRange()); - SS.setScopeRep(NNS); + SS.Adopt(NNS, D->getTargetNestedNameRange()); // Since NameInfo refers to a typename, it cannot be a C++ special name. // Hence, no tranformation is required for it. @@ -1787,8 +1782,7 @@ Decl * TemplateDeclInstantiator return 0; CXXScopeSpec SS; - SS.setRange(D->getTargetNestedNameRange()); - SS.setScopeRep(NNS); + SS.Adopt(NNS, D->getTargetNestedNameRange()); DeclarationNameInfo NameInfo = SemaRef.SubstDeclarationNameInfo(D->getNameInfo(), TemplateArgs); |