OSDN Git Service

Patch from Nick Clifton.
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 30 Apr 2004 05:59:06 +0000 (05:59 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 30 Apr 2004 05:59:06 +0000 (05:59 +0000)
Bug 14093
* config/sh/sh-protos.h (sh_promote_prototypes): Declare.
* config/sh/sh.c (sh_promote_prototypes): Remove declaration.
Delete static from definition.
* config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81325 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 22f2d77..080affc 100644 (file)
@@ -1,3 +1,11 @@
+2004-04-29  Nick Clifton  <nickc@redhat.com>
+
+       Bug 14093
+       * config/sh/sh-protos.h (sh_promote_prototypes): Declare.
+       * config/sh/sh.c (sh_promote_prototypes): Remove declaration.
+       Delete static from definition.
+       * config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
+
 2004-04-30  Uros Bizjak  <uros@kss-loka.si>
 
         * reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS,
 2004-04-30  Uros Bizjak  <uros@kss-loka.si>
 
         * reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS,
index b00ebde..082d794 100644 (file)
@@ -141,5 +141,6 @@ extern rtx sh_function_arg (CUMULATIVE_ARGS *, enum machine_mode, tree, int);
 extern void sh_function_arg_advance (CUMULATIVE_ARGS *, enum machine_mode, tree, int);
 extern int sh_pass_in_reg_p (CUMULATIVE_ARGS *, enum machine_mode, tree);
 extern const char *sh_pch_valid_p (const void *data_p, size_t sz);
 extern void sh_function_arg_advance (CUMULATIVE_ARGS *, enum machine_mode, tree, int);
 extern int sh_pass_in_reg_p (CUMULATIVE_ARGS *, enum machine_mode, tree);
 extern const char *sh_pch_valid_p (const void *data_p, size_t sz);
+extern bool sh_promote_prototypes (tree);
 
 #endif /* ! GCC_SH_PROTOS_H */
 
 #endif /* ! GCC_SH_PROTOS_H */
index a790c43..66a7da4 100644 (file)
@@ -272,7 +272,6 @@ struct save_schedule_s;
 static struct save_entry_s *sh5_schedule_saves (HARD_REG_SET *,
                                                struct save_schedule_s *, int);
 
 static struct save_entry_s *sh5_schedule_saves (HARD_REG_SET *,
                                                struct save_schedule_s *, int);
 
-static bool sh_promote_prototypes (tree);
 static rtx sh_struct_value_rtx (tree, int);
 static bool sh_return_in_memory (tree, tree);
 static rtx sh_builtin_saveregs (void);
 static rtx sh_struct_value_rtx (tree, int);
 static bool sh_return_in_memory (tree, tree);
 static rtx sh_builtin_saveregs (void);
@@ -6352,7 +6351,7 @@ sh_va_arg (tree valist, tree type)
   return result;
 }
 
   return result;
 }
 
-static bool
+bool
 sh_promote_prototypes (tree type)
 {
   if (TARGET_HITACHI)
 sh_promote_prototypes (tree type)
 {
   if (TARGET_HITACHI)
index 6bdfefe..32cbb2c 100644 (file)
@@ -1644,6 +1644,7 @@ extern enum reg_class reg_class_from_letter[];
                 || TREE_CODE (VALTYPE) == CHAR_TYPE                    \
                 || TREE_CODE (VALTYPE) == REAL_TYPE                    \
                 || TREE_CODE (VALTYPE) == OFFSET_TYPE))                \
                 || TREE_CODE (VALTYPE) == CHAR_TYPE                    \
                 || TREE_CODE (VALTYPE) == REAL_TYPE                    \
                 || TREE_CODE (VALTYPE) == OFFSET_TYPE))                \
+             && sh_promote_prototypes (VALTYPE)                                \
            ? (TARGET_SHMEDIA ? DImode : SImode) : TYPE_MODE (VALTYPE)), \
           BASE_RETURN_VALUE_REG (TYPE_MODE (VALTYPE)))
 
            ? (TARGET_SHMEDIA ? DImode : SImode) : TYPE_MODE (VALTYPE)), \
           BASE_RETURN_VALUE_REG (TYPE_MODE (VALTYPE)))