Commit 514066a1 by Richard Henderson

sh.c (sh_builtin_saveregs): Use get_varargs_alias_set.

        * sh.c (sh_builtin_saveregs): Use get_varargs_alias_set.
        (sh_build_va_list, sh_va_start, sh_va_arg): New.
        * sh.h (BUILD_VA_LIST_TYPE): New.
        (EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.

From-SVN: r29415
parent 5d3f2bd5
...@@ -1076,6 +1076,18 @@ extern int current_function_anonymous_args; ...@@ -1076,6 +1076,18 @@ extern int current_function_anonymous_args;
#define SETUP_INCOMING_VARARGS(ASF, MODE, TYPE, PAS, ST) \ #define SETUP_INCOMING_VARARGS(ASF, MODE, TYPE, PAS, ST) \
current_function_anonymous_args = 1; current_function_anonymous_args = 1;
/* 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(stdarg, valist, nextarg) \
sh_va_start (stdarg, valist, nextarg)
/* Implement `va_arg'. */
#define EXPAND_BUILTIN_VA_ARG(valist, type) \
sh_va_arg (valist, type)
/* Call the function profiler with a given profile label. /* Call the function profiler with a given profile label.
We use two .aligns, so as to make sure that both the .long is aligned We use two .aligns, so as to make sure that both the .long is aligned
on a 4 byte boundary, and that the .long is a fixed distance (2 bytes) on a 4 byte boundary, and that the .long is a fixed distance (2 bytes)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment