re PR middle-end/61111 (Infinite recursion between fold_build2_stat_loc and fold_bina...
authorKenneth Zadeck <zadeck@naturalbridge.com>
Fri, 9 May 2014 12:21:23 +0000 (12:21 +0000)
committerKenneth Zadeck <zadeck@gcc.gnu.org>
Fri, 9 May 2014 12:21:23 +0000 (12:21 +0000)
2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>

PR middle-end/61111
* fold-const.c (fold_binary_loc): Changed width of mask.

From-SVN: r210274

gcc/ChangeLog
gcc/fold-const.c

index 70614cf3431f1ad5a88144699113b788a81747e6..ffe31f30d0f7ec5dfb6f0451eb47b6d8b47e7e85 100644 (file)
@@ -1,3 +1,8 @@
+2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
+
+       PR middle-end/61111
+       * fold-const.c (fold_binary_loc): Changed width of mask.
+
 2014-05-09  Georg-Johann Lay  <avr@gjlay.de>
 
        * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
index 831aaba683c046ac70b72b7408e5501e9863aa90..c5bf81172a22ed6b84dd7ba4484e385a87005258 100644 (file)
@@ -11358,7 +11358,7 @@ fold_binary_loc (location_t loc,
          wide_int c3 = c1.and_not (c2);
          for (w = BITS_PER_UNIT; w <= width; w <<= 1)
            {
-             wide_int mask = wi::mask (width - w, false,
+             wide_int mask = wi::mask (w, false,
                                        TYPE_PRECISION (type));
              if (((c1 | c2) & mask) == mask && c1.and_not (mask) == 0)
                {