summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/AST/ASTContext.cpp36
-rw-r--r--clang/lib/AST/ExprConstant.cpp4
-rw-r--r--clang/lib/AST/Type.cpp88
-rw-r--r--clang/lib/AST/TypeSerialization.cpp12
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.cpp2
-rw-r--r--clang/lib/CodeGen/CodeGenTypes.cpp4
-rw-r--r--clang/lib/Sema/SemaExpr.cpp2
-rw-r--r--clang/lib/Sema/SemaType.cpp2
8 files changed, 75 insertions, 75 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index d2de4c37c0e..32a6c7d4c6a 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -380,10 +380,10 @@ ASTContext::getTypeInfo(const Type *T) {
Width = std::max(llvm::NextPowerOf2(Width - 1), (uint64_t)8);
Align = Width;
break;
- case Type::ASQual:
+ case Type::ExtQual:
// FIXME: Pointers into different addr spaces could have different sizes and
// alignment requirements: getPointerInfo should take an AddrSpace.
- return getTypeInfo(QualType(cast<ASQualType>(T)->getBaseType(), 0));
+ return getTypeInfo(QualType(cast<ExtQualType>(T)->getBaseType(), 0));
case Type::ObjCQualifiedId:
Width = Target.getPointerWidth(0);
Align = Target.getPointerAlign(0);
@@ -712,12 +712,12 @@ const ASTRecordLayout &ASTContext::getASTRecordLayout(const RecordDecl *D) {
// Type creation/memoization methods
//===----------------------------------------------------------------------===//
-QualType ASTContext::getASQualType(QualType T, unsigned AddressSpace) {
+QualType ASTContext::getAddrSpaceQualType(QualType T, unsigned AddressSpace) {
QualType CanT = getCanonicalType(T);
if (CanT.getAddressSpace() == AddressSpace)
return T;
- // Type's cannot have multiple ASQuals, therefore we know we only have to deal
+ // Type's cannot have multiple ExtQuals, therefore we know we only have to deal
// with CVR qualifiers from here on out.
assert(CanT.getAddressSpace() == 0 &&
"Type is already address space qualified");
@@ -725,24 +725,24 @@ QualType ASTContext::getASQualType(QualType T, unsigned AddressSpace) {
// Check if we've already instantiated an address space qual'd type of this
// type.
llvm::FoldingSetNodeID ID;
- ASQualType::Profile(ID, T.getTypePtr(), AddressSpace);
+ ExtQualType::Profile(ID, T.getTypePtr(), AddressSpace);
void *InsertPos = 0;
- if (ASQualType *ASQy = ASQualTypes.FindNodeOrInsertPos(ID, InsertPos))
- return QualType(ASQy, 0);
+ if (ExtQualType *EXTQy = ExtQualTypes.FindNodeOrInsertPos(ID, InsertPos))
+ return QualType(EXTQy, 0);
// If the base type isn't canonical, this won't be a canonical type either,
// so fill in the canonical type field.
QualType Canonical;
if (!T->isCanonical()) {
- Canonical = getASQualType(CanT, AddressSpace);
+ Canonical = getAddrSpaceQualType(CanT, AddressSpace);
// Get the new insert position for the node we care about.
- ASQualType *NewIP = ASQualTypes.FindNodeOrInsertPos(ID, InsertPos);
+ ExtQualType *NewIP = ExtQualTypes.FindNodeOrInsertPos(ID, InsertPos);
assert(NewIP == 0 && "Shouldn't be in the map!"); NewIP = NewIP;
}
- ASQualType *New = new (*this, 8) ASQualType(T.getTypePtr(), Canonical,
- AddressSpace);
- ASQualTypes.InsertNode(New, InsertPos);
+ ExtQualType *New = new (*this, 8) ExtQualType(T.getTypePtr(), Canonical,
+ AddressSpace);
+ ExtQualTypes.InsertNode(New, InsertPos);
Types.push_back(New);
return QualType(New, T.getCVRQualifiers());
}
@@ -1470,7 +1470,7 @@ const ArrayType *ASTContext::getAsArrayType(QualType T) {
// Handle the common negative case fast, ignoring CVR qualifiers.
QualType CType = T->getCanonicalTypeInternal();
- // Make sure to look through type qualifiers (like ASQuals) for the negative
+ // Make sure to look through type qualifiers (like ExtQuals) for the negative
// test.
if (!isa<ArrayType>(CType) &&
!isa<ArrayType>(CType.getUnqualifiedType()))
@@ -1487,11 +1487,11 @@ const ArrayType *ASTContext::getAsArrayType(QualType T) {
unsigned AddrSpace = 0;
Type *Ty = T.getTypePtr();
- // Rip through ASQualType's and typedefs to get to a concrete type.
+ // Rip through ExtQualType's and typedefs to get to a concrete type.
while (1) {
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(Ty)) {
- AddrSpace = ASQT->getAddressSpace();
- Ty = ASQT->getBaseType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(Ty)) {
+ AddrSpace = EXTQT->getAddressSpace();
+ Ty = EXTQT->getBaseType();
} else {
T = Ty->getDesugaredType();
if (T.getTypePtr() == Ty && T.getCVRQualifiers() == 0)
@@ -1512,7 +1512,7 @@ const ArrayType *ASTContext::getAsArrayType(QualType T) {
// This can recursively sink qualifiers through multiple levels of arrays.
QualType NewEltTy = ATy->getElementType();
if (AddrSpace)
- NewEltTy = getASQualType(NewEltTy, AddrSpace);
+ NewEltTy = getAddrSpaceQualType(NewEltTy, AddrSpace);
NewEltTy = NewEltTy.getWithAdditionalQualifiers(CVRQuals);
if (const ConstantArrayType *CAT = dyn_cast<ConstantArrayType>(ATy))
diff --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp
index 3a3b1527fa4..7b3e64908a4 100644
--- a/clang/lib/AST/ExprConstant.cpp
+++ b/clang/lib/AST/ExprConstant.cpp
@@ -959,8 +959,8 @@ unsigned IntExprEvaluator::GetAlignOfType(QualType T) {
if (Ty->isFunctionType())
return 4;
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(Ty))
- return GetAlignOfType(QualType(ASQT->getBaseType(), 0));
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(Ty))
+ return GetAlignOfType(QualType(EXTQT->getBaseType(), 0));
// alignof VLA/incomplete array.
if (const ArrayType *VAT = dyn_cast<ArrayType>(Ty))
diff --git a/clang/lib/AST/Type.cpp b/clang/lib/AST/Type.cpp
index ad5026b98b2..0edc6ee7f73 100644
--- a/clang/lib/AST/Type.cpp
+++ b/clang/lib/AST/Type.cpp
@@ -94,7 +94,7 @@ QualType Type::getDesugaredType() const {
bool Type::isVoidType() const {
if (const BuiltinType *BT = dyn_cast<BuiltinType>(CanonicalType))
return BT->getKind() == BuiltinType::Void;
- if (const ASQualType *AS = dyn_cast<ASQualType>(CanonicalType))
+ if (const ExtQualType *AS = dyn_cast<ExtQualType>(CanonicalType))
return AS->getBaseType()->isVoidType();
return false;
}
@@ -102,15 +102,15 @@ bool Type::isVoidType() const {
bool Type::isObjectType() const {
if (isa<FunctionType>(CanonicalType) || isa<ReferenceType>(CanonicalType))
return false;
- if (const ASQualType *AS = dyn_cast<ASQualType>(CanonicalType))
+ if (const ExtQualType *AS = dyn_cast<ExtQualType>(CanonicalType))
return AS->getBaseType()->isObjectType();
return !CanonicalType->isIncompleteType();
}
bool Type::isDerivedType() const {
switch (CanonicalType->getTypeClass()) {
- case ASQual:
- return cast<ASQualType>(CanonicalType)->getBaseType()->isDerivedType();
+ case ExtQual:
+ return cast<ExtQualType>(CanonicalType)->getBaseType()->isDerivedType();
case Pointer:
case VariableArray:
case ConstantArray:
@@ -145,7 +145,7 @@ bool Type::isUnionType() const {
bool Type::isComplexType() const {
if (const ComplexType *CT = dyn_cast<ComplexType>(CanonicalType))
return CT->getElementType()->isFloatingType();
- if (const ASQualType *AS = dyn_cast<ASQualType>(CanonicalType))
+ if (const ExtQualType *AS = dyn_cast<ExtQualType>(CanonicalType))
return AS->getBaseType()->isComplexType();
return false;
}
@@ -154,7 +154,7 @@ bool Type::isComplexIntegerType() const {
// Check for GCC complex integer extension.
if (const ComplexType *CT = dyn_cast<ComplexType>(CanonicalType))
return CT->getElementType()->isIntegerType();
- if (const ASQualType *AS = dyn_cast<ASQualType>(CanonicalType))
+ if (const ExtQualType *AS = dyn_cast<ExtQualType>(CanonicalType))
return AS->getBaseType()->isComplexIntegerType();
return false;
}
@@ -169,7 +169,7 @@ const ComplexType *Type::getAsComplexIntegerType() const {
// If the canonical form of this type isn't what we want, reject it.
if (!isa<ComplexType>(CanonicalType)) {
- // Look through type qualifiers (e.g. ASQualType's).
+ // Look through type qualifiers (e.g. ExtQualType's).
if (isa<ComplexType>(CanonicalType.getUnqualifiedType()))
return CanonicalType.getUnqualifiedType()->getAsComplexIntegerType();
return 0;
@@ -187,7 +187,7 @@ const BuiltinType *Type::getAsBuiltinType() const {
// If the canonical form of this type isn't a builtin type, reject it.
if (!isa<BuiltinType>(CanonicalType)) {
- // Look through type qualifiers (e.g. ASQualType's).
+ // Look through type qualifiers (e.g. ExtQualType's).
if (isa<BuiltinType>(CanonicalType.getUnqualifiedType()))
return CanonicalType.getUnqualifiedType()->getAsBuiltinType();
return 0;
@@ -514,8 +514,8 @@ bool Type::isIntegerType() const {
return true;
if (const VectorType *VT = dyn_cast<VectorType>(CanonicalType))
return VT->getElementType()->isIntegerType();
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isIntegerType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isIntegerType();
return false;
}
@@ -529,24 +529,24 @@ bool Type::isIntegralType() const {
// FIXME: In C++, enum types are never integral.
if (isa<FixedWidthIntType>(CanonicalType))
return true;
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isIntegralType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isIntegralType();
return false;
}
bool Type::isEnumeralType() const {
if (const TagType *TT = dyn_cast<TagType>(CanonicalType))
return TT->getDecl()->isEnum();
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isEnumeralType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isEnumeralType();
return false;
}
bool Type::isBooleanType() const {
if (const BuiltinType *BT = dyn_cast<BuiltinType>(CanonicalType))
return BT->getKind() == BuiltinType::Bool;
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isBooleanType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isBooleanType();
return false;
}
@@ -556,16 +556,16 @@ bool Type::isCharType() const {
BT->getKind() == BuiltinType::UChar ||
BT->getKind() == BuiltinType::Char_S ||
BT->getKind() == BuiltinType::SChar;
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isCharType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isCharType();
return false;
}
bool Type::isWideCharType() const {
if (const BuiltinType *BT = dyn_cast<BuiltinType>(CanonicalType))
return BT->getKind() == BuiltinType::WChar;
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isWideCharType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isWideCharType();
return false;
}
@@ -588,8 +588,8 @@ bool Type::isSignedIntegerType() const {
if (const VectorType *VT = dyn_cast<VectorType>(CanonicalType))
return VT->getElementType()->isSignedIntegerType();
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isSignedIntegerType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isSignedIntegerType();
return false;
}
@@ -612,8 +612,8 @@ bool Type::isUnsignedIntegerType() const {
if (const VectorType *VT = dyn_cast<VectorType>(CanonicalType))
return VT->getElementType()->isUnsignedIntegerType();
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isUnsignedIntegerType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isUnsignedIntegerType();
return false;
}
@@ -625,8 +625,8 @@ bool Type::isFloatingType() const {
return CT->getElementType()->isFloatingType();
if (const VectorType *VT = dyn_cast<VectorType>(CanonicalType))
return VT->getElementType()->isFloatingType();
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isFloatingType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isFloatingType();
return false;
}
@@ -636,8 +636,8 @@ bool Type::isRealFloatingType() const {
BT->getKind() <= BuiltinType::LongDouble;
if (const VectorType *VT = dyn_cast<VectorType>(CanonicalType))
return VT->getElementType()->isRealFloatingType();
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isRealFloatingType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isRealFloatingType();
return false;
}
@@ -651,8 +651,8 @@ bool Type::isRealType() const {
return true;
if (const VectorType *VT = dyn_cast<VectorType>(CanonicalType))
return VT->getElementType()->isRealType();
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isRealType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isRealType();
return false;
}
@@ -666,8 +666,8 @@ bool Type::isArithmeticType() const {
return ET->getDecl()->isDefinition();
if (isa<FixedWidthIntType>(CanonicalType))
return true;
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isArithmeticType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isArithmeticType();
return isa<ComplexType>(CanonicalType) || isa<VectorType>(CanonicalType);
}
@@ -681,8 +681,8 @@ bool Type::isScalarType() const {
return true;
return false;
}
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isScalarType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isScalarType();
if (isa<FixedWidthIntType>(CanonicalType))
return true;
return isa<PointerType>(CanonicalType) ||
@@ -706,8 +706,8 @@ bool Type::isAggregateType() const {
return CXXClassType->getDecl()->isAggregate();
if (isa<RecordType>(CanonicalType))
return true;
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isAggregateType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isAggregateType();
return isa<ArrayType>(CanonicalType);
}
@@ -715,8 +715,8 @@ bool Type::isAggregateType() const {
/// according to the rules of C99 6.7.5p3. It is not legal to call this on
/// incomplete types or dependent types.
bool Type::isConstantSizeType() const {
- if (const ASQualType *ASQT = dyn_cast<ASQualType>(CanonicalType))
- return ASQT->getBaseType()->isConstantSizeType();
+ if (const ExtQualType *EXTQT = dyn_cast<ExtQualType>(CanonicalType))
+ return EXTQT->getBaseType()->isConstantSizeType();
assert(!isIncompleteType() && "This doesn't make sense for incomplete types");
assert(!isDependentType() && "This doesn't make sense for dependent types");
// The VAT must have a size, as it is known to be complete.
@@ -729,8 +729,8 @@ bool Type::isConstantSizeType() const {
bool Type::isIncompleteType() const {
switch (CanonicalType->getTypeClass()) {
default: return false;
- case ASQual:
- return cast<ASQualType>(CanonicalType)->getBaseType()->isIncompleteType();
+ case ExtQual:
+ return cast<ExtQualType>(CanonicalType)->getBaseType()->isIncompleteType();
case Builtin:
// Void is the only incomplete builtin type. Per C99 6.2.5p19, it can never
// be completed.
@@ -755,8 +755,8 @@ bool Type::isPODType() const {
switch (CanonicalType->getTypeClass()) {
// Everything not explicitly mentioned is not POD.
default: return false;
- case ASQual:
- return cast<ASQualType>(CanonicalType)->getBaseType()->isPODType();
+ case ExtQual:
+ return cast<ExtQualType>(CanonicalType)->getBaseType()->isPODType();
case VariableArray:
case ConstantArray:
// IncompleteArray is caught by isIncompleteType() above.
@@ -886,7 +886,7 @@ QualType TypedefType::LookThroughTypedefs() const {
/// FIXME:
- /// FIXME: This is incorrect for ASQuals!
+ /// FIXME: This is incorrect for ExtQuals!
/// FIXME:
TypeQuals |= CurType.getCVRQualifiers();
@@ -1052,7 +1052,7 @@ void ComplexType::getAsStringInternal(std::string &S) const {
S = "_Complex " + S;
}
-void ASQualType::getAsStringInternal(std::string &S) const {
+void ExtQualType::getAsStringInternal(std::string &S) const {
S = "__attribute__((address_space("+llvm::utostr_32(AddressSpace)+")))" + S;
BaseType->getAsStringInternal(S);
}
diff --git a/clang/lib/AST/TypeSerialization.cpp b/clang/lib/AST/TypeSerialization.cpp
index 90bc67ad4dd..a8580b0e4df 100644
--- a/clang/lib/AST/TypeSerialization.cpp
+++ b/clang/lib/AST/TypeSerialization.cpp
@@ -71,8 +71,8 @@ void Type::Create(ASTContext& Context, unsigned i, Deserializer& D) {
D.RegisterPtr(PtrID,Context.getTypes()[i]);
break;
- case Type::ASQual:
- D.RegisterPtr(PtrID,ASQualType::CreateImpl(Context,D));
+ case Type::ExtQual:
+ D.RegisterPtr(PtrID,ExtQualType::CreateImpl(Context,D));
break;
case Type::Complex:
@@ -138,18 +138,18 @@ void Type::Create(ASTContext& Context, unsigned i, Deserializer& D) {
}
//===----------------------------------------------------------------------===//
-// ASQualType
+// ExtQualType
//===----------------------------------------------------------------------===//
-void ASQualType::EmitImpl(Serializer& S) const {
+void ExtQualType::EmitImpl(Serializer& S) const {
S.EmitPtr(getBaseType());
S.EmitInt(getAddressSpace());
}
-Type* ASQualType::CreateImpl(ASTContext& Context, Deserializer& D) {
+Type* ExtQualType::CreateImpl(ASTContext& Context, Deserializer& D) {
QualType BaseTy = QualType::ReadVal(D);
unsigned AddressSpace = D.ReadInt();
- return Context.getASQualType(BaseTy, AddressSpace).getTypePtr();
+ return Context.getAddrSpaceQualType(BaseTy, AddressSpace).getTypePtr();
}
//===----------------------------------------------------------------------===//
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index 12aeaa926c0..a48c2472390 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -397,7 +397,7 @@ llvm::DIType CGDebugInfo::getOrCreateType(QualType Ty,
case Type::Reference:
case Type::Vector:
case Type::ExtVector:
- case Type::ASQual:
+ case Type::ExtQual:
case Type::ObjCInterface:
case Type::ObjCQualifiedInterface:
case Type::ObjCQualifiedId:
diff --git a/clang/lib/CodeGen/CodeGenTypes.cpp b/clang/lib/CodeGen/CodeGenTypes.cpp
index 5c4b2a5900f..a385d8c9d29 100644
--- a/clang/lib/CodeGen/CodeGenTypes.cpp
+++ b/clang/lib/CodeGen/CodeGenTypes.cpp
@@ -266,9 +266,9 @@ const llvm::Type *CodeGenTypes::ConvertNewType(QualType T) {
return GetFunctionType(getFunctionInfo(FTP), FTP->isVariadic());
}
- case Type::ASQual:
+ case Type::ExtQual:
return
- ConvertTypeRecursive(QualType(cast<ASQualType>(Ty).getBaseType(), 0));
+ ConvertTypeRecursive(QualType(cast<ExtQualType>(Ty).getBaseType(), 0));
case Type::ObjCInterface: {
// Warning: Use of this is strongly discouraged. Late binding of instance
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index 0a61fe40c37..2aa534e24c9 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -2459,7 +2459,7 @@ Sema::CheckPointerTypesForAssignment(QualType lhsType, QualType rhsType) {
// C99 6.5.16.1p1: This following citation is common to constraints
// 3 & 4 (below). ...and the type *pointed to* by the left has all the
// qualifiers of the type *pointed to* by the right;
- // FIXME: Handle ASQualType
+ // FIXME: Handle ExtQualType
if (!lhptee.isAtLeastAsQualifiedAs(rhptee))
ConvTy = CompatiblePointerDiscardsQualifiers;
diff --git a/clang/lib/Sema/SemaType.cpp b/clang/lib/Sema/SemaType.cpp
index 9a575ced9e1..db885e97fd2 100644
--- a/clang/lib/Sema/SemaType.cpp
+++ b/clang/lib/Sema/SemaType.cpp
@@ -755,7 +755,7 @@ static void HandleAddressSpaceTypeAttribute(QualType &Type,
}
unsigned ASIdx = static_cast<unsigned>(addrSpace.getZExtValue());
- Type = S.Context.getASQualType(Type, ASIdx);
+ Type = S.Context.getAddrSpaceQualType(Type, ASIdx);
}
void Sema::ProcessTypeAttributeList(QualType &Result, const AttributeList *AL) {
OpenPOWER on IntegriCloud