[Bug c/113518] ICE: in gimplify_expr, at gimplify.cc:18596 with atomic_fetch_or_explicit() on _BitInt()
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113518 Jakub Jelinek changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED|RESOLVED --- Comment #4 from Jakub Jelinek --- Fixed.
[Bug c/113518] ICE: in gimplify_expr, at gimplify.cc:18596 with atomic_fetch_or_explicit() on _BitInt()
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113518 --- Comment #3 from GCC Commits --- The master branch has been updated by Jakub Jelinek : https://gcc.gnu.org/g:dbc5f1f523b3cfa539d72fdd60b9479b3cd5a45d commit r14-8373-gdbc5f1f523b3cfa539d72fdd60b9479b3cd5a45d Author: Jakub Jelinek Date: Tue Jan 23 19:59:00 2024 +0100 c: Call c_fully_fold on __atomic_* operands in atomic_bitint_fetch_using_cas_loop [PR113518] As the following testcase shows, I forgot to call c_fully_fold on the __atomic_*/__sync_* operands called on _BitInt address, the expressions are then used inside of TARGET_EXPR initializers etc. and are never fully folded later, which means we can ICE e.g. on C_MAYBE_CONST_EXPR trees inside of those. The following patch fixes it, while the function currently is only called in the C FE because C++ doesn't support BITINT_TYPE, I think guarding the calls on !c_dialect_cxx () is safer. 2024-01-23 Jakub Jelinek PR c/113518 * c-common.cc (atomic_bitint_fetch_using_cas_loop): Call c_fully_fold on lhs_addr, val and model for C. * gcc.dg/bitint-77.c: New test.
[Bug c/113518] ICE: in gimplify_expr, at gimplify.cc:18596 with atomic_fetch_or_explicit() on _BitInt()
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113518 Jakub Jelinek changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek --- Created attachment 57183 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57183=edit gcc14-pr113518.patch Untested fix.
[Bug c/113518] ICE: in gimplify_expr, at gimplify.cc:18596 with atomic_fetch_or_explicit() on _BitInt()
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113518 Andrew Pinski changed: What|Removed |Added Ever confirmed|0 |1 Component|tree-optimization |c Last reconfirmed||2024-01-20 Status|UNCONFIRMED |NEW --- Comment #1 from Andrew Pinski --- Confirmed. There is a leaking c_maybe_const_expr from the front-end to the gimplifier.