summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp0x/rv-cast6.C
blob: 3ae5691c5fdaf42d8c1a8bfa1b2948d2bd12acc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
// Test that a prvalue can be used where a glvalue is expected.
// { dg-do compile { target c++11 } }

struct A { virtual void f(); };
struct B : A {};

auto && a = static_cast<A&&>(B());
auto && b = reinterpret_cast<A&&>(B());
auto && c = dynamic_cast<A&&>(B());
auto && d = dynamic_cast<B&&>(static_cast<A&&>(B()));
auto && e = const_cast<B&&>(B());