blob: 514957bcde2f87a63ade75b444525322932f372d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
/* { dg-do compile } */
/* { dg-options "-O2 -Wstrict-aliasing" } */
inline void *operator new (__SIZE_TYPE__, void *__p) throw() { return __p; }
struct Y {
Y() {}
int i;
};
struct X {
X() {}
void construct(const Y& y)
{
new (&m_data[0]) Y(y);
}
bool initialized;
char m_data[sizeof (Y)];
};
void bar(const X&);
void foo(Y& y)
{
X x;
x.construct(y);
x.initialized = true;
bar(x);
}
|