]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gcc/ChangeLog:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 May 2010 21:46:22 +0000 (21:46 +0000)
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 May 2010 21:46:22 +0000 (21:46 +0000)
* explow.c (set_stack_check_libfunc): Adjust to accept name as a
string instead of SYMBOL_REF rtx.
* rtl.h (set_stack_check_libfunc): Move prototype from here...
* libfuncs.h: ...to here.  Adjust for explow.c change.

ada/ChangeLog:
* gcc-interface/trans.c: Do not include rtl.h, insclude libfuncs.h.
(gigi): Adjust call to set_stack_check_libfunc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159900 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/gcc-interface/trans.c
gcc/explow.c
gcc/libfuncs.h
gcc/rtl.h

index e86992578ab161605b5f83aae0386ff231b6e5fe..9e5cdce42a13207a665adea1c9b1a21da48c38f0 100644 (file)
@@ -1,3 +1,10 @@
+2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * explow.c (set_stack_check_libfunc): Adjust to accept name as a
+       string instead of SYMBOL_REF rtx.
+       * rtl.h (set_stack_check_libfunc): Move prototype from here...
+       * libfuncs.h: ...to here.  Adjust for explow.c change.
+
 2010-05-26  Joseph Myers  <joseph@codesourcery.com>
 
        * pretty-print.c: Don't include ggc.h.
index c209d55e19c5b67c736fe9d653025dd784ed4afb..d3493fcc3673652dea008a531bf8296c232035f1 100644 (file)
@@ -1,3 +1,8 @@
+2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * gcc-interface/trans.c: Do not include rtl.h, insclude libfuncs.h.
+       (gigi): Adjust call to set_stack_check_libfunc.
+
 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
 
        * gcc-interface/utils.c: Do not include rtl.h.
index de60679fb70a014063a7db753f4bcd4e94e8581c..4c17462a7a64fb38d15638dc1c623669974cd8a9 100644 (file)
 #include "tm.h"
 #include "tree.h"
 #include "flags.h"
-#include "rtl.h"       /* FIXME: For set_stack_check_libfunc and
-                          gen_rtx_SYMBOL_REF -- here is a front end
-                          still trying to generate RTL!  */
 #include "ggc.h"
 #include "output.h"
+#include "libfuncs.h"  /* For set_stack_check_libfunc.  */
 #include "tree-iterator.h"
 #include "gimple.h"
 
@@ -313,7 +311,7 @@ gigi (Node_Id gnat_root, int max_gnat_node, int number_name ATTRIBUTE_UNUSED,
 
   /* Enable GNAT stack checking method if needed */
   if (!Stack_Check_Probes_On_Target)
-    set_stack_check_libfunc (gen_rtx_SYMBOL_REF (Pmode, "_gnat_stack_check"));
+    set_stack_check_libfunc ("_gnat_stack_check");
 
   /* Retrieve alignment settings.  */
   double_float_alignment = get_target_double_float_alignment ();
index 1f66f3e770538fae8f716223adaec3548f1474b5..40b3a6ef424ca49c47929626985fb980715bb0c2 100644 (file)
@@ -33,6 +33,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "function.h"
 #include "expr.h"
 #include "optabs.h"
+#include "libfuncs.h"
 #include "hard-reg-set.h"
 #include "insn-config.h"
 #include "ggc.h"
@@ -1346,9 +1347,10 @@ allocate_dynamic_stack_space (rtx size, rtx target, int known_align)
 static GTY(()) rtx stack_check_libfunc;
 
 void
-set_stack_check_libfunc (rtx libfunc)
+set_stack_check_libfunc (const char *libfunc_name)
 {
-  stack_check_libfunc = libfunc;
+  gcc_assert (stack_check_libfunc == NULL_RTX);
+  stack_check_libfunc = gen_rtx_SYMBOL_REF (Pmode, libfunc_name);
 }
 \f
 /* Emit one stack probe at ADDRESS, an address within the stack.  */
index d3e69e3e2414a0d9808b7aaa3b76921660272686..9916d2f94f0664059065961963dfe78261b5782e 100644 (file)
@@ -71,4 +71,7 @@ extern GTY(()) rtx libfunc_table[LTI_MAX];
 
 #define gcov_flush_libfunc     (libfunc_table[LTI_gcov_flush])
 
+/* In explow.c */
+extern void set_stack_check_libfunc (const char *);
+
 #endif /* GCC_LIBFUNCS_H */
index 0b6564a9ad7804f675490d98a177400c737ad490..f9e63735f8643e5767e4be2028ffaa83f5f15d92 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1548,7 +1548,6 @@ extern int currently_expanding_to_rtl;
 extern int ceil_log2 (unsigned HOST_WIDE_INT);
 
 /* In explow.c */
-extern void set_stack_check_libfunc (rtx);
 extern HOST_WIDE_INT trunc_int_for_mode        (HOST_WIDE_INT, enum machine_mode);
 extern rtx plus_constant (rtx, HOST_WIDE_INT);