summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/TreeTransform.h
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-05-14 16:34:09 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-05-14 16:34:09 +0000
commit4707cef758e87d37b7205f666005954729a258ef (patch)
tree85c97cb6c967fcbfc9145d3f5064f0bc80093a35 /clang/lib/Sema/TreeTransform.h
parent8d1bc79327bd95bb6a7a415636c77e805afa5f43 (diff)
downloadbcm5719-llvm-4707cef758e87d37b7205f666005954729a258ef.tar.gz
bcm5719-llvm-4707cef758e87d37b7205f666005954729a258ef.zip
Revert r103770, "Added basic source locations to Elaborated and DependentName
types.", it is breaking Clang bootstrap. llvm-svn: 103775
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r--clang/lib/Sema/TreeTransform.h45
1 files changed, 9 insertions, 36 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h
index 4929bf7ba3b..35152617336 100644
--- a/clang/lib/Sema/TreeTransform.h
+++ b/clang/lib/Sema/TreeTransform.h
@@ -3247,22 +3247,22 @@ QualType
TreeTransform<Derived>::TransformElaboratedType(TypeLocBuilder &TLB,
ElaboratedTypeLoc TL,
QualType ObjectType) {
- QualType Named = getDerived().TransformType(TLB, TL.getNamedTypeLoc());
- if (Named.isNull())
- return QualType();
-
ElaboratedType *T = TL.getTypePtr();
NestedNameSpecifier *NNS = 0;
// NOTE: the qualifier in an ElaboratedType is optional.
if (T->getQualifier() != 0) {
NNS = getDerived().TransformNestedNameSpecifier(T->getQualifier(),
- /* FIXME */ SourceRange(),
+ SourceRange(),
ObjectType);
if (!NNS)
return QualType();
}
+ QualType Named = getDerived().TransformType(T->getNamedType());
+ if (Named.isNull())
+ return QualType();
+
QualType Result = TL.getType();
if (getDerived().AlwaysRebuild() ||
NNS != T->getQualifier() ||
@@ -3273,7 +3273,7 @@ TreeTransform<Derived>::TransformElaboratedType(TypeLocBuilder &TLB,
}
ElaboratedTypeLoc NewTL = TLB.push<ElaboratedTypeLoc>(Result);
- NewTL.setKeywordLoc(TL.getKeywordLoc());
+ NewTL.setNameLoc(TL.getNameLoc());
return Result;
}
@@ -3315,36 +3315,9 @@ QualType TreeTransform<Derived>::TransformDependentNameType(TypeLocBuilder &TLB,
if (Result.isNull())
return QualType();
- if (const ElaboratedType* ElabT = Result->getAs<ElaboratedType>()) {
- QualType NamedT = ElabT->getNamedType();
- if (isa<TypedefType>(NamedT)) {
- TypedefTypeLoc NamedTLoc = TLB.push<TypedefTypeLoc>(NamedT);
- NamedTLoc.setNameLoc(TL.getNameLoc());
- }
- else if (isa<RecordType>(NamedT)) {
- RecordTypeLoc NamedTLoc = TLB.push<RecordTypeLoc>(NamedT);
- NamedTLoc.setNameLoc(TL.getNameLoc());
- }
- else if (isa<EnumType>(NamedT)) {
- EnumTypeLoc NamedTLoc = TLB.push<EnumTypeLoc>(NamedT);
- NamedTLoc.setNameLoc(TL.getNameLoc());
- }
- else if (isa<TemplateSpecializationType>(NamedT)) {
- TemplateSpecializationTypeLoc NamedTLoc
- = TLB.push<TemplateSpecializationTypeLoc>(NamedT);
- // FIXME: fill locations
- NamedTLoc.initializeLocal(SourceLocation());
- }
- else
- llvm_unreachable("Unexpected type");
- ElaboratedTypeLoc NewTL = TLB.push<ElaboratedTypeLoc>(Result);
- NewTL.setKeywordLoc(TL.getKeywordLoc());
- }
- else {
- DependentNameTypeLoc NewTL = TLB.push<DependentNameTypeLoc>(Result);
- NewTL.setKeywordLoc(TL.getKeywordLoc());
- NewTL.setNameLoc(TL.getNameLoc());
- }
+ DependentNameTypeLoc NewTL = TLB.push<DependentNameTypeLoc>(Result);
+ NewTL.setNameLoc(TL.getNameLoc());
+
return Result;
}
OpenPOWER on IntegriCloud