aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2010-05-26 21:46:22 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2010-05-26 21:46:22 +0000
commitd477d1fedaa481b2fe74a616dd759b1adc7b2f9d (patch)
treead7259ce24747dd2921ce430e66c80cabba90848 /gcc
parent6484716cf617de9bf0fbca8d1003fbc30898acc0 (diff)
downloadgcc-d477d1fedaa481b2fe74a616dd759b1adc7b2f9d.zip
gcc-d477d1fedaa481b2fe74a616dd759b1adc7b2f9d.tar.gz
gcc-d477d1fedaa481b2fe74a616dd759b1adc7b2f9d.tar.bz2
explow.c (set_stack_check_libfunc): Adjust to accept name as a string instead of SYMBOL_REF rtx.
gcc/ChangeLog: * 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. From-SVN: r159900
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/gcc-interface/trans.c6
-rw-r--r--gcc/explow.c6
-rw-r--r--gcc/libfuncs.h3
-rw-r--r--gcc/rtl.h1
6 files changed, 21 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e869925..9e5cdce 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index c209d55..d3493fc 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,10 @@
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.
2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index de60679..4c17462 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -29,11 +29,9 @@
#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 ();
diff --git a/gcc/explow.c b/gcc/explow.c
index 1f66f3e..40b3a6e 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -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);
}
/* Emit one stack probe at ADDRESS, an address within the stack. */
diff --git a/gcc/libfuncs.h b/gcc/libfuncs.h
index d3e69e3..9916d2f 100644
--- a/gcc/libfuncs.h
+++ b/gcc/libfuncs.h
@@ -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 */
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 0b6564a..f9e6373 100644
--- 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);