aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-06-11 17:32:08 +0000
committerRichard Stallman <rms@gnu.org>1993-06-11 17:32:08 +0000
commiteda115ddc4abcc6e577078351dd60c03ee11c06d (patch)
tree0e664bd01cd00217dca94f03a10420c2f539b0e2
parent3adc8befab0a8df6492fb18fd5761e6ba2df9b9d (diff)
downloadgcc-eda115ddc4abcc6e577078351dd60c03ee11c06d.zip
gcc-eda115ddc4abcc6e577078351dd60c03ee11c06d.tar.gz
gcc-eda115ddc4abcc6e577078351dd60c03ee11c06d.tar.bz2
(finish_decl): Don't modify DECL_INITIAL of a PARM_DECL.
From-SVN: r4662
-rw-r--r--gcc/c-decl.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index ac7c3a0..5a347e3 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -3519,7 +3519,10 @@ finish_decl (decl, init, asmspec_tree)
/* ??? After 2.3, test (init != 0) instead of TREE_CODE. */
if (!(TREE_CODE (decl) == FUNCTION_DECL && DECL_INLINE (decl))
- && temporary && TREE_PERMANENT (decl))
+ && temporary && TREE_PERMANENT (decl)
+ /* DECL_INITIAL is not defined in PARM_DECLs, since it shares
+ space with DECL_ARG_TYPE. */
+ && TREE_CODE (decl) != PARM_DECL)
{
/* We need to remember that this array HAD an initialization,
but discard the actual temporary nodes,