avr.c (avr_function_value): Add new 'outgoing' argument.
authorAnatoly Sokolov <aesok@post.ru>
Mon, 23 Jun 2008 15:27:00 +0000 (19:27 +0400)
committerAnatoly Sokolov <aesok@gcc.gnu.org>
Mon, 23 Jun 2008 15:27:00 +0000 (19:27 +0400)
* 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

gcc/ChangeLog
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.h

index 33ff0cfd4845375a6c3c5ae166deb92f95461866..c3b92392843c07f8c22c47e087b3c3e572ad52c8 100644 (file)
@@ -1,3 +1,10 @@
+2008-06-23  Anatoly Sokolov  <aesok@post.ru>
+
+       * 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  <ubizjak@gmail.com>
 
        * config/i386/i386.md (fmodxf3): Change sequence of move instructions.
index 73e70c6f8cb660e967aade3d36574515d308d11a..b8493101fb9cd2f965eda19c9b69d0f61da86df4 100644 (file)
@@ -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,
index 45f816f5d563c37da80a58f98269c951a396fde9..0176a2aac8ff13c11bdab1f993d8cd8579068863 100644 (file)
@@ -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;
   
index daf1130a78403d2fa0a6ef953f8a91c002348222..2b72112822c729b82a8ed9cd6156d0ceb35faab9 100644 (file)
@@ -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)