GkvJwa wrote:

> I'm not up-to-date with the full context here. Can you add to the description 
> that this is a followup to #172287?
> 
> Maybe silly question, but why is this specific to `/EHa` and not having C++ 
> exceptions enabled in general (like `/EHs`)?
> 
> Also the PR should probably have a test.

This issue(#62606) can probably answer most questions. The key point is that 
the handling of SEH in LLVM is not quite the same as in MSVC. Currently, it can 
be said that with LLVM, the code within the `__except` block is only explicitly 
generated when using `/eha`.
When using `/ehsc` or `/ehs`, can the code in the `__except` block actually be 
affected by the code in the `__try` block. For example, if the actual crash 
occurs in the last function call within the `__try` block, the code in the 
`__except` block will not be generated correctly.

test was included in the previous PR, Using `/ehsc` or `/ehs` results in 
unexpected code generation, making it impossible to create test cases.

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

Reply via email to