// RUN: %clang_cc1 -std=c++20 -verify %s | |
/// This test case used to crash in constant evaluation | |
/// because of the two-dimensional array with an array | |
/// filler expression. | |
/// expected-no-diagnostics | |
struct Foo { | |
int a; | |
constexpr Foo() | |
: a(get_int()) { | |
} | |
constexpr int get_int() const { | |
return 5; | |
} | |
}; | |
static constexpr Foo bar[2][1] = { | |
{{}}, | |
}; | |
static_assert(bar[0][0].a == 5); | |
static_assert(bar[1][0].a == 5); | |