summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp0x/constexpr-reinterpret2.C
blob: 1bc2a8f301226f4ce993d90280b719f6d1cee741 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// { dg-do compile { target c++11 } }

struct S { void *p; };
struct T { S s; };
constexpr S s = { nullptr };
constexpr T t = { { nullptr } };

constexpr void *
foo ()
{
  return ((void **) &t)[0];	// { dg-error "reinterpret_cast" }
}

constexpr void *
bar ()
{
  return ((void **) &s)[0];	// { dg-error "reinterpret_cast" }
}

constexpr auto x = foo ();
constexpr auto y = bar ();