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

            Bug ID: 106925
           Summary: internal compiler error: Segmentation fault
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: carlosgalvezp at gmail dot com
  Target Milestone: ---

The following minimal example leads to a segfault of GCC on latest trunk:

#include <array>

template <typename T, std::size_t size>
struct MyVector
{
    std::array<T, size> data{};
};

template <typename T>
struct Foo final
{
    T a{0};
};

constexpr std::size_t kSize = 1;

void foo(MyVector<Foo<float>, kSize> input = MyVector<Foo<float>, kSize>())
{

}


<source>: In instantiation of 'constexpr MyVector<Foo<float>, 1>::MyVector()':
<source>:17:74:   required from here
<source>:6:25: internal compiler error: Segmentation fault
    6 |     std::array<T, size> data{};
      |                         ^~~~
0x23428ae internal_error(char const*, ...)
        ???:0
0xb9cae7 maybe_splice_retval_cleanup(tree_node*)
        ???:0
0xce4fc2 do_poplevel(tree_node*)
        ???:0
0xce7973 finish_for_stmt(tree_node*)
        ???:0
0xba5019 build_vec_init(tree_node*, tree_node*, tree_node*, bool, int, int,
vec<tree_node*, va_gc, vl_embed>**)
        ???:0
0xd0ee2e expand_vec_init_expr(tree_node*, tree_node*, int, vec<tree_node*,
va_gc, vl_embed>**)
        ???:0
0xd494d1 digest_nsdmi_init(tree_node*, tree_node*, int)
        ???:0
0xbaabe5 get_nsdmi(tree_node*, bool, int)
        ???:0
0xbd282d get_defaulted_eh_spec(tree_node*, int)
        ???:0
0xc9d42a maybe_instantiate_noexcept(tree_node*, int)
        ???:0
0xc9d23a maybe_instantiate_noexcept(tree_node*, int)
        ???:0
0xb85043 mark_used(tree_node*, int)
        ???:0
0xac7bfb build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
        ???:0
0xac9027 build_special_member_call(tree_node*, tree_node*, vec<tree_node*,
va_gc, vl_embed>**, tree_node*, int, int)
        ???:0
0xba3b2c build_value_init(tree_node*, int)
        ???:0
0xd4a73a build_functional_cast(unsigned int, tree_node*, tree_node*, int)
        ???:0
0xc743a7 c_parse_file()
        ???:0
0xdae9f9 c_common_parse_file()
        ???:0
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.
Compiler returned: 1

Can be reproduced on Compiler Explorer:
https://godbolt.org/z/fconh9nKa

Reply via email to