summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/TreeTransform.h
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-06-05 06:41:15 +0000
committerJohn McCall <rjmccall@apple.com>2010-06-05 06:41:15 +0000
commitcb0f89a4348c141bef553581779a094ba1c082f1 (patch)
tree6ed8af1f8bd82e87c8613dd08510a7e013a08143 /clang/lib/Sema/TreeTransform.h
parentd73405829b5f300823b1511fc732cdc42383d113 (diff)
downloadbcm5719-llvm-cb0f89a4348c141bef553581779a094ba1c082f1.tar.gz
bcm5719-llvm-cb0f89a4348c141bef553581779a094ba1c082f1.zip
Simplify the methods for creating a pointer, reference, member-pointer,
or block-pointer type by removing the qualifiers parameter. Introduce a method to perform semantic checking when adding qualifiers to a type. llvm-svn: 105526
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r--clang/lib/Sema/TreeTransform.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h
index a18701e61d9..26caaadd499 100644
--- a/clang/lib/Sema/TreeTransform.h
+++ b/clang/lib/Sema/TreeTransform.h
@@ -2405,11 +2405,11 @@ TreeTransform<Derived>::TransformQualifiedType(TypeLocBuilder &TLB,
if (Result->isFunctionType() || Result->isReferenceType())
return Result;
- Result = SemaRef.Context.getQualifiedType(Result, Quals);
-
- TLB.push<QualifiedTypeLoc>(Result);
-
- // No location information to preserve.
+ if (!Quals.empty()) {
+ Result = SemaRef.BuildQualifiedType(Result, T.getBeginLoc(), Quals);
+ TLB.push<QualifiedTypeLoc>(Result);
+ // No location information to preserve.
+ }
return Result;
}
@@ -6185,14 +6185,14 @@ TreeTransform<Derived>::TransformBlockDeclRefExpr(BlockDeclRefExpr *E) {
template<typename Derived>
QualType TreeTransform<Derived>::RebuildPointerType(QualType PointeeType,
SourceLocation Star) {
- return SemaRef.BuildPointerType(PointeeType, Qualifiers(), Star,
+ return SemaRef.BuildPointerType(PointeeType, Star,
getDerived().getBaseEntity());
}
template<typename Derived>
QualType TreeTransform<Derived>::RebuildBlockPointerType(QualType PointeeType,
SourceLocation Star) {
- return SemaRef.BuildBlockPointerType(PointeeType, Qualifiers(), Star,
+ return SemaRef.BuildBlockPointerType(PointeeType, Star,
getDerived().getBaseEntity());
}
@@ -6201,7 +6201,7 @@ QualType
TreeTransform<Derived>::RebuildReferenceType(QualType ReferentType,
bool WrittenAsLValue,
SourceLocation Sigil) {
- return SemaRef.BuildReferenceType(ReferentType, WrittenAsLValue, Qualifiers(),
+ return SemaRef.BuildReferenceType(ReferentType, WrittenAsLValue,
Sigil, getDerived().getBaseEntity());
}
@@ -6210,7 +6210,7 @@ QualType
TreeTransform<Derived>::RebuildMemberPointerType(QualType PointeeType,
QualType ClassType,
SourceLocation Sigil) {
- return SemaRef.BuildMemberPointerType(PointeeType, ClassType, Qualifiers(),
+ return SemaRef.BuildMemberPointerType(PointeeType, ClassType,
Sigil, getDerived().getBaseEntity());
}
OpenPOWER on IntegriCloud