big_tuples.cc: New.

2007-12-24  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/20_util/tuple/cons/big_tuples.cc: New.
	* testsuite/20_util/tuple/cons/constructor.cc: Likewise.
	* testsuite/20_util/tuple/cons/assignment.cc: Likewise.
	* testsuite/20_util/tuple/tuple_element.cc: Likewise.
	* testsuite/20_util/tuple/tuple_size.cc: Likewise.
	* testsuite/20_util/tuple/comparison_operators/comparisons.cc:
	Likewise.
	* testsuite/20_util/tuple/element_access/get.cc: Likewise.
	* testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
	* testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
	* testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.

	* testsuite/20_util/tuple/requirements/explicit_instantiation.cc:
	Fix header file and namespace.

	* testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Minor tweaks.
	* testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/tuple_element.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/comparison_operators/
	comparisons.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
	Likewise.

From-SVN: r131159
This commit is contained in:
Paolo Carlini 2007-12-24 16:25:49 +00:00 committed by Paolo Carlini
parent 045fcc24c9
commit a1c1054b55
21 changed files with 578 additions and 11 deletions

View file

@ -1,3 +1,32 @@
2007-12-24 Paolo Carlini <pcarlini@suse.de>
* testsuite/20_util/tuple/cons/big_tuples.cc: New.
* testsuite/20_util/tuple/cons/constructor.cc: Likewise.
* testsuite/20_util/tuple/cons/assignment.cc: Likewise.
* testsuite/20_util/tuple/tuple_element.cc: Likewise.
* testsuite/20_util/tuple/tuple_size.cc: Likewise.
* testsuite/20_util/tuple/comparison_operators/comparisons.cc:
Likewise.
* testsuite/20_util/tuple/element_access/get.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
* testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
* testsuite/20_util/tuple/requirements/explicit_instantiation.cc:
Fix header file and namespace.
* testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Minor tweaks.
* testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
* testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
* testsuite/tr1/6_containers/tuple/tuple_element.cc: Likewise.
* testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
* testsuite/tr1/6_containers/tuple/comparison_operators/
comparisons.cc: Likewise.
* testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
* testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
* testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
Likewise.
2007-12-24 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/tr1/2_general_utilities/shared_ptr/thread/

View file

@ -0,0 +1,50 @@
// { dg-options "-std=gnu++0x" }
// Copyright (C) 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
#include <tuple>
#include <testsuite_hooks.h>
using namespace std;
bool test __attribute__((unused)) = true;
#define TEST1(x) VERIFY( x == x && !(x != x) && x <= x && !(x < x) )
int
main()
{
int i=0;
int j=0;
int k=2;
tuple<int, int, int> a(0, 0, 0);
tuple<int, int, int> b(0, 0, 1);
tuple<int& , int& , int&> c(i,j,k);
tuple<const int&, const int&, const int&> d(c);
TEST1(a);
TEST1(b);
TEST1(c);
TEST1(d);
VERIFY(!(a > a) && !(b > b));
VERIFY(a >= a && b >= b);
VERIFY(a < b && !(b < a) && a <= b && !(b <= a));
VERIFY(b > a && !(a > b) && b >= a && !(a >= b));
}

View file

@ -0,0 +1,53 @@
// { dg-options "-std=gnu++0x" }
// Copyright (C) 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
#include <tuple>
#include <testsuite_hooks.h>
using namespace std;
int
main()
{
bool test __attribute__((unused)) = true;
tuple<> ta;
tuple<> tb;
ta = tb;
tuple<int> tc(1);
tuple<int> td(0);
td = tc;
VERIFY(get<0>(td) == 1);
int i=0;
tuple<int&> te(i);
te = tc;
VERIFY(i == 1);
tuple<const int&> tf(tc);
get<0>(tc) = 2;
VERIFY(get<0>(tf) == 2);
tuple<double> tg;
tg = tc;
}

View file

