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

            Bug ID: 123692
           Summary: ICE in fixed_type_or_null when building kakoune
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jmelcr at gcc dot gnu.org
                CC: pheeck at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu

Created attachment 63388
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=63388&action=edit
The original testcase

Reduced testcase:
```
struct ColumnCount struct StronglyTypedNumber {
    friend ColumnCount operator-(ColumnCount , )
    friend operator==(StronglyTypedNumber ,
} struct ColumnCount : StronglyTypedNumber {
} struct LineAndColumn {
  ColumnCount column
} struct DisplayCoord : LineAndColumn {
} struct {
  length() DisplayCoord m_dimensions
  TerminalUIdraw_status({
    auto remaining = m_dimensions.column;
```

The reduced testcase emits errors, the original is valid, but significantly
larger.

src/terminal_ui.cc: In member function ‘virtual void
Kakoune::TerminalUI::draw_status(const Kakoune::DisplayLine&, const
Kakoune::DisplayLine&, const Kakoune::Face&)’:
src/terminal_ui.cc:603:79: internal compiler error: in fixed_type_or_null, at
cp/class.cc:8396
0x296dd3d internal_error(char const*, ...)
        /home/jmelcr/gcc/src/gcc/gcc/diagnostic-global-context.cc:787
0xb52a6f fancy_abort(char const*, int, char const*)
        /home/jmelcr/gcc/src/gcc/gcc/diagnostics/context.cc:1805
0x8350fc fixed_type_or_null
        /home/jmelcr/gcc/src/gcc/gcc/cp/class.cc:8396
0xba97de resolves_to_fixed_type_p(tree_node*, int*)
        /home/jmelcr/gcc/src/gcc/gcc/cp/class.cc:8562
0xba9b7c build_base_path(tree_code, tree_node*, tree_node*, int, int)
        /home/jmelcr/gcc/src/gcc/gcc/cp/class.cc:350
0xb78d15 convert_like_internal
        /home/jmelcr/gcc/src/gcc/gcc/cp/call.cc:9171
0xb76b3e convert_like_with_context
        /home/jmelcr/gcc/src/gcc/gcc/cp/call.cc:9518
0xb76b3e operator()
        /home/jmelcr/gcc/src/gcc/gcc/cp/call.cc:10637
0xb76b3e build_over_call
        /home/jmelcr/gcc/src/gcc/gcc/cp/call.cc:10720
0xb74392 build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
        /home/jmelcr/gcc/src/gcc/gcc/cp/call.cc:12308
0xb75608 build_special_member_call(tree_node*, tree_node*, vec<tree_node*,
va_gc, vl_embed>**, tree_node*, int, int)
        /home/jmelcr/gcc/src/gcc/gcc/cp/call.cc:11791
0xb7914b build_temp
        /home/jmelcr/gcc/src/gcc/gcc/cp/call.cc:8492
0xb7914b convert_like_internal
        /home/jmelcr/gcc/src/gcc/gcc/cp/call.cc:9249
0xb76b3e convert_like_with_context
        /home/jmelcr/gcc/src/gcc/gcc/cp/call.cc:9518
0xb76b3e operator()
        /home/jmelcr/gcc/src/gcc/gcc/cp/call.cc:10637
0xb76b3e build_over_call
        /home/jmelcr/gcc/src/gcc/gcc/cp/call.cc:10720
0xb8dff6 build_new_op(op_location_t const&, tree_code, int, tree_node*,
tree_node*, tree_node*, tree_node*, tree_node**, int)
        /home/jmelcr/gcc/src/gcc/gcc/cp/call.cc:7545
0xe851f0 build_x_binary_op(op_location_t const&, tree_code, tree_node*,
tree_code, tree_node*, tree_code, tree_node*, tree_node**, int)
        /home/jmelcr/gcc/src/gcc/gcc/cp/typeck.cc:5042
0xd45957 cp_parser_binary_expression
        /home/jmelcr/gcc/src/gcc/gcc/cp/parser.cc:11801
0xd4682d cp_parser_assignment_expression
        /home/jmelcr/gcc/src/gcc/gcc/cp/parser.cc:11962
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Configuration:
Using built-in specs.
COLLECT_GCC=/home/jmelcr/gcc/build/bisect/install/bin/g++
COLLECT_LTO_WRAPPER=/home/jmelcr/gcc/build/bisect/install/libexec/gcc/x86_64-pc-linux-gnu/16.0.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /home/jmelcr/gcc/src/gcc/configure
--prefix=/home/jmelcr/gcc/build/bisect/install --enable-languages=c,c++
--disable-bootstrap
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 16.0.1 20260119 (experimental) (GCC)

Reply via email to