================ @@ -13462,13 +13462,114 @@ static ElaboratedTypeKeyword getCommonTypeKeyword(const T *X, const T *Y) { : ElaboratedTypeKeyword::None; } +static NestedNameSpecifier *getCommonNNS(ASTContext &Ctx, + NestedNameSpecifier *X, + NestedNameSpecifier *Y, bool IsSame) { + if (X == Y) + return X; + + NestedNameSpecifier *Canon = Ctx.getCanonicalNestedNameSpecifier(X); + if (Canon != Ctx.getCanonicalNestedNameSpecifier(Y)) { + assert(!IsSame && "Should be the same NestedNameSpecifier"); + return nullptr; ---------------- mizvekov wrote:
I would actually prefer to trap here, the original behavior with unreachable, instead of assert is more desirable. If we get here, we probably have a canonicalization bug somewhere, and in any case we could produce a different type instead of a different sugaring as intended. https://github.com/llvm/llvm-project/pull/131964 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits