diff options
Diffstat (limited to 'clang/lib/AST/ASTStructuralEquivalence.cpp')
-rw-r--r-- | clang/lib/AST/ASTStructuralEquivalence.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/clang/lib/AST/ASTStructuralEquivalence.cpp b/clang/lib/AST/ASTStructuralEquivalence.cpp index 7fd24e2aa9ad..0813a5204a5e 100644 --- a/clang/lib/AST/ASTStructuralEquivalence.cpp +++ b/clang/lib/AST/ASTStructuralEquivalence.cpp @@ -945,6 +945,12 @@ static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, return false; break; + case Type::Using: + if (!IsStructurallyEquivalent(Context, cast<UsingType>(T1)->getFoundDecl(), + cast<UsingType>(T2)->getFoundDecl())) + return false; + break; + case Type::Typedef: if (!IsStructurallyEquivalent(Context, cast<TypedefType>(T1)->getDecl(), cast<TypedefType>(T2)->getDecl())) @@ -1205,18 +1211,18 @@ static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context, cast<PipeType>(T2)->getElementType())) return false; break; - case Type::ExtInt: { - const auto *Int1 = cast<ExtIntType>(T1); - const auto *Int2 = cast<ExtIntType>(T2); + case Type::BitInt: { + const auto *Int1 = cast<BitIntType>(T1); + const auto *Int2 = cast<BitIntType>(T2); if (Int1->isUnsigned() != Int2->isUnsigned() || Int1->getNumBits() != Int2->getNumBits()) return false; break; } - case Type::DependentExtInt: { - const auto *Int1 = cast<DependentExtIntType>(T1); - const auto *Int2 = cast<DependentExtIntType>(T2); + case Type::DependentBitInt: { + const auto *Int1 = cast<DependentBitIntType>(T1); + const auto *Int2 = cast<DependentBitIntType>(T2); if (Int1->isUnsigned() != Int2->isUnsigned() || !IsStructurallyEquivalent(Context, Int1->getNumBitsExpr(), |