rnk wrote:

I think this flew under the radar when this was all getting implemented because 
we didn't handle async exceptions, so designed the problem away by just turning 
off EH cleanups if SEH try was used in a function body. I suppose -EHa undoes 
that logic, bringing this problem back to life.

Personally, I don't like the design proposed here of adding a standalone 
recursive walk of the AST and attempting to pattern match things that might not 
compile. If the asynch EH numbering algorithm has bugs, I think we'd be better 
off improving the backend diagnostic to try to make it more actionable to users 
with LLVM IR debug info. We can leverage the internal / user fatal error 
distinction and some source locations to emit a more readable error diagnostic 
and that will help in all cases, instead of having this pattern match that 
creates additional maintenance and that we can't guarantee fixes all holes in 
the asynch EH numbering scheme.

https://github.com/llvm/llvm-project/pull/172287
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to