1 /* { dg-do compile } */
2 /* { dg-options "-O1 -ftree-vectorize -fno-vect-cost-model -fnon-call-exceptions" } */
3 
4 template < typename _Tp > struct new_allocator
5 {
6   typedef _Tp * pointer;
7     template < typename > struct rebind
8   {
9     typedef new_allocator other;
10   };
11 
12 };
13 
14 template < typename _Tp > struct allocator:public new_allocator < _Tp >
15 {};
16 
17 template < typename _Tp, typename _Alloc > struct _Vector_base
18 {
19   typedef typename _Alloc::template rebind < _Tp >::other _Tp_alloc_type;
20   struct
21   {
22     typename _Tp_alloc_type::pointer _M_start;
23     typename _Tp_alloc_type::pointer _M_finish;
24     typename _Tp_alloc_type::pointer _M_end_of_storage;
25   };
26 
27 };
28 
29 template
30   <
31   typename
32   _Tp,
33   typename
34   _Alloc = allocator < _Tp > >struct vector:_Vector_base < _Tp, _Alloc >
35 {
36   typedef _Vector_base < _Tp, _Alloc > _Base;
vectorvector37     vector ():_Base ()
38   {}
39    ~vector ();
40 }
41 ;
42 struct LoadGraph
43 {
44   LoadGraph (int);
45     vector < struct _GdkColor >colors;
46     vector < float >data_block;
47 };
48 
LoadGraph(int)49 LoadGraph::LoadGraph (int)
50 {}
51 
52