]>
Commit | Line | Data |
---|---|---|
427f6cec AO |
1 | // PR debug/46583 |
2 | // { dg-do compile } | |
3 | // { dg-options "-O -fno-inline -fipa-cp -fipa-cp-clone -fcompare-debug" } | |
4f4b0ab8 | 4 | // { dg-xfail-if "" { powerpc-ibm-aix* } } |
427f6cec AO |
5 | |
6 | template < typename = unsigned long >struct A | |
7 | { | |
8 | unsigned long elems[3]; | |
9 | unsigned long *begin () | |
10 | { | |
11 | return 0; | |
12 | } | |
13 | }; | |
14 | ||
15 | void | |
16 | bar (unsigned long *a1, unsigned long, unsigned long *a3, unsigned const &) | |
17 | { | |
18 | *a3 = *a1; | |
19 | } | |
20 | ||
21 | A < >operatorM (A < >a1, unsigned long a2) | |
22 | { | |
23 | typedef A < >G; | |
24 | G a3; | |
25 | bar (a1.begin (), a2, a3.begin (), 0); | |
26 | return a3; | |
27 | } | |
28 | ||
29 | struct B | |
30 | { | |
31 | B (A < >m):n (operatorM (m, 1)) | |
32 | { | |
33 | } | |
34 | A < >n; | |
35 | }; | |
36 | ||
37 | void | |
38 | foo () | |
39 | { | |
40 | B (A < >()); | |
41 | } |