zahiraam added a comment. Actually adding -O2 to all the LIT tests in this patch will trigger the same assertion at CGCleanup.cpp:1326. The code's assuming there is always an invoke destination in the program, but in these cases the InvokeDest is null.
According to Microsoft's documentation, EHa means: async exceptions + C++ exceptions, with unwinding. I am wondering if in: static void EmitSehScope(CodeGenFunction &CGF, llvm::FunctionCallee &SehCppScope) { llvm::BasicBlock *InvokeDest = CGF.getInvokeDest(); .. } invokeDest shouldn't be something like: InvokeDest = CGF.getInvokeDest() || "does the function has attribute NoUnwind". Not sure if we have all the data to test this at this point? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80344/new/ https://reviews.llvm.org/D80344 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits