https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92015
Bug ID: 92015 Summary: internal compiler error: in cxx_eval_array_reference, at cp/constexpr.c:2568 Product: gcc Version: 9.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ed at catmur dot uk Target Milestone: --- when indexing a char array initialized from a string literal in constexpr context: struct S1 { char c[6] {'h', 'e', 'l', 'l', 'o', 0}; }; struct S2 { char c[6] = "hello"; }; static_assert(S1{}.c[0] == 'h'); // OK static_assert(S2{}.c[0] == 'h'); // ICE Expected: both static_asserts pass. According to Godbolt, this ICE was introduced between 8.3 and 9.1, and is still present in 10.0.