[Bug tree-optimization/86506] [9 Regression] tree-vect-patterns.c:225: shift too large for type ?

dcb314 at hotmail dot com gcc-bugzilla@gcc.gnu.org
Fri Jul 27 00:57:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86506

David Binderman <dcb314 at hotmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|DUPLICATE                   |---

--- Comment #6 from David Binderman <dcb314 at hotmail dot com> ---
(In reply to rsandifo@gcc.gnu.org from comment #5)
> Same ceil_log2 bug as PR86644.
> 
> *** This bug has been marked as a duplicate of bug 86644 ***

Doubtful. The code I provided still seems to go wrong:

$ ~/gcc/results.262977.ubsan/bin/gcc -c -O3 /tmp/bug450.c 
/tmp/bug450.c: In function ‘b’:
/tmp/bug450.c:6:21: warning: assignment to ‘int’ from ‘void (*)()’ makes
integer from pointer without a cast [-Wint-conversion]
     a[c] = a[c + 1] = b;
                     ^
../../trunk/gcc/tree-vect-patterns.c:225:17: runtime error: shift exponent 64
is too large for 32-bit type 'int'
$ more /tmp/bug450.c

int *a;
void b() {
  int c;
  for (; c; c += 2)
    a[c] = a[c + 1] = b;
}
$ 

I'd appreciate some guidance as to where I've gone wrong.


More information about the Gcc-bugs mailing list