(copy_rtx_if_shared): Don't try to copy a 0-length vector.
authorRichard Stallman <rms@gnu.org>
Mon, 28 Jun 1993 00:41:41 +0000 (00:41 +0000)
committerRichard Stallman <rms@gnu.org>
Mon, 28 Jun 1993 00:41:41 +0000 (00:41 +0000)
From-SVN: r4774

gcc/emit-rtl.c

index b63f0c8..29273b1 100644 (file)
@@ -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;
        }