blob: 1f3fda08f8fe08a5f4b029bad12fe5105f6935ea [file] [log] [blame]
/* { 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);
}