[PATCH] D39673: Toolchain: Normalize dwarf, sjlj and seh eh

Martin Storsjö via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 20 00:02:02 PST 2017


mstorsjo added a comment.

In https://reviews.llvm.org/D39673#929536, @martell wrote:

> When doing that I noticed there is something really strange about the existing macro defines. I assume they should only be defined when exceptions is enabled.
>  This is by default in c++ mode of with -fexceptions in c mode.
>  I moved the defines within a check of exceptions being enabled to address that.


I'm not sure if this is the right thing to do. Since the exception handling model more or less also defines what ABI the code conforms to, I can see it being useful to know what exception handling mode is intended to be used, even if compiling plain C code without exceptions enabled. E.g. when building libunwind, some of the C sources there have ifdefs that check for `__USING_SJLJ_EXCEPTIONS__` and/or `__ARM_DWARF_EH__`. With this change, one has to manually start specifying it when building libunwind, to match whatever the default and/or manually chosen exception handling model is.


Repository:
  rL LLVM

https://reviews.llvm.org/D39673





More information about the cfe-commits mailing list