145
|
1 // { dg-do compile }
|
|
2 // { dg-require-effective-target c++11 }
|
|
3 // { dg-additional-options "-O3" }
|
|
4 // { dg-additional-options "-O3 -m32 -mno-sse" { target { i?86-*-* x86_64-*-* } } }
|
|
5
|
|
6 void *operator new(__SIZE_TYPE__, void *a) { return a; }
|
|
7 class b {
|
|
8 public:
|
|
9 using c = int *;
|
|
10 c e();
|
|
11 c h();
|
|
12 };
|
|
13 template <typename d> class j : b {
|
|
14 public:
|
|
15 void l() {
|
|
16 for (auto f = h(), g = e(); f != g; ++f)
|
|
17 new (f) d();
|
|
18 }
|
|
19 };
|
|
20 class m {
|
|
21 public:
|
|
22 enum i {};
|
|
23 struct C {
|
|
24 i : 8;
|
|
25 i k : 8;
|
|
26 };
|
|
27 };
|
|
28 class o {
|
|
29 j<m::C> n;
|
|
30 o();
|
|
31 };
|
|
32 o::o() { n.l(); }
|