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 | 9ddba32f25c0315cd3a6c7b63e0275b27cc1d973 (patch) | |
tree | 1ed103acd161d72be78ffbf3906c8b01d600e4f1 /lib/Sema/SemaTemplateInstantiateDecl.cpp | |
parent | 2e4c34ac53d08633b9473df921db4c7e4c9cd577 (diff) |
Tweak the CXXScopeSpec API a bit, so that we require the
nested-name-specifier and source range to be set at the same time.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126347 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaTemplateInstantiateDecl.cpp')
-rw-r--r-- | lib/Sema/SemaTemplateInstantiateDecl.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/lib/Sema/SemaTemplateInstantiateDecl.cpp b/lib/Sema/SemaTemplateInstantiateDecl.cpp index c0150c07bb..73511fbc7a 100644 --- a/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/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); |