aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-03-05 05:43:51 +0000
committerRichard Stallman <rms@gnu.org>1993-03-05 05:43:51 +0000
commit6d142a10c85b09a7a032031d9fa364619a9c68c0 (patch)
treeaca74adb91a1d8d83b2719e3777c9c3f731b0ffa
parent502d58a60ef3f9a5e3a567ea0c1d9a635cfc0d13 (diff)
downloadgcc-6d142a10c85b09a7a032031d9fa364619a9c68c0.zip
gcc-6d142a10c85b09a7a032031d9fa364619a9c68c0.tar.gz
gcc-6d142a10c85b09a7a032031d9fa364619a9c68c0.tar.bz2
(store_parm_decls,combine_parm_decls): Call layout_decl for a parm declared...
(store_parm_decls,combine_parm_decls): Call layout_decl for a parm declared float when it is changed to double under a traditional compilation. From-SVN: r3652
-rw-r--r--gcc/c-decl.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index e1c5b0d..8e5a599 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -5808,7 +5808,11 @@ store_parm_decls ()
/* Traditionally, a parm declared float is actually a double. */
if (found && flag_traditional
&& TYPE_MAIN_VARIANT (TREE_TYPE (found)) == float_type_node)
- TREE_TYPE (found) = double_type_node;
+ {
+ TREE_TYPE (found) = double_type_node;
+ DECL_ARG_TYPE (found) = double_type_node;
+ layout_decl (found, 0);
+ }
/* If no declaration found, default to int. */
if (!found)
@@ -6090,7 +6094,11 @@ combine_parm_decls (specparms, parmlist, void_at_end)
/* Traditionally, a parm declared float is actually a double. */
if (found && flag_traditional
&& TYPE_MAIN_VARIANT (TREE_TYPE (found)) == float_type_node)
- TREE_TYPE (found) = double_type_node;
+ {
+ TREE_TYPE (found) = double_type_node;
+ DECL_ARG_TYPE (found) = double_type_node;
+ layout_decl (found, 0);
+ }
/* If no declaration found, default to int. */
if (!found)