view gcc/testsuite/g++.dg/cpp0x/constexpr-reinterpret2.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

// { 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 ();