diff options
Diffstat (limited to 'lib/AST/ASTStructuralEquivalence.cpp')
-rw-r--r-- | lib/AST/ASTStructuralEquivalence.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/AST/ASTStructuralEquivalence.cpp b/lib/AST/ASTStructuralEquivalence.cpp index ea7faab767ed..0df8e5653f3b 100644 --- a/lib/AST/ASTStructuralEquivalence.cpp +++ b/lib/AST/ASTStructuralEquivalence.cpp @@ -365,6 +365,21 @@ static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, break; } + case Type::DependentAddressSpace: { + const DependentAddressSpaceType *DepAddressSpace1 = + cast<DependentAddressSpaceType>(T1); + const DependentAddressSpaceType *DepAddressSpace2 = + cast<DependentAddressSpaceType>(T2); + if (!IsStructurallyEquivalent(Context, DepAddressSpace1->getAddrSpaceExpr(), + DepAddressSpace2->getAddrSpaceExpr())) + return false; + if (!IsStructurallyEquivalent(Context, DepAddressSpace1->getPointeeType(), + DepAddressSpace2->getPointeeType())) + return false; + + break; + } + case Type::DependentSizedExtVector: { const DependentSizedExtVectorType *Vec1 = cast<DependentSizedExtVectorType>(T1); |