111
|
1 // { dg-lto-do link }
|
|
2 // { dg-lto-options { { -g -flto } } }
|
|
3
|
|
4 class sp_counted_base;
|
|
5 class shared_count {
|
|
6 sp_counted_base *pi_;
|
|
7 public:
|
|
8 template<class Y> shared_count(Y) : pi_() {}
|
|
9 ~shared_count() {}
|
|
10 };
|
|
11 template<class T> struct shared_ptr {
|
|
12 T element_type;
|
|
13 template<class Y> shared_ptr(Y) : pn(0) {}
|
|
14 shared_count pn;
|
|
15 };
|
|
16 template<class> class ECGetterBase;
|
|
17 template<class T> struct ExtensionCord {
|
|
18 struct Holder {
|
|
19 ECGetterBase<T> *getter_;
|
|
20 };
|
|
21 ExtensionCord() : holder_(new Holder) {}
|
|
22
|
|
23 shared_ptr<Holder> holder_;
|
|
24 };
|
|
25 ExtensionCord<int> a;
|
|
26 int main() {}
|