| /* { dg-do compile } */ |
| /* { dg-options "-O -fschedule-insns2 -fschedule-insns -g" } */ |
| /* { dg-require-effective-target scheduling } */ |
| |
| template < class _T1, class _T2 > struct pair |
| { |
| _T1 first; |
| _T2 second; |
| pair (_T1 & __a, _T2 & __b) |
| :first (__a), second (__b) |
| { } |
| } |
| ; |
| template < typename _Tp > struct _Vector_base |
| { |
| ~_Vector_base (); |
| } |
| ; |
| template < typename _Tp>struct vector |
| : _Vector_base < _Tp> |
| { |
| template < typename _ForwardIterator > inline void _Destroy (_ForwardIterator) { } |
| _Tp * _M_finish; |
| ~vector () |
| { |
| _Destroy ( this->_M_finish); |
| } |
| } ; |
| template < typename ITV > struct Box |
| { |
| Box (const Box &); |
| Box (); |
| typedef vector < ITV > Sequence; |
| Sequence seq; |
| }; |
| template < typename D > struct Powerset |
| { |
| Powerset (const Powerset &y) :reduced (y.reduced) {} |
| bool reduced; |
| } ; |
| template < typename PS > struct Pointset_Powerset :Powerset < int > |
| { |
| Pointset_Powerset (); |
| int space_dim; |
| } ; |
| pair |
| < |
| Box<int>, |
| Pointset_Powerset < int > > |
| linear_partition () |
| { |
| Pointset_Powerset < int > r ; |
| Box<int> qq; |
| return pair<Box<int>,Pointset_Powerset < int > > (qq, r); |
| } |