Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/opt/flifetime-dse2.C @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 1830386684a0 |
children |
line wrap: on
line source
// { dg-options "-O3 -flifetime-dse" } // { dg-do run } // { dg-xfail-run-if "AIX operator new" { powerpc-ibm-aix* } } typedef __SIZE_TYPE__ size_t; inline void * operator new (size_t, void *p) { return p; } struct A { int i; A() {} ~A() {} }; int main() { int ar[1] = { 42 }; A* ap = new(ar) A; // When the constructor starts the object has indeterminate value. if (ap->i == 42) __builtin_abort(); ap->i = 42; ap->~A(); // When the destructor ends the object no longer exists. if (ar[0] == 42) __builtin_abort(); }