Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp0x/literal-type1.C @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | 1830386684a0 |
children |
line wrap: on
line source
// CWG 2096 - constraints on literal unions. // { dg-do compile { target c++11 } } struct literal { }; typedef volatile int nonliteral_v; struct nonliteral { nonliteral() {} }; union U { literal l; nonliteral n; constexpr U() : l{} {} }; constexpr U u{}; union U2 { nonliteral n; literal l; constexpr U2() : l{} {} }; constexpr U2 u2{}; union U3 { // { dg-message "not literal" } nonliteral_v n; // { dg-message "volatile type" } constexpr U3() : n{} {} }; constexpr U3 u3{}; // { dg-error "not literal" } union U4 { nonliteral n; nonliteral_v n2; literal l; nonliteral n3; constexpr U4() : l{} {} }; constexpr U4 u4{}; union U5 { nonliteral_v n; literal l; constexpr U5() : n{} {} }; constexpr U5 u5{};