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