OSDN Git Service

gcc/:
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / pr45056.C
1 /* { dg-do compile } */
2 /* { dg-options "-O -fschedule-insns2 -fschedule-insns -g" } */
3 /* { dg-require-effective-target scheduling } */
4
5 template < class _T1, class _T2 > struct pair
6 {
7   _T1 first;
8   _T2 second;
9   pair (_T1 & __a, _T2 & __b)
10       :first (__a), second (__b)   
11     {    }
12 }
13 ;
14 template < typename _Tp > struct _Vector_base
15 {
16   ~_Vector_base ();
17 }
18 ;
19 template < typename _Tp>struct vector
20 : _Vector_base < _Tp>
21 {
22   template    <    typename     _ForwardIterator >   inline     void _Destroy (_ForwardIterator)   {  }
23   _Tp * _M_finish;
24   ~vector ()
25     {
26       _Destroy  ( this->_M_finish);
27     }
28 }   ;
29 template < typename ITV > struct Box
30 {
31   Box (const Box &);
32   Box ();
33   typedef vector < ITV > Sequence;
34   Sequence seq;
35 };
36 template < typename D > struct Powerset
37 {
38   Powerset (const Powerset &y) :reduced (y.reduced) {}
39   bool reduced;
40 } ;
41 template < typename PS > struct Pointset_Powerset :Powerset <  int >
42 {
43   Pointset_Powerset ();
44   int space_dim;
45 } ;
46 pair
47 <
48 Box<int>,
49 Pointset_Powerset < int > >
50 linear_partition ()
51 {
52   Pointset_Powerset < int > r ;
53   Box<int> qq;
54   return pair<Box<int>,Pointset_Powerset < int > >  (qq, r);
55 }