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.

Reply via email to