https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100556
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|ICE: in gimplify_expr with |ICE: in gimplify_expr with |__transaction_atomic and |__transaction_atomic and |unsafe function call |comparisons (and boolean | |and/ors) Keywords|ice-on-invalid-code |ice-on-valid-code --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So the issue is not `unsafe function call` here but rather it is the comparison. Also ICEs with boolean operators too (||, &&). Reduced testcase: ``` int f(int a) { return __transaction_atomic (a == 1); } ```