2010-07-27 Paolo Carlini <paolo.carlini@oracle.com>
[official-gcc/alias-decl.git] / gcc / testsuite / g++.dg / pr45056.C
bloba69107e35a463d0d9f301c8930db924d6e07eb03
1 /* { dg-do compile } */
2 /* { dg-options "-O -fschedule-insns2 -fschedule-insns -g" } */
4 template < class _T1, class _T2 > struct pair
6   _T1 first;
7   _T2 second;
8   pair (_T1 & __a, _T2 & __b)
9       :first (__a), second (__b)   
10     {    }
13 template < typename _Tp > struct _Vector_base
15   ~_Vector_base ();
18 template < typename _Tp>struct vector
19 : _Vector_base < _Tp>
21   template    <    typename     _ForwardIterator >   inline     void _Destroy (_ForwardIterator)   {  }
22   _Tp * _M_finish;
23   ~vector ()
24     {
25       _Destroy  ( this->_M_finish);
26     }
27 }   ;
28 template < typename ITV > struct Box
30   Box (const Box &);
31   Box ();
32   typedef vector < ITV > Sequence;
33   Sequence seq;
35 template < typename D > struct Powerset
37   Powerset (const Powerset &y) :reduced (y.reduced) {}
38   bool reduced;
39 } ;
40 template < typename PS > struct Pointset_Powerset :Powerset <  int >
42   Pointset_Powerset ();
43   int space_dim;
44 } ;
45 pair
47 Box<int>,
48 Pointset_Powerset < int > >
49 linear_partition ()
51   Pointset_Powerset < int > r ;
52   Box<int> qq;
53   return pair<Box<int>,Pointset_Powerset < int > >  (qq, r);