aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorAnatoly Sokolov <aesok@post.ru>2008-06-23 19:27:00 +0400
committerAnatoly Sokolov <aesok@gcc.gnu.org>2008-06-23 19:27:00 +0400
commitf9f6caf50d6a3ea1d66ee4df6a28a00395789842 (patch)
treee24f59145cd61928f9db628e3a6f1a7f6ccfb257 /gcc/config
parentf2a55e41c8b6816c9edb573d08b3bc1c7403f1b6 (diff)
downloadgcc-f9f6caf50d6a3ea1d66ee4df6a28a00395789842.zip
gcc-f9f6caf50d6a3ea1d66ee4df6a28a00395789842.tar.gz
gcc-f9f6caf50d6a3ea1d66ee4df6a28a00395789842.tar.bz2
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
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/avr/avr-protos.h1
-rw-r--r--gcc/config/avr/avr.c7
-rw-r--r--gcc/config/avr/avr.h2
3 files changed, 6 insertions, 4 deletions
diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h
index 73e70c6..b849310 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 45f816f..0176a2a 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 daf1130..2b72112 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)