tree: Fix up get_narrower [PR96549]
authorJakub Jelinek <jakub@redhat.com>
Tue, 11 Aug 2020 11:46:14 +0000 (13:46 +0200)
committerJakub Jelinek <jakub@redhat.com>
Tue, 11 Aug 2020 11:51:46 +0000 (13:51 +0200)
commit6b815e113c9aec397a86d7194f66455eb189cc7a
tree9b3cc54708c82f2edcda876aeca3b84bf70f2e0b
parent1118a3ff9d3ad6a64bba25dc01e7703325e23d92
tree: Fix up get_narrower [PR96549]

My changes to get_narrower to support COMPOUND_EXPRs apparently
used a wrong type for the COMPOUND_EXPRs, while e.g. the rhs
type was unsigned short, the COMPOUND_EXPR got int type as that was the
original type of op.  The type of COMPOUND_EXPR should be always the type
of the rhs.

2020-08-11  Jakub Jelinek  <jakub@redhat.com>

PR c/96549
* tree.c (get_narrower): Use TREE_TYPE (ret) instead of
TREE_TYPE (win) for COMPOUND_EXPRs.

* gcc.c-torture/execute/pr96549.c: New test.
gcc/testsuite/gcc.c-torture/execute/pr96549.c [new file with mode: 0644]
gcc/tree.c