Fix ICE with cast of division by zero (PR c/93348).
authorJoseph Myers <joseph@codesourcery.com>
Wed, 22 Jan 2020 01:23:42 +0000 (01:23 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 22 Jan 2020 01:23:42 +0000 (01:23 +0000)
commitac68e287fc2e939ae6b45ba7ff04e493982b7f62
tree8f08fff66240c6eb9b094d4599df8dfc07dd2360
parent4e9b9a6cb52b0c8b5f97dd279deff967f75c4fc9
Fix ICE with cast of division by zero (PR c/93348).

Bug 93348 reports an ICE on certain cases of casts of expressions that
may appear only in unevaluated parts of integer constant expressions,
arising from the generation of nested C_MAYBE_CONST_EXPRs.  This patch
fixes it by adding a call to remove_c_maybe_const_expr in the
integer-operands case, as is done in other similar cases.

Bootstrapped with no regressions for x86_64-pc-linux-gnu.

PR c/93348
gcc/c:
* c-typeck.c (build_c_cast): Call remove_c_maybe_const_expr on
argument with integer operands.

gcc/testsuite:
* gcc.c-torture/compile/pr93348-1.c: New test.
gcc/c/ChangeLog
gcc/c/c-typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr93348-1.c [new file with mode: 0644]