https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111160
Bug ID: 111160
Summary: ICE on assigning volatile through ternary operator
Product: gcc
Version: 13.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: trinxery at firemail dot cc
Target Milestone: ---
Created attachment 55796
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55796&action=edit
-freport-bug
class TheClass {};
void the_func() {
TheClass x;
volatile TheClass y;
(false ? x : x) = y;
}
buggy.cxx: In function ‘void the_func()’:
buggy.cxx:6:21: internal compiler error: in stabilize_expr, at cp/tree.cc:5969
6 | (false ? x : x) = y;
| ^
0x9340a9 stabilize_expr(tree_node*, tree_node**)
../../src/gcc/cp/tree.cc:5969
...
I think this is descriptive enough.