diff options
author | Richard Stallman <rms@gnu.org> | 1993-06-28 00:41:41 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-06-28 00:41:41 +0000 |
commit | f0722107141402b371e6041279b43e93b328562c (patch) | |
tree | bb4293818b94bd6d5a68ecda1bc3394b9e7a1cc9 /gcc | |
parent | ef5d30c934d3648c6298f79fdb83b19b6195aa65 (diff) | |
download | gcc-f0722107141402b371e6041279b43e93b328562c.zip gcc-f0722107141402b371e6041279b43e93b328562c.tar.gz gcc-f0722107141402b371e6041279b43e93b328562c.tar.bz2 |
(copy_rtx_if_shared): Don't try to copy a 0-length vector.
From-SVN: r4774
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/emit-rtl.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index b63f0c8..29273b1 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1418,12 +1418,12 @@ copy_rtx_if_shared (orig) if (XVEC (x, i) != NULL) { register int j; + int len = XVECLEN (x, i); - if (copied) - XVEC (x, i) = gen_rtvec_v (XVECLEN (x, i), &XVECEXP (x, i, 0)); - for (j = 0; j < XVECLEN (x, i); j++) - XVECEXP (x, i, j) - = copy_rtx_if_shared (XVECEXP (x, i, j)); + if (copied && len > 0) + XVEC (x, i) = gen_rtvec_v (len, &XVECEXP (x, i, 0)); + for (j = 0; j < len; j++) + XVECEXP (x, i, j) = copy_rtx_if_shared (XVECEXP (x, i, j)); } break; } |