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

Reid Kleckner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 21 09:17:52 PST 2017


rnk added a comment.

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

> Just as a note there is still a lot to be desired here. I do not particularly like the `UseSEHExceptions` function default and the actual macro definition guards should be based on the current `ExceptionModel` because we set that in `lib/CodeGen/BackendUtil.cpp`. This way we do not need to have some silly default of x64 && windows for UseSEHExceptions and can rely on the llvm backend defaults but override within the driver we want like the apple targets do for sjlj. This does for now keep the current functionality while giving us a flag to override which is the goal of this patch.


We have to know the EH model before pre-processing, and that shouldn't rely on LLVM TargetOptions. We can probably reuse the `llvm::ExceptionHandling` enum instead of these various overlapping booleans, if that's the direction you want to go. However, I don't see how we can get away from the clang toolchain knowing the default EH model for each target.


Repository:
  rL LLVM

https://reviews.llvm.org/D39673





More information about the cfe-commits mailing list