@ -0,0 +1,105 @@
// { dg-options "-std=gnu++0x" }
// Copyright (C) 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
#include <tuple>
#include <testsuite_hooks.h>
using namespace std;
// A simple class without conversions to check some things
struct foo
{ };
void
test_constructors()
{
bool test __attribute__((unused)) = true;
int x1=0,x2=0;
const int &z1=x1;
// Test empty constructor
tuple<> ta;
tuple<int,int> tb;
// Test construction from values
tuple<int,int> tc(x1,x2);
tuple<int,int&> td(x1,x2);
tuple<const int&> te(z1);
x1=1;
x2=1;
VERIFY(get<0>(td) == 0 && get<1>(td) == 1 && get<0>(te) == 1);
// Test identical tuple copy constructor
tuple<int,int> tf(tc);
tuple<int,int> tg(td);
tuple<const int&> th(te);
// Test different tuple copy constructor
tuple<int,double> ti(tc);
tuple<int,double> tj(td);
// Test constructing from a pair
pair<int,int> pair1(1,1);
const pair<int,int> pair2(pair1);
tuple<int,int> tl(pair1);
tuple<int,const int&> tm(pair1);
tuple<int,int> tn(pair2);
tuple<int,const int&> to(pair2);
}
int
main(void)
{
//test construction
typedef tuple<int,int,int,int,int,int,int,int,int,int> type1;
type1 a(0, 0, 0, 0, 0, 0, 0, 0, 0, 1);
type1 b(0, 0, 0, 0, 0, 0, 0, 0, 0, 2);
type1 c(a);
typedef tuple<int,int,int,int,int,int,int,int,int,char> type2;
type2 d(0, 0, 0, 0, 0, 0, 0, 0, 0, 3);
type1 e(d);
typedef tuple<foo,int,int,int,int,int,int,int,int,foo> type3;
// get
VERIFY(get<9>(a)==1 && get<9>(b)==2);
// comparisons
VERIFY(a==a && !(a!=a) && a<=a && a>=a && !(a<a) && !(a>a));
VERIFY(!(a==b) && a!=b && a<=b && a<b && !(a>=b) && !(a>b));
//tie
{
int i = 0;
tie(ignore, ignore, ignore, ignore, ignore, ignore, ignore, ignore,
ignore, i) = a;
VERIFY(i == 1);
}
//test_assignment
a=d;
a=b;
//make_tuple
make_tuple(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
//tuple_size
VERIFY(tuple_size<type3>::value == 10);
//tuple_element
{
foo q1;
tuple_element<0,type3>::type q2(q1);
tuple_element<9,type3>::type q3(q1);
}
}

View file

@ -0,0 +1,65 @@
// { dg-options "-std=gnu++0x" }
// Copyright (C) 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
#include <tuple>
#include <testsuite_hooks.h>
using namespace std;
int
main()
{
bool test __attribute__((unused)) = true;
int x1=0,x2=0;
const int &z1=x1;
// Test empty constructor
tuple<> ta;
tuple<int,int> tb;
// Test construction from values
tuple<int,int> tc(x1,x2);
tuple<int,int&> td(x1,x2);
tuple<const int&> te(z1);
x1=1;
x2=1;
VERIFY(get<0>(td) == 0 && get<1>(td) == 1 && get<0>(te) == 1);
// Test identical tuple copy constructor
tuple<int,int> tf(tc);
tuple<int,int> tg(td);
tuple<const int&> th(te);
// Test different tuple copy constructor
tuple<int,double> ti(tc);
tuple<int,double> tj(td);
//tuple<int&, int&> tk(tc);
tuple<const int&, const int&> tl(tc);
tuple<const int&, const int&> tm(tl);
// Test constructing from a pair
pair<int,int> pair1(1,1);
const pair<int,int> pair2(pair1);
tuple<int,int> tn(pair1);
tuple<int,const int&> to(pair1);
tuple<int,int> tp(pair2);
tuple<int,const int&> tq(pair2);
return 0;
}

View file

@ -0,0 +1,46 @@
// { dg-options "-std=gnu++0x" }
//
// Copyright (C) 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
#include <tuple>
#include <utility>
#include <testsuite_hooks.h>
using namespace std;
// libstdc++/23978
void test01()
{
bool test __attribute__((unused)) = true;
pair<int, int> p(1, 2);
int x = 0;
int y = 0;
tie(x, y) = p;
VERIFY( x == 1 && y == 2 );
}
int
main()
{
test01();
return 0;
}

View file

@ -0,0 +1,38 @@
// { dg-options "-std=gnu++0x" }
// Copyright (C) 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
#include <tuple>
#include <functional>
#include <testsuite_hooks.h>
using namespace std;
int
main()
{
bool test __attribute__((unused)) = true;
int i=0;
make_tuple(1,2,4.0);
make_tuple(ref(i)) = tuple<int>(1);
VERIFY(i == 1);
}

View file

@ -0,0 +1,43 @@
// { dg-options "-std=gnu++0x" }
// Copyright (C) 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
#include <tuple>
#include <testsuite_hooks.h>
using namespace std;
int
main()
{
bool test __attribute__((unused)) = true;
int x1 = 0;
int x2 = 0;
int y1 = 0;
int y2 = 0;
tuple<int,int> ta(1,1);
tuple<const int&,const int&> tc(x1,x2);
tie(y1,y2)=ta;
VERIFY(y1 == 1 && y2 == 1);
tie(y1,y2)=tc;
VERIFY(y1 == 0 && y2 == 0);
}

View file

@ -0,0 +1,45 @@
// { dg-options "-std=gnu++0x" }
// Copyright (C) 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
#include <tuple>
#include <testsuite_hooks.h>
using namespace std;
int
main()
{
bool test __attribute__((unused)) = true;
int j=1;
const int k=2;
tuple<int,int &,const int&> a(0,j,k);
const tuple<int,int &,const int&> b(1,j,k);
VERIFY(get<0>(a)==0 && get<1>(a)==1 && get<2>(a)==2);
get<0>(a)=3;
get<1>(a)=4;
VERIFY(get<0>(a)==3 && get<1>(a)==4);
VERIFY(j==4);
get<1>(b)=5;
VERIFY(get<0>(b)==1 && get<1>(b)==5 && get<2>(b)==2);
VERIFY(j==5);
}

View file

@ -28,6 +28,6 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#include <tr1/tuple>
#include <tuple>
template class std::tr1::tuple<short, int, double>;
template class std::tuple<short, int, double>;

View file

@ -0,0 +1,38 @@
// { dg-options "-std=gnu++0x" }
// Copyright (C) 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
#include <tuple>
using namespace std;
struct foo
{ };
int
main()
{
// As foo isn't constructible from anything else, this
// lets us check if type is returning foo when it should
foo q1;
tuple_element<0,tuple<foo,void,int> >::type q2(q1);
tuple_element<2,tuple<void,int,foo> >::type q3(q1);
}

View file

@ -0,0 +1,39 @@
// { dg-options "-std=gnu++0x" }
// Copyright (C) 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// Tuple
#include <tuple>
#include <testsuite_hooks.h>
using namespace std;
int
main()
{
bool test __attribute__((unused)) = true;
VERIFY(tuple_size<tuple<> >::value == 0);
VERIFY(tuple_size<tuple<int> >::value == 1);
VERIFY(tuple_size<tuple<void> >::value == 1);
typedef tuple<int,const int&,void> test_tuple1;
VERIFY(tuple_size<test_tuple1>::value == 3);
VERIFY(tuple_size<tuple<tuple<void> > >::value == 1);
}

View file

@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
// Copyright (C) 2004 Free Software Foundation, Inc.
// Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -25,6 +25,8 @@
using namespace std::tr1;
bool test __attribute__((unused)) = true;
#define TEST1(x) VERIFY( x == x && !(x != x) && x <= x && !(x < x) )
int

View file

@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
// Copyright (C) 2004 Free Software Foundation, Inc.
// Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -28,6 +28,8 @@ using namespace std::tr1;
int
main()
{
bool test __attribute__((unused)) = true;
tuple<> ta;
tuple<> tb;
ta = tb;

View file

@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
// Copyright (C) 2004 Free Software Foundation, Inc.
// Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -33,6 +33,8 @@ struct foo
void
test_constructors()
{
bool test __attribute__((unused)) = true;
int x1=0,x2=0;
const int &z1=x1;

View file

@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
// Copyright (C) 2004 Free Software Foundation, Inc.
// Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -29,6 +29,8 @@ using std::pair;
int
main()
{
bool test __attribute__((unused)) = true;
int x1=0,x2=0;
const int &z1=x1;

View file

@ -29,6 +29,8 @@ using namespace std::tr1;
int
main()
{
bool test __attribute__((unused)) = true;
int i=0;
make_tuple(1,2,4.0);
make_tuple(ref(i)) = tuple<int>(1);

View file

@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
// Copyright (C) 2004 Free Software Foundation, Inc.
// Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -28,6 +28,8 @@ using namespace std::tr1;
int
main()
{
bool test __attribute__((unused)) = true;
int x1 = 0;
int x2 = 0;
int y1 = 0;

View file

@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
// Copyright (C) 2004 Free Software Foundation, Inc.
// Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -28,6 +28,8 @@ using namespace std::tr1;
int
main()
{
bool test __attribute__((unused)) = true;
int j=1;
const int k=2;
tuple<int,int &,const int&> a(0,j,k);

View file

@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
// Copyright (C) 2004 Free Software Foundation, Inc.
// Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -31,7 +31,7 @@ struct foo
int
main()
{
// As foo isn't constructable from anything else, this
// As foo isn't constructible from anything else, this
// lets us check if type is returning foo when it should
foo q1;
tuple_element<0,tuple<foo,void,int> >::type q2(q1);

View file

@ -1,6 +1,6 @@
// 2004-09-23 Chris Jefferson <chris@bubblescope.net>
// Copyright (C) 2004 Free Software Foundation, Inc.
// Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -28,6 +28,8 @@ using namespace std::tr1;
int
main()
{
bool test __attribute__((unused)) = true;
VERIFY(tuple_size<tuple<> >::value == 0);
VERIFY(tuple_size<tuple<int> >::value == 1);
VERIFY(tuple_size<tuple<void> >::value == 1);