]> gcc.gnu.org Git - gcc.git/commit
[Committed] PR middle-end/102029: Stricter typing in LSHIFT_EXPR sign folding.
authorRoger Sayle <roger@nextmovesoftware.com>
Tue, 24 Aug 2021 01:59:02 +0000 (02:59 +0100)
committerRoger Sayle <roger@nextmovesoftware.com>
Tue, 24 Aug 2021 01:59:02 +0000 (02:59 +0100)
commit78fa5112b4c2dcd94b78ee79baddebbf14d6ad98
tree365cb89be7786601b7ba46c76eb7b21b74a9cb90
parent819b7c3a339e3bdaf85cd55954c5536bd98aae09
[Committed] PR middle-end/102029: Stricter typing in LSHIFT_EXPR sign folding.

My sincere apologies to everyone (again).  As diagnosed by
Jakub Jelinek, my recent patch to fold the signedness of LSHIFT_EXPR
needs to be careful not to attempt transforming a left shift in an
integer type into an invalid left shift of a pointer type.

2021-08-24  Roger Sayle  <roger@nextmovesoftware.com>
    Jakub Jelinek  <jakub@redhat.com>

gcc/ChangeLog
PR middle-end/102029
* match.pd (shift transformations): Add an additional check for
!POINTER_TYPE_P in the recently added left shift transformation.

gcc/testsuite/ChangeLog
PR middle-end/102029
* gcc.dg/fold-convlshift-3.c: New test case.
gcc/match.pd
gcc/testsuite/gcc.dg/fold-convlshift-3.c [new file with mode: 0644]
This page took 0.06423 seconds and 5 git commands to generate.