[Bug c++/107029] New: ice during GIMPLE pass: reassoc

dcb314 at hotmail dot com gcc-bugzilla@gcc.gnu.org
Sat Sep 24 19:34:50 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107029

            Bug ID: 107029
           Summary: ice during GIMPLE pass: reassoc
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

This C++ code:

class ImplicitBool ImplicitBool::*Reset___trans_tmp_1;
int ImplicitBool::*Reset___trans_tmp_2;
struct Chips {
  struct Clocks {
    void Reset(bool, bool);
    int next;
  };
  void Reset();
  Clocks clocks;
};
void Chips::Clocks::Reset(bool mmc5Chip, bool fdsChip) {
  next = mmc5Chip || fdsChip;
}
void Chips::Reset() { clocks.Reset(Reset___trans_tmp_1, Reset___trans_tmp_2); }

when compiled as follows by recent g++

$ ../results/bin/g++ -c -w -O2 -std=c++98 bug849.cc

does this:

bug849.cc: In member function ‘void Chips::Reset()’:
bug849.cc:14:6: error: invalid types for ‘bit_and_expr’
   14 | void Chips::Reset() { clocks.Reset(Reset___trans_tmp_1,
Reset___trans_tmp_2); }
      |      ^~~~~
<<< Unknown tree: offset_type >>>
<<< Unknown tree: offset_type >>>
<<< Unknown tree: offset_type >>>
_11 = _10 & Reset___trans_tmp_1.1_3;
during GIMPLE pass: reassoc
bug849.cc:14:6: internal compiler error: verify_gimple failed

The bug first seems to occur sometime between git hash 7d7e2149cdb6b0c3
and 9a1bc4b463e61cd5, a day later. There are 24 commits in that range.


More information about the Gcc-bugs mailing list