================
@@ -2649,7 +2649,9 @@ TypeSourceInfo 
*Sema::SubstFunctionDeclType(TypeSourceInfo *T,
   } else {
     Result = Instantiator.TransformType(TLB, TL);
   }
-  if (Result.isNull())
+  // When clang goes into recovery mode, it might substitute
----------------
sam-mccall wrote:

Not sure "recovery mode" is well-defined enough to refer to in this way

maybe:
When there are errors resolving types, clang may use IntTy as a fallback, 
breaking our assumption that function declarations have function types.

(I thought there was a name for this usage of IntTy but I can't find one. It 
happens e.g. at GetFullTypeForDeclarator, SemaType.cpp:5734)

https://github.com/llvm/llvm-project/pull/69449
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to