Mercurial > hg > CbC > CbC_gcc
annotate gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-placement-new.C @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
rev | line source |
---|---|
111 | 1 /* { dg-do compile } */ |
2 /* { dg-options "-O2 -Wstrict-aliasing" } */ | |
3 | |
4 inline void *operator new (__SIZE_TYPE__, void *__p) throw() { return __p; } | |
5 | |
6 struct Y { | |
7 Y() {} | |
8 int i; | |
9 }; | |
10 | |
11 struct X { | |
12 X() {} | |
13 void construct(const Y& y) | |
14 { | |
15 new (&m_data[0]) Y(y); | |
16 } | |
17 bool initialized; | |
18 char m_data[sizeof (Y)]; | |
19 }; | |
20 | |
21 void bar(const X&); | |
22 void foo(Y& y) | |
23 { | |
24 X x; | |
25 x.construct(y); | |
26 x.initialized = true; | |
27 bar(x); | |
28 } | |
29 |