From: steven Date: Wed, 26 May 2010 21:46:22 +0000 (+0000) Subject: gcc/ChangeLog: X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e3805e9e84e92aeb06a20ecb868d818905ba0e9c;p=thirdparty%2Fgcc.git 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159900 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e86992578ab1..9e5cdce42a13 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2010-05-26 Steven Bosscher + + * 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 * pretty-print.c: Don't include ggc.h. diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index c209d55e19c5..d3493fcc3673 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2010-05-26 Steven Bosscher + + * 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 * gcc-interface/utils.c: Do not include rtl.h. diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index de60679fb70a..4c17462a7a64 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 1f66f3e77053..40b3a6ef424c 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 d3e69e3e2414..9916d2f94f06 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 0b6564a9ad78..f9e63735f864 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);