]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c/2035 (ICE in extract_bit_field, at expmed.c:1115)
authorRichard Henderson <rth@redhat.com>
Fri, 26 Apr 2002 02:09:21 +0000 (19:09 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 26 Apr 2002 02:09:21 +0000 (19:09 -0700)
        PR c/2035
        * expmed.c (extract_bit_field): Fall through to generic code rather
        than aborting on subreg special case.

From-SVN: r52777

gcc/ChangeLog
gcc/expmed.c

index f1df34d72fa0099aa2744c723d44f981baeac464..76182b9a144502b0d215aa7c06ef3bb67fb68f65 100644 (file)
@@ -1,3 +1,9 @@
+2002-04-25  Richard Henderson  <rth@redhat.com>
+
+       PR c/2035
+       * expmed.c (extract_bit_field): Fall through to generic code rather
+       than aborting on subreg special case.
+
 2002-04-25  David S. Miller  <davem@redhat.com>
 
        * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
index e60ccbf7924162fd5d8491694d209a3e644e1132..5a4c24ea68ac9685cab7e4a2d173af12666705d8 100644 (file)
@@ -1144,7 +1144,7 @@ extract_bit_field (str_rtx, bitsize, bitnum, unsignedp,
                /* Else we've got some float mode source being extracted into
                   a different float mode destination -- this combination of
                   subregs results in Severe Tire Damage.  */
-               abort ();
+               goto no_subreg_mode_swap;
            }
          if (GET_CODE (op0) == REG)
            op0 = gen_rtx_SUBREG (mode1, op0, byte_offset);
@@ -1155,6 +1155,7 @@ extract_bit_field (str_rtx, bitsize, bitnum, unsignedp,
        return convert_to_mode (tmode, op0, unsignedp);
       return op0;
     }
+ no_subreg_mode_swap:
 
   /* Handle fields bigger than a word.  */