llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.03k stars 11.97k forks source link

Make Clang output SEH exception code for x86_64-w64-mingw32 #19028

Open rubenvb opened 10 years ago

rubenvb commented 10 years ago
Bugzilla Link 18654
Version trunk
OS Windows NT
Depends On llvm/llvm-project#18920
Attachments SEH codegen/driver patch

Extended Description

For x64, Kai Nacke, aka redstar, has been working on SEH in LLVM.

With his WIP patch (see e.g. http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140106/200863.html), and my MinGW Driver code (see http://llvm.org/bugs/show_bug.cgi?id=18546), and attached modifications for the CG/Driver/Frontend, the necessary changes are done to generate calls to the seh gcc personality functions. Basic testing (hello world throw-catch) works with GCC 4.8.2's libraries.

rubenvb commented 10 years ago

Scratch that. 64-bit eh does not work with this patch. seh stuff is emitted though.