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;