Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp2a/constexpr-new4.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
// P0784R7 // { dg-do compile { target c++2a } } // { dg-additional-options "-fdelete-null-pointer-checks" } struct S { constexpr S () : s (0) { s++; } constexpr S (int x) : s (x) { s += 2; } constexpr ~S () { if (s != 35) asm (""); s = 5; } int s; }; constexpr bool foo () { S *p = new S (7); if (p->s != 9) return false; p->s = 35; delete p; p = new S[3] { 11, 13, 15 }; if (p[0].s != 13 || p[1].s != 15 || p[2].s != 17) return false; p[0].s = 35; p[2].s = 35; p[1].s = 35; delete[] p; return true; } constexpr bool a = foo (); static_assert (a);