From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001
From: upstream source tree <ports@midipix.org>
Date: Sun, 15 Mar 2015 20:14:05 -0400
Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified
 gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream
 tarball.

downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.

if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
---
 .../rank/requirements/explicit_instantiation.cc    | 33 ++++++++++++++++
 .../rank/requirements/typedefs.cc                  | 35 ++++++++++++++++
 .../testsuite/tr1/4_metaprogramming/rank/value.cc  | 46 ++++++++++++++++++++++
 3 files changed, 114 insertions(+)
 create mode 100644 libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/explicit_instantiation.cc
 create mode 100644 libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/typedefs.cc
 create mode 100644 libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/value.cc

(limited to 'libstdc++-v3/testsuite/tr1/4_metaprogramming/rank')

diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/explicit_instantiation.cc
new file mode 100644
index 000000000..f3aa7f658
--- /dev/null
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/explicit_instantiation.cc
@@ -0,0 +1,33 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007, 2009 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 3, 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 COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+
+// NB: This file is for testing type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct rank<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/typedefs.cc
new file mode 100644
index 000000000..74982f1e6
--- /dev/null
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/typedefs.cc
@@ -0,0 +1,35 @@
+// 2004-12-11  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004, 2009 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 3, 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 COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::rank<int>                 test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/value.cc
new file mode 100644
index 000000000..ff001ec96
--- /dev/null
+++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/value.cc
@@ -0,0 +1,46 @@
+// 2004-12-11  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004, 2009 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 3, 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 COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::rank;
+  using namespace __gnu_test;
+
+  VERIFY( (test_property<rank, int>(0)) );
+  VERIFY( (test_property<rank, int[2]>(1)) );
+  VERIFY( (test_property<rank, int[][4]>(2)) );
+  VERIFY( (test_property<rank, int[2][2][4][4][6][6]>(6)) );
+  VERIFY( (test_property<rank, ClassType>(0)) );
+  VERIFY( (test_property<rank, ClassType[2]>(1)) );
+  VERIFY( (test_property<rank, ClassType[][4]>(2)) );
+  VERIFY( (test_property<rank, ClassType[2][2][4][4][6][6]>(6)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
-- 
cgit v1.2.3