================
@@ -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

Reply via email to