diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/pr45056.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/pr45056.C | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/pr45056.C b/gcc-4.9/gcc/testsuite/g++.dg/pr45056.C new file mode 100644 index 000000000..1f3fda08f --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/pr45056.C @@ -0,0 +1,55 @@ +/* { 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); +} |