aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic10.C
blob: f9f82236d15f9ad540013f4b1079b4ac5abf3520 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
// PR c++/88337 - Implement P1327R1: Allow dynamic_cast/typeid in constexpr.
// { dg-do compile { target c++20 } }

// Virtual base.

struct C { virtual void a(); };
struct B { virtual void b(); };
struct A : virtual B, C { virtual void c(); }; // { dg-error ".struct A. has virtual base classes" }

constexpr A a; // { dg-error "call" }

constexpr bool b1 = (dynamic_cast<C&>((B&)a), false);