[llvm-commits] [llvm-gcc-4.2] r46028 - /llvm-gcc-4.2/trunk/gcc/tree-eh.c

Dale Johannesen dalej at apple.com
Tue Jan 15 15:20:18 PST 2008


Author: johannes
Date: Tue Jan 15 17:20:17 2008
New Revision: 46028

URL: http://llvm.org/viewvc/llvm-project?rev=46028&view=rev
Log:
Use 64 bits for "save_filt" temps on 64-bit targets.
LLVM uses 64 bits for these and they need to match.


Modified:
    llvm-gcc-4.2/trunk/gcc/tree-eh.c

Modified: llvm-gcc-4.2/trunk/gcc/tree-eh.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/tree-eh.c?rev=46028&r1=46027&r2=46028&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/tree-eh.c (original)
+++ llvm-gcc-4.2/trunk/gcc/tree-eh.c Tue Jan 15 17:20:17 2008
@@ -838,14 +838,22 @@
       tree save_eptr, save_filt;
 
       save_eptr = create_tmp_var (ptr_type_node, "save_eptr");
+#if ENABLE_LLVM
+      /* LLVM exceptions use 64 bits for these on 64-bit targets. */
+      save_filt = create_tmp_var (long_integer_type_node, "save_filt");
+#else
       save_filt = create_tmp_var (integer_type_node, "save_filt");
-
+#endif
       i = tsi_start (finally);
       x = build0 (EXC_PTR_EXPR, ptr_type_node);
       x = build2 (MODIFY_EXPR, void_type_node, save_eptr, x);
       tsi_link_before (&i, x, TSI_CONTINUE_LINKING);
 
+#if ENABLE_LLVM
+      x = build0 (FILTER_EXPR, long_integer_type_node);
+#else
       x = build0 (FILTER_EXPR, integer_type_node);
+#endif
       x = build2 (MODIFY_EXPR, void_type_node, save_filt, x);
       tsi_link_before (&i, x, TSI_CONTINUE_LINKING);
 
@@ -854,7 +862,11 @@
       x = build2 (MODIFY_EXPR, void_type_node, x, save_eptr);
       tsi_link_after (&i, x, TSI_CONTINUE_LINKING);
 
+#if ENABLE_LLVM
+      x = build0 (FILTER_EXPR, long_integer_type_node);
+#else
       x = build0 (FILTER_EXPR, integer_type_node);
+#endif
       x = build2 (MODIFY_EXPR, void_type_node, x, save_filt);
       tsi_link_after (&i, x, TSI_CONTINUE_LINKING);
 





More information about the llvm-commits mailing list