================ @@ -627,7 +627,7 @@ class Analyzer { IsNoexcept = isNoexcept(FD); } else if (auto *BD = dyn_cast<BlockDecl>(D)) { if (auto *TSI = BD->getSignatureAsWritten()) { - auto *FPT = TSI->getType()->getAs<FunctionProtoType>(); + auto *FPT = TSI->getType()->castAs<FunctionProtoType>(); ---------------- dougsonos wrote:
I'm mobile and away from code until Monday, but IIRC effects are stored as trailing objects on FunctionProtoType and we simply don't allow them on prototype-less functions. I think there's a custom diagnostic if the user tries. The test is in something like Sema/attr-nonblocking-syntax.c. https://github.com/llvm/llvm-project/pull/117176 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits