blob: c256814a3ade58f2c05696289afa4cd153545b03 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
// PR c++/54777
// { dg-options -std=c++11 }
struct S
{
int s[1];
constexpr const int &foo (unsigned i) { return (i < 1 ? 0 : throw 1), s[i]; }
constexpr const int &bar (unsigned i) { return i < 1 ? s[i] : (throw 0, s[i]); }
};
int
main ()
{
constexpr S a {};
constexpr int i = a.foo (0);
constexpr int j = a.bar (0);
static_assert (i == j, "Ouch");
}
|