r319297 - Toolchain: Normalize dwarf, sjlj and seh eh

Reid Kleckner via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 29 13:42:19 PST 2017


On Wed, Nov 29, 2017 at 12:21 PM, Martin Storsjö <martin at martin.st> wrote:

> On Wed, 29 Nov 2017, Martell Malone via cfe-commits wrote:
>
>> Thanks for letting me know Reid.
>> I’ll in work and won’t be able to access the repo until lunch time. (~3
>> hours)
>> Feel free to revert if it is not trivial.
>>
>> The easy fix might be to change to == x86_64 from != x86 For is Windows in
>> the default toolchain. That should restore the old behavior.
>>
>
> My suggestion would be to just return None for all architectures for the
> default windows (msvc) case. We didn't use to set any defines to indicate
> EH mode there before anyway, so setting it to None should make things
> behave just as before, right?


I did this slightly differently in r319363, but maybe that's silly. My
reasoning was that `clang -cc1 -fseh-exceptions -fexceptions` in the MSVC
environment should still use __CxxFrameHandler3. -fseh-exceptions indicates
what format of unwind information we should use, and we're still using the
normal SEH .xdata opcodes.

Alternatively, you could view -fseh-exceptions, -fdwarf-exceptions, and
-fsjlj-exceptions as choices of EH personality function, in which case, my
change is wrong, and we should do what you guys were suggesting and stop
passing this from the driver. Hard to say.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171129/3a391133/attachment.html>


More information about the cfe-commits mailing list