From: Anatoly Sokolov Date: Mon, 23 Jun 2008 15:27:00 +0000 (+0400) Subject: avr.c (avr_function_value): Add new 'outgoing' argument. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f9f6caf50d6a3ea1d66ee4df6a28a00395789842;p=gcc.git avr.c (avr_function_value): Add new 'outgoing' argument. * config/avr/avr.c (avr_function_value): Add new 'outgoing' argument. (TARGET_FUNCTION_VALUE): New define. * config/avr/avr-protos.h (avr_function_value): Remove declaration. * config/avr/avr.h (FUNCTION_VALUE): Remove. From-SVN: r137042 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 33ff0cfd484..c3b92392843 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2008-06-23 Anatoly Sokolov + + * config/avr/avr.c (avr_function_value): Add new 'outgoing' argument. + (TARGET_FUNCTION_VALUE): New define. + * config/avr/avr-protos.h (avr_function_value): Remove declaration. + * config/avr/avr.h (FUNCTION_VALUE): Remove. + 2008-06-23 Uros Bizjak * config/i386/i386.md (fmodxf3): Change sequence of move instructions. diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h index 73e70c6f8cb..b8493101fb9 100644 --- a/gcc/config/avr/avr-protos.h +++ b/gcc/config/avr/avr-protos.h @@ -44,7 +44,6 @@ extern void asm_output_external (FILE *file, tree decl, char *name); extern int avr_progmem_p (tree decl, tree attributes); #ifdef RTX_CODE /* inside TREE_CODE */ -extern rtx avr_function_value (const_tree type, const_tree func); extern void init_cumulative_args (CUMULATIVE_ARGS *cum, tree fntype, rtx libname, tree fndecl); extern rtx function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode, diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index 45f816f5d56..0176a2aac8f 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -71,6 +71,7 @@ static void avr_file_start (void); static void avr_file_end (void); static void avr_asm_function_end_prologue (FILE *); static void avr_asm_function_begin_epilogue (FILE *); +static rtx avr_function_value (const_tree, const_tree, bool); static void avr_insert_attributes (tree, tree *); static void avr_asm_init_sections (void); static unsigned int avr_section_type_flags (tree, const char *, int); @@ -308,6 +309,8 @@ int avr_case_values_threshold = 30000; #define TARGET_ASM_FUNCTION_END_PROLOGUE avr_asm_function_end_prologue #undef TARGET_ASM_FUNCTION_BEGIN_EPILOGUE #define TARGET_ASM_FUNCTION_BEGIN_EPILOGUE avr_asm_function_begin_epilogue +#undef TARGET_FUNCTION_VALUE +#define TARGET_FUNCTION_VALUE avr_function_value #undef TARGET_ATTRIBUTE_TABLE #define TARGET_ATTRIBUTE_TABLE avr_attribute_table #undef TARGET_ASM_FUNCTION_RODATA_SECTION @@ -5703,7 +5706,9 @@ avr_libcall_value (enum machine_mode mode) function returns a value of data type VALTYPE. */ rtx -avr_function_value (const_tree type, const_tree func ATTRIBUTE_UNUSED) +avr_function_value (const_tree type, + const_tree func ATTRIBUTE_UNUSED, + bool outgoing ATTRIBUTE_UNUSED) { unsigned int offs; diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h index daf1130a784..2b72112822c 100644 --- a/gcc/config/avr/avr.h +++ b/gcc/config/avr/avr.h @@ -385,8 +385,6 @@ extern int avr_reg_order[]; #define RET_REGISTER avr_ret_register () -#define FUNCTION_VALUE(VALTYPE, FUNC) avr_function_value (VALTYPE, FUNC) - #define LIBCALL_VALUE(MODE) avr_libcall_value (MODE) #define FUNCTION_VALUE_REGNO_P(N) ((int) (N) == RET_REGISTER)