2014-01-30 Alangi Derick <alangiderick@gmail.com>
[official-gcc.git] / gcc / testsuite / g++.dg / template / lvalue1.C
blob9def2a18ce40bde089e4fff8fee1b9f70328c2d0
1 // PR c++/38877
3 template<class _T1, class _T2>
4 struct pair
6   typedef _T1 first_type;
7   typedef _T2 second_type;
8   _T1 first;
9   _T2 second;
10   pair () : first(), second() { }
11   pair(const _T1& __a, const _T2& __b)
12     : first(__a), second(__b) { }
15 template<class _T1, class _T2>
16 inline pair<_T1, _T2>
17 make_pair(_T1 __x, _T2 __y)
19     return pair<_T1, _T2>(__x, __y);
22 template <int dim> class bar;
24 template <int dim>
25 pair<bar<dim> *, unsigned int>
26 foo (unsigned int position)
27 {  
28       const pair<int,unsigned int> tmp;
29       return make_pair (new bar<dim>(tmp.first),
30                              position);
31  }