diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-03-01 15:34:37 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-03-01 15:34:37 +0000 |
commit | 44cd9f9d686dfdb9ad16113c41c2dca1da35a646 (patch) | |
tree | 1f66d56d8398a8248fdf9fc1ef9f8ceb91187a74 /lib/Sema/TreeTransform.h | |
parent | 9c094fbcfaba49fc1aeca119c0e12bec59779692 (diff) |
Revert r126737, the most recent nested-name-specifier location change, for buildbot breakage.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126746 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/TreeTransform.h')
-rw-r--r-- | lib/Sema/TreeTransform.h | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/lib/Sema/TreeTransform.h b/lib/Sema/TreeTransform.h index 5485dfb7e4..c7a11de1aa 100644 --- a/lib/Sema/TreeTransform.h +++ b/lib/Sema/TreeTransform.h @@ -723,11 +723,8 @@ public: /// Subclasses may override this routine to provide different behavior. QualType RebuildElaboratedType(SourceLocation KeywordLoc, ElaboratedTypeKeyword Keyword, - NestedNameSpecifierLoc QualifierLoc, - QualType Named) { - return SemaRef.Context.getElaboratedType(Keyword, - QualifierLoc.getNestedNameSpecifier(), - Named); + NestedNameSpecifier *NNS, QualType Named) { + return SemaRef.Context.getElaboratedType(Keyword, NNS, Named); } /// \brief Build a new typename type that refers to a template-id. @@ -4439,12 +4436,12 @@ TreeTransform<Derived>::TransformElaboratedType(TypeLocBuilder &TLB, ElaboratedTypeLoc TL) { const ElaboratedType *T = TL.getTypePtr(); - NestedNameSpecifierLoc QualifierLoc; + NestedNameSpecifier *NNS = 0; // NOTE: the qualifier in an ElaboratedType is optional. - if (TL.getQualifierLoc()) { - QualifierLoc - = getDerived().TransformNestedNameSpecifierLoc(TL.getQualifierLoc()); - if (!QualifierLoc) + if (T->getQualifier() != 0) { + NNS = getDerived().TransformNestedNameSpecifier(T->getQualifier(), + TL.getQualifierRange()); + if (!NNS) return QualType(); } @@ -4454,18 +4451,18 @@ TreeTransform<Derived>::TransformElaboratedType(TypeLocBuilder &TLB, QualType Result = TL.getType(); if (getDerived().AlwaysRebuild() || - QualifierLoc != TL.getQualifierLoc() || + NNS != T->getQualifier() || NamedT != T->getNamedType()) { Result = getDerived().RebuildElaboratedType(TL.getKeywordLoc(), - T->getKeyword(), - QualifierLoc, NamedT); + T->getKeyword(), NNS, NamedT); if (Result.isNull()) return QualType(); } ElaboratedTypeLoc NewTL = TLB.push<ElaboratedTypeLoc>(Result); NewTL.setKeywordLoc(TL.getKeywordLoc()); - NewTL.setQualifierLoc(QualifierLoc); + NewTL.setQualifierRange(TL.getQualifierRange()); + return Result; } @@ -4553,7 +4550,7 @@ QualType TreeTransform<Derived>::TransformDependentNameType(TypeLocBuilder &TLB, ElaboratedTypeLoc NewTL = TLB.push<ElaboratedTypeLoc>(Result); NewTL.setKeywordLoc(TL.getKeywordLoc()); - NewTL.setQualifierLoc(QualifierLoc); + NewTL.setQualifierRange(QualifierLoc.getSourceRange()); } else { DependentNameTypeLoc NewTL = TLB.push<DependentNameTypeLoc>(Result); NewTL.setKeywordLoc(TL.getKeywordLoc()); @@ -4624,12 +4621,7 @@ QualType TreeTransform<Derived>:: // Copy information relevant to the elaborated type. ElaboratedTypeLoc NewTL = TLB.push<ElaboratedTypeLoc>(Result); NewTL.setKeywordLoc(TL.getKeywordLoc()); - - // FIXME: DependentTemplateSpecializationType needs better source-location - // info. - NestedNameSpecifierLocBuilder Builder; - Builder.MakeTrivial(SemaRef.Context, NNS, TL.getQualifierRange()); - NewTL.setQualifierLoc(Builder.getWithLocInContext(SemaRef.Context)); + NewTL.setQualifierRange(TL.getQualifierRange()); } else { TypeLoc NewTL(Result, TL.getOpaqueData()); TLB.pushFullCopy(NewTL); |