Mercurial > projects > ldc
changeset 897:c6f16c3f377b
Fix x86-64 exception handling #180. Thanks pcwalton!
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Thu, 22 Jan 2009 17:50:38 +0100 |
parents | fcab41e144c9 |
children | db3f8e7d79d2 |
files | runtime/internal/eh.d |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/internal/eh.d Thu Jan 22 17:26:50 2009 +0100 +++ b/runtime/internal/eh.d Thu Jan 22 17:50:38 2009 +0100 @@ -302,10 +302,12 @@ // These are the register numbers for SetGR that // llvm's eh.exception and eh.selector intrinsics // will pick up. -// Found by trial-and-error :/ +// Hints for these can be found by looking at the +// EH_RETURN_DATA_REGNO macro in GCC, careful testing +// is required though. version (X86_64) { - private int eh_exception_regno = 3; + private int eh_exception_regno = 0; private int eh_selector_regno = 1; } else { private int eh_exception_regno = 0;