aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sh
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-10-29 18:02:49 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-10-29 18:02:49 -0800
commitc35d187fc31fdd5836d1acb13e29a03537d22b46 (patch)
treede282819f47f9d9172dff72434c1129a8147296c /gcc/config/sh
parent12d104a2b9c2bcb0e85cd0289dc7616422d55753 (diff)
downloadgcc-c35d187fc31fdd5836d1acb13e29a03537d22b46.zip
gcc-c35d187fc31fdd5836d1acb13e29a03537d22b46.tar.gz
gcc-c35d187fc31fdd5836d1acb13e29a03537d22b46.tar.bz2
builtins.c (std_build_builtin_va_list): New.
* builtins.c (std_build_builtin_va_list): New. * expr.h (std_build_builtin_va_list): Declare. * defaults.h (BUILD_VA_LIST_TYPE): New. * system.h (BUILD_VA_LIST_TYPE): Poison. * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New. * target.h (struct gcc_target): Add build_builtin_va_list. * tree.c (build_common_tree_nodes_2): Use it. * config/alpha/alpha-protos.h, config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/unicosmk.h, config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h, config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h, config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h, config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h, config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c, config/mips/mips.h, config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h, config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h, config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c, config/xtensa/xtensa.h: Rename foo_build_va_list to foo_build_builtin_va_list; make it static. Define TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE. Update protos. * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static. * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove. From-SVN: r73076
Diffstat (limited to 'gcc/config/sh')
-rw-r--r--gcc/config/sh/sh-protos.h4
-rw-r--r--gcc/config/sh/sh.c8
-rw-r--r--gcc/config/sh/sh.h4
3 files changed, 6 insertions, 10 deletions
diff --git a/gcc/config/sh/sh-protos.h b/gcc/config/sh/sh-protos.h
index 81501b0..eb2f201 100644
--- a/gcc/config/sh/sh-protos.h
+++ b/gcc/config/sh/sh-protos.h
@@ -103,10 +103,6 @@ extern rtx sh_va_arg (tree, tree);
#endif /* TREE_CODE */
#endif /* RTX_CODE */
-#ifdef TREE_CODE
-extern tree sh_build_va_list (void);
-#endif /* TREE_CODE */
-
extern const char *output_jump_label_table (void);
extern int sh_handle_pragma (int (*)(void), void (*)(int), const char *);
extern struct rtx_def *get_fpscr_rtx (void);
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 4207719..d84a36f 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -246,6 +246,7 @@ static rtx sh_builtin_saveregs (void);
static void sh_setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode, tree, int *, int);
static bool sh_strict_argument_naming (CUMULATIVE_ARGS *);
static bool sh_pretend_outgoing_varargs_named (CUMULATIVE_ARGS *);
+static tree sh_build_builtin_va_list (void);
/* Initialize the GCC target structure. */
@@ -345,6 +346,9 @@ static bool sh_pretend_outgoing_varargs_named (CUMULATIVE_ARGS *);
#undef TARGET_PRETEND_OUTGOING_VARARGS_NAMED
#define TARGET_PRETEND_OUTGOING_VARARGS_NAMED sh_pretend_outgoing_varargs_named
+#undef TARGET_BUILD_BUILTIN_VA_LIST
+#define TARGET_BUILD_BUILTIN_VA_LIST sh_build_builtin_va_list
+
struct gcc_target targetm = TARGET_INITIALIZER;
/* Print the operand address in x to the stream. */
@@ -5911,8 +5915,8 @@ sh_builtin_saveregs (void)
/* Define the `__builtin_va_list' type for the ABI. */
-tree
-sh_build_va_list (void)
+static tree
+sh_build_builtin_va_list (void)
{
tree f_next_o, f_next_o_limit, f_next_fp, f_next_fp_limit, f_next_stack;
tree record;
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 4ccff4b..907e765 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -2033,10 +2033,6 @@ struct sh_args {
/* Perform any needed actions needed for a function that is receiving a
variable number of arguments. */
-/* Define the `__builtin_va_list' type for the ABI. */
-#define BUILD_VA_LIST_TYPE(VALIST) \
- (VALIST) = sh_build_va_list ()
-
/* Implement `va_start' for varargs and stdarg. */
#define EXPAND_BUILTIN_VA_START(valist, nextarg) \
sh_va_start (valist, nextarg)