[Bug c/100789] [9/10/11/12 Regression] ICE with __transaction_relaxed and left shit signed overflow
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100789 --- Comment #5 from Marek Polacek --- The problem is that we're creating a C_MAYBE_CONST_EXPR inside of a TRANSATION_EXPR, but c_fully_fold doesn't walk into TRANSATION_EXPRs, so the C_MAYBE_CONST_EXPR leaks into the gimplifier. __transaction_relaxed { <<< Unknown tree: c_maybe_const_expr 8526495038820057088 >>> } I don't know if it's OK to fold the insides of a TRANSATION_EXPR. Another option would to avoid creating C_MAYBE_CONST_EXPRs inside a transaction expr, like in_late_binary_op?
[Bug c/100789] [9/10/11/12 Regression] ICE with __transaction_relaxed and left shit signed overflow
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100789 Richard Biener changed: What|Removed |Added Version|tree-ssa|12.0 Priority|P3 |P2
[Bug c/100789] [9/10/11/12 Regression] ICE with __transaction_relaxed and left shit signed overflow
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100789 Andrew Pinski changed: What|Removed |Added Summary|[9/10/11/12 Regression] |[9/10/11/12 Regression] ICE |ICE: in gimplify_expr, at |with __transaction_relaxed |gimplify.c:14750|and left shit signed ||overflow --- Comment #4 from Andrew Pinski --- Most likely due to this part of the patch from c-typeck.c: + else if (TREE_CODE (op0) == INTEGER_CST + && maybe_warn_shift_overflow (location, op0, op1) + && flag_isoc99) + int_const = false;