Patch from Nick Clifton.
authorNick Clifton <nickc@redhat.com>
Fri, 30 Apr 2004 05:59:06 +0000 (05:59 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 30 Apr 2004 05:59:06 +0000 (22:59 -0700)
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.

From-SVN: r81325

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

index 22f2d773d2b193221bddbfa3e9a145c3cf813917..080affc413ad4271d3cb01312bb37909bb141e3c 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,
index b00ebde2cb001f931479d69ad94002c33ef9e2e8..082d7941838a92d59880c75d32c6f1c55434cd20 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 bool sh_promote_prototypes (tree);
 
 #endif /* ! GCC_SH_PROTOS_H */
index a790c43a04368033381425fc5d09571ff4087077..66a7da47e1ef6ddc3871c32b89d070da552461ff 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 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);
@@ -6352,7 +6351,7 @@ sh_va_arg (tree valist, tree type)
   return result;
 }
 
-static bool
+bool
 sh_promote_prototypes (tree type)
 {
   if (TARGET_HITACHI)
index 6bdfefe7932954635a80fd7b8fc109feb7352944..32cbb2c24383201e212b94b57fddc2ec2be5add3 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))                \
+             && sh_promote_prototypes (VALTYPE)                                \
            ? (TARGET_SHMEDIA ? DImode : SImode) : TYPE_MODE (VALTYPE)), \
           BASE_RETURN_VALUE_REG (TYPE_MODE (VALTYPE)))