From 4a27a739a266b3312bc85742fd98634e492d3c14 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Sat, 2 Jun 2007 17:24:09 +0000 Subject: [PATCH] type_traits (is_reference, [...]): Remove. 2007-06-02 Paolo Carlini * include/tr1_impl/type_traits (is_reference, add_reference, remove_reference): Remove. * include/tr1/type_traits (is_reference, add_reference, remove_reference): Add. * include/std/type_traits (is_lvalue_reference, is_rvalue_reference, is_reference, remove_reference, add_lvalue_reference, add_rvalue_reference): Add. * include/tr1_impl/boost_shared_ptr.h (operator*): Adjust. * testsuite/20_util/add_lvalue_reference/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/add_lvalue_reference/value.cc: Likewise. * testsuite/20_util/add_rvalue_reference/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/add_rvalue_reference/value.cc: Likewise. * testsuite/20_util/is_lvalue_reference/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_lvalue_reference/requirements/ typedefs.cc: Likewise. * testsuite/20_util/is_lvalue_reference/value.cc: Likewise. * testsuite/20_util/is_rvalue_reference/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_rvalue_reference/requirements/ typedefs.cc: Likewise. * testsuite/20_util/is_rvalue_reference/value.cc: Likewise. * testsuite/20_util/is_reference/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_reference/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_reference/value.cc: Likewise. * testsuite/20_util/remove_reference/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/remove_reference/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/add_const/requirements/ typedefs.cc: Move... * testsuite/tr1/4_metaprogramming/add_const/value.cc: ... here. * testsuite/tr1/4_metaprogramming/add_cv/requirements/ typedefs.cc: Move... * testsuite/tr1/4_metaprogramming/add_cv/value.cc: ... here. * testsuite/tr1/4_metaprogramming/add_pointer/requirements/ typedefs.cc: Move... * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: ... here. * testsuite/tr1/4_metaprogramming/add_reference/requirements/ typedefs.cc: Move... * testsuite/tr1/4_metaprogramming/add_reference/value.cc: ... here. * testsuite/tr1/4_metaprogramming/add_volatile/requirements/ typedefs.cc: Move... * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: ... here. * testsuite/tr1/4_metaprogramming/aligned_storage/requirements/ typedefs.cc: Move... * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: ... here. From-SVN: r125283 --- libstdc++-v3/ChangeLog | 53 +++++++++++++ libstdc++-v3/include/std/type_traits | 77 ++++++++++++++++++- libstdc++-v3/include/tr1/type_traits | 60 +++++++++++---- .../include/tr1_impl/boost_shared_ptr.h | 6 +- libstdc++-v3/include/tr1_impl/type_traits | 32 -------- .../requirements/explicit_instantiation.cc | 40 ++++++++++ .../20_util/add_lvalue_reference/value.cc | 50 ++++++++++++ .../requirements/explicit_instantiation.cc | 40 ++++++++++ .../20_util/add_rvalue_reference/value.cc | 48 ++++++++++++ .../requirements/explicit_instantiation.cc | 40 ++++++++++ .../requirements/typedefs.cc | 37 +++++++++ .../20_util/is_lvalue_reference/value.cc | 45 +++++++++++ .../requirements/explicit_instantiation.cc | 40 ++++++++++ .../is_reference/requirements/typedefs.cc | 37 +++++++++ .../testsuite/20_util/is_reference/value.cc | 47 +++++++++++ .../requirements/explicit_instantiation.cc | 40 ++++++++++ .../requirements/typedefs.cc | 37 +++++++++ .../20_util/is_rvalue_reference/value.cc | 45 +++++++++++ .../make_signed/requirements/typedefs_neg.cc | 4 +- .../requirements/typedefs_neg.cc | 4 +- .../requirements/explicit_instantiation.cc | 40 ++++++++++ .../20_util/remove_reference/value.cc | 53 +++++++++++++ .../{requirements/typedefs.cc => value.cc} | 2 +- .../{requirements/typedefs.cc => value.cc} | 2 +- .../{requirements/typedefs.cc => value.cc} | 2 +- .../{requirements/typedefs.cc => value.cc} | 2 +- .../{requirements/typedefs.cc => value.cc} | 2 +- .../{requirements/typedefs.cc => value.cc} | 2 +- 28 files changed, 828 insertions(+), 59 deletions(-) create mode 100644 libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/explicit_instantiation.cc create mode 100644 libstdc++-v3/testsuite/20_util/add_lvalue_reference/value.cc create mode 100644 libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/explicit_instantiation.cc create mode 100644 libstdc++-v3/testsuite/20_util/add_rvalue_reference/value.cc create mode 100644 libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/explicit_instantiation.cc create mode 100644 libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/typedefs.cc create mode 100644 libstdc++-v3/testsuite/20_util/is_lvalue_reference/value.cc create mode 100644 libstdc++-v3/testsuite/20_util/is_reference/requirements/explicit_instantiation.cc create mode 100644 libstdc++-v3/testsuite/20_util/is_reference/requirements/typedefs.cc create mode 100644 libstdc++-v3/testsuite/20_util/is_reference/value.cc create mode 100644 libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/explicit_instantiation.cc create mode 100644 libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/typedefs.cc create mode 100644 libstdc++-v3/testsuite/20_util/is_rvalue_reference/value.cc create mode 100644 libstdc++-v3/testsuite/20_util/remove_reference/requirements/explicit_instantiation.cc create mode 100644 libstdc++-v3/testsuite/20_util/remove_reference/value.cc rename libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/{requirements/typedefs.cc => value.cc} (96%) rename libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/{requirements/typedefs.cc => value.cc} (96%) rename libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/{requirements/typedefs.cc => value.cc} (95%) rename libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/{requirements/typedefs.cc => value.cc} (95%) rename libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/{requirements/typedefs.cc => value.cc} (96%) rename libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/{requirements/typedefs.cc => value.cc} (97%) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 45d9f203ca1..4655e73aa01 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,56 @@ +2007-06-02 Paolo Carlini + + * include/tr1_impl/type_traits (is_reference, add_reference, + remove_reference): Remove. + * include/tr1/type_traits (is_reference, add_reference, + remove_reference): Add. + * include/std/type_traits (is_lvalue_reference, is_rvalue_reference, + is_reference, remove_reference, add_lvalue_reference, + add_rvalue_reference): Add. + * include/tr1_impl/boost_shared_ptr.h (operator*): Adjust. + * testsuite/20_util/add_lvalue_reference/requirements/ + explicit_instantiation.cc: New. + * testsuite/20_util/add_lvalue_reference/value.cc: Likewise. + * testsuite/20_util/add_rvalue_reference/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/add_rvalue_reference/value.cc: Likewise. + * testsuite/20_util/is_lvalue_reference/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/is_lvalue_reference/requirements/ + typedefs.cc: Likewise. + * testsuite/20_util/is_lvalue_reference/value.cc: Likewise. + * testsuite/20_util/is_rvalue_reference/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/is_rvalue_reference/requirements/ + typedefs.cc: Likewise. + * testsuite/20_util/is_rvalue_reference/value.cc: Likewise. + * testsuite/20_util/is_reference/requirements/ + explicit_instantiation.cc: Likewise. + * testsuite/20_util/is_reference/requirements/typedefs.cc: Likewise. + * testsuite/20_util/is_reference/value.cc: Likewise. + * testsuite/20_util/remove_reference/requirements/ + explicit_instantiation.cc: New. + * testsuite/20_util/remove_reference/value.cc: Likewise. + + * testsuite/tr1/4_metaprogramming/add_const/requirements/ + typedefs.cc: Move... + * testsuite/tr1/4_metaprogramming/add_const/value.cc: ... here. + * testsuite/tr1/4_metaprogramming/add_cv/requirements/ + typedefs.cc: Move... + * testsuite/tr1/4_metaprogramming/add_cv/value.cc: ... here. + * testsuite/tr1/4_metaprogramming/add_pointer/requirements/ + typedefs.cc: Move... + * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: ... here. + * testsuite/tr1/4_metaprogramming/add_reference/requirements/ + typedefs.cc: Move... + * testsuite/tr1/4_metaprogramming/add_reference/value.cc: ... here. + * testsuite/tr1/4_metaprogramming/add_volatile/requirements/ + typedefs.cc: Move... + * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: ... here. + * testsuite/tr1/4_metaprogramming/aligned_storage/requirements/ + typedefs.cc: Move... + * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: ... here. + 2007-06-02 Paolo Bonzini * configure: Regenerate. diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 8dbfb562295..5113184795a 100644 --- a/libstdc++-v3/include/std/type_traits +++ b/libstdc++-v3/include/std/type_traits @@ -62,6 +62,77 @@ namespace std { + // Primary classification traits. + template + struct is_lvalue_reference + : public false_type { }; + + template + struct is_lvalue_reference<_Tp&> + : public true_type { }; + + template + struct is_rvalue_reference + : public false_type { }; + + template + struct is_rvalue_reference<_Tp&&> + : public true_type { }; + + // Secondary classification traits. + template + struct is_reference + : public integral_constant::value + || is_rvalue_reference<_Tp>::value)> + { }; + + // Reference transformations. + template + struct remove_reference + { typedef _Tp type; }; + + template + struct remove_reference<_Tp&> + { typedef _Tp type; }; + + template + struct remove_reference<_Tp&&> + { typedef _Tp type; }; + + template::value || is_function<_Tp>::value, + bool = is_rvalue_reference<_Tp>::value> + struct __add_lvalue_reference_helper + { typedef _Tp type; }; + + template + struct __add_lvalue_reference_helper<_Tp, true, false> + { typedef _Tp& type; }; + + template + struct __add_lvalue_reference_helper<_Tp, false, true> + { typedef typename remove_reference<_Tp>::type& type; }; + + template + struct add_lvalue_reference + : public __add_lvalue_reference_helper<_Tp> + { }; + + template::value || is_function<_Tp>::value> + struct __add_rvalue_reference_helper + { typedef _Tp type; }; + + template + struct __add_rvalue_reference_helper<_Tp, true> + { typedef _Tp&& type; }; + + template + struct add_rvalue_reference + : public __add_rvalue_reference_helper<_Tp> + { }; + + // Scalar properties and transformations. template::value, bool = is_floating_point<_Tp>::value> @@ -88,6 +159,7 @@ namespace std && !is_signed<_Tp>::value)> { }; + // Member introspection. template struct is_pod : public integral_constant @@ -133,8 +205,7 @@ namespace std : public integral_constant { }; - // XXX FIXME - // The C++0x specifications are different, see N2255. + // Relationships between types. template struct __is_convertible_simple : public __sfinae_types @@ -178,6 +249,8 @@ namespace std || (__is_int_or_cref<_To>::__value && !is_void<_From>::value)); }; + // XXX FIXME + // The C++0x specifications are different, see N2255. template struct is_convertible : public integral_constant, _Value) template - struct is_signed + struct is_reference : public false_type { }; - _DEFINE_SPEC(0, is_signed, signed char, true) - _DEFINE_SPEC(0, is_signed, short, true) - _DEFINE_SPEC(0, is_signed, int, true) - _DEFINE_SPEC(0, is_signed, long, true) - _DEFINE_SPEC(0, is_signed, long long, true) - template - struct is_unsigned - : public false_type { }; - _DEFINE_SPEC(0, is_unsigned, unsigned char, true) - _DEFINE_SPEC(0, is_unsigned, unsigned short, true) - _DEFINE_SPEC(0, is_unsigned, unsigned int, true) - _DEFINE_SPEC(0, is_unsigned, unsigned long, true) - _DEFINE_SPEC(0, is_unsigned, unsigned long long, true) + template + struct is_reference<_Tp&> + : public true_type { }; template struct is_pod @@ -132,6 +122,24 @@ namespace tr1 : public integral_constant::value> { }; + template + struct is_signed + : public false_type { }; + _DEFINE_SPEC(0, is_signed, signed char, true) + _DEFINE_SPEC(0, is_signed, short, true) + _DEFINE_SPEC(0, is_signed, int, true) + _DEFINE_SPEC(0, is_signed, long, true) + _DEFINE_SPEC(0, is_signed, long long, true) + + template + struct is_unsigned + : public false_type { }; + _DEFINE_SPEC(0, is_unsigned, unsigned char, true) + _DEFINE_SPEC(0, is_unsigned, unsigned short, true) + _DEFINE_SPEC(0, is_unsigned, unsigned int, true) + _DEFINE_SPEC(0, is_unsigned, unsigned long, true) + _DEFINE_SPEC(0, is_unsigned, unsigned long long, true) + template struct __is_base_of_helper { @@ -198,6 +206,30 @@ namespace tr1 __is_convertible_helper<_From, _To>::__value> { }; + /// @brief reference modifications [4.7.2]. + template + struct remove_reference + { typedef _Tp type; }; + + template + struct remove_reference<_Tp&> + { typedef _Tp type; }; + + // NB: Careful with reference to void. + template::value + || is_reference<_Tp>::value)> + struct __add_reference_helper + { typedef _Tp& type; }; + + template + struct __add_reference_helper<_Tp, true> + { typedef _Tp type; }; + + template + struct add_reference + : public __add_reference_helper<_Tp> + { }; + #undef _DEFINE_SPEC_0_HELPER #undef _DEFINE_SPEC #undef _DEFINE_SPEC_BODY diff --git a/libstdc++-v3/include/tr1_impl/boost_shared_ptr.h b/libstdc++-v3/include/tr1_impl/boost_shared_ptr.h index 1a1af5ccd77..d211055c58a 100644 --- a/libstdc++-v3/include/tr1_impl/boost_shared_ptr.h +++ b/libstdc++-v3/include/tr1_impl/boost_shared_ptr.h @@ -647,7 +647,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 { __shared_ptr(__p, __d).swap(*this); } // Allow class instantiation when _Tp is [cv-qual] void. - typename add_reference<_Tp>::type +#ifdef _GLIBCXX_INCLUDE_AS_CXX0X + typename std::add_lvalue_reference<_Tp>::type +#else + typename std::tr1::add_reference<_Tp>::type +#endif operator*() const // never throws { _GLIBCXX_DEBUG_ASSERT(_M_ptr != 0); diff --git a/libstdc++-v3/include/tr1_impl/type_traits b/libstdc++-v3/include/tr1_impl/type_traits index 9fa77caeff8..9035fafece3 100644 --- a/libstdc++-v3/include/tr1_impl/type_traits +++ b/libstdc++-v3/include/tr1_impl/type_traits @@ -132,14 +132,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 : public false_type { }; _DEFINE_SPEC(1, is_pointer, _Tp*, true) - template - struct is_reference - : public false_type { }; - - template - struct is_reference<_Tp&> - : public true_type { }; - template struct is_member_object_pointer : public false_type { }; @@ -343,30 +335,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 add_const::type>::type type; }; - /// @brief reference modifications [4.7.2]. - template - struct remove_reference - { typedef _Tp type; }; - - template - struct remove_reference<_Tp&> - { typedef _Tp type; }; - - // NB: Careful with reference to void. - template::value - || is_reference<_Tp>::value)> - struct __add_reference_helper - { typedef _Tp& type; }; - - template - struct __add_reference_helper<_Tp, true> - { typedef _Tp type; }; - - template - struct add_reference - : public __add_reference_helper<_Tp> - { }; - /// @brief array modifications [4.7.3]. template struct remove_extent diff --git a/libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/explicit_instantiation.cc new file mode 100644 index 00000000000..3eefabc27b6 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/add_lvalue_reference/requirements/explicit_instantiation.cc @@ -0,0 +1,40 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } +// 2007-06-02 Paolo Carlini + +// 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. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include + +namespace std +{ + typedef short test_type; + template struct add_lvalue_reference; +} diff --git a/libstdc++-v3/testsuite/20_util/add_lvalue_reference/value.cc b/libstdc++-v3/testsuite/20_util/add_lvalue_reference/value.cc new file mode 100644 index 00000000000..b4f4be44a0f --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/add_lvalue_reference/value.cc @@ -0,0 +1,50 @@ +// { dg-options "-std=gnu++0x" } +// 2007-06-02 Paolo Carlini +// +// 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. + +#include +#include +#include + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::add_lvalue_reference; + using std::is_same; + using namespace __gnu_test; + + VERIFY( (is_same::type, int&>::value) ); + VERIFY( (is_same::type, int&>::value) ); + VERIFY( (is_same::type, const int&>::value) ); + VERIFY( (is_same::type, int*&>::value) ); + VERIFY( (is_same::type, ClassType&>::value) ); + VERIFY( (is_same::type, ClassType&>::value) ); + VERIFY( (is_same::type, int(&)(int)>::value) ); + VERIFY( (is_same::type, int&>::value) ); + VERIFY( (is_same::type, ClassType&>::value) ); + VERIFY( (is_same::type, void>::value) ); + VERIFY( (is_same::type, const void>::value) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/explicit_instantiation.cc new file mode 100644 index 00000000000..6dd1f9bd731 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/add_rvalue_reference/requirements/explicit_instantiation.cc @@ -0,0 +1,40 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } +// 2007-06-02 Paolo Carlini + +// 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. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include + +namespace std +{ + typedef short test_type; + template struct add_rvalue_reference; +} diff --git a/libstdc++-v3/testsuite/20_util/add_rvalue_reference/value.cc b/libstdc++-v3/testsuite/20_util/add_rvalue_reference/value.cc new file mode 100644 index 00000000000..27099152c06 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/add_rvalue_reference/value.cc @@ -0,0 +1,48 @@ +// { dg-options "-std=gnu++0x" } +// 2007-06-02 Paolo Carlini +// +// 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. + +#include +#include +#include + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::add_rvalue_reference; + using std::is_same; + using namespace __gnu_test; + + VERIFY( (is_same::type, int&&>::value) ); + VERIFY( (is_same::type, int&&>::value) ); + VERIFY( (is_same::type, const int&&>::value) ); + VERIFY( (is_same::type, int*&&>::value) ); + VERIFY( (is_same::type, ClassType&&>::value) ); + VERIFY( (is_same::type, ClassType&&>::value) ); + VERIFY( (is_same::type, int(&&)(int)>::value) ); + VERIFY( (is_same::type, void>::value) ); + VERIFY( (is_same::type, const void>::value) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/explicit_instantiation.cc new file mode 100644 index 00000000000..a2c928e4214 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/explicit_instantiation.cc @@ -0,0 +1,40 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } +// 2007-06-02 Paolo Carlini + +// 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. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include + +namespace std +{ + typedef short test_type; + template struct is_lvalue_reference; +} diff --git a/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/typedefs.cc new file mode 100644 index 00000000000..73152447d28 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/is_lvalue_reference/requirements/typedefs.cc @@ -0,0 +1,37 @@ +// { dg-options "-std=gnu++0x" } +// 2007-06-02 Paolo Carlini +// +// 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. + +// +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include + +// { dg-do compile } + +void test01() +{ + // Check for required typedefs + typedef std::is_lvalue_reference 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/20_util/is_lvalue_reference/value.cc b/libstdc++-v3/testsuite/20_util/is_lvalue_reference/value.cc new file mode 100644 index 00000000000..a80e6068849 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/is_lvalue_reference/value.cc @@ -0,0 +1,45 @@ +// { dg-options "-std=gnu++0x" } +// 2007-06-02 Paolo Carlini +// +// 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. + +#include +#include +#include + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::is_lvalue_reference; + using namespace __gnu_test; + + VERIFY( (test_category(true)) ); + VERIFY( (test_category(true)) ); + VERIFY( (test_category(true)) ); + + // Sanity check. + VERIFY( (test_category(false)) ); + VERIFY( (test_category(false)) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/is_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_reference/requirements/explicit_instantiation.cc new file mode 100644 index 00000000000..4cf457091b9 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/is_reference/requirements/explicit_instantiation.cc @@ -0,0 +1,40 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } +// 2007-06-02 Paolo Carlini + +// 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. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include + +namespace std +{ + typedef short test_type; + template struct is_reference; +} diff --git a/libstdc++-v3/testsuite/20_util/is_reference/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_reference/requirements/typedefs.cc new file mode 100644 index 00000000000..5ad8587b73c --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/is_reference/requirements/typedefs.cc @@ -0,0 +1,37 @@ +// { dg-options "-std=gnu++0x" } +// 2007-06-02 Paolo Carlini +// +// 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. + +// +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include + +// { dg-do compile } + +void test01() +{ + // Check for required typedefs + typedef std::is_reference 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/20_util/is_reference/value.cc b/libstdc++-v3/testsuite/20_util/is_reference/value.cc new file mode 100644 index 00000000000..af425c101e8 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/is_reference/value.cc @@ -0,0 +1,47 @@ +// { dg-options "-std=gnu++0x" } +// 2007-06-02 Paolo Carlini +// +// 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. + +#include +#include +#include + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::is_reference; + using namespace __gnu_test; + + VERIFY( (test_category(true)) ); + VERIFY( (test_category(true)) ); + VERIFY( (test_category(true)) ); + VERIFY( (test_category(true)) ); + VERIFY( (test_category(true)) ); + VERIFY( (test_category(true)) ); + + // Sanity check. + VERIFY( (test_category(false)) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/explicit_instantiation.cc new file mode 100644 index 00000000000..f4f45bf1501 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/explicit_instantiation.cc @@ -0,0 +1,40 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } +// 2007-06-02 Paolo Carlini + +// 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. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include + +namespace std +{ + typedef short test_type; + template struct is_rvalue_reference; +} diff --git a/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/typedefs.cc new file mode 100644 index 00000000000..5e3d68c434a --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/is_rvalue_reference/requirements/typedefs.cc @@ -0,0 +1,37 @@ +// { dg-options "-std=gnu++0x" } +// 2007-06-02 Paolo Carlini +// +// 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. + +// +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include + +// { dg-do compile } + +void test01() +{ + // Check for required typedefs + typedef std::is_rvalue_reference 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/20_util/is_rvalue_reference/value.cc b/libstdc++-v3/testsuite/20_util/is_rvalue_reference/value.cc new file mode 100644 index 00000000000..55f76d61bd1 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/is_rvalue_reference/value.cc @@ -0,0 +1,45 @@ +// { dg-options "-std=gnu++0x" } +// 2007-06-02 Paolo Carlini +// +// 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. + +#include +#include +#include + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::is_rvalue_reference; + using namespace __gnu_test; + + VERIFY( (test_category(true)) ); + VERIFY( (test_category(true)) ); + VERIFY( (test_category(true)) ); + + // Sanity check. + VERIFY( (test_category(false)) ); + VERIFY( (test_category(false)) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc index 044f979ab67..db34e04c171 100644 --- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc +++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc @@ -49,8 +49,8 @@ void test01() // { dg-error "instantiated from here" "" { target *-*-* } 41 } // { dg-error "instantiated from here" "" { target *-*-* } 43 } -// { dg-error "invalid use of incomplete type" "" { target *-*-* } 424 } -// { dg-error "declaration of" "" { target *-*-* } 390 } +// { dg-error "invalid use of incomplete type" "" { target *-*-* } 497 } +// { dg-error "declaration of" "" { target *-*-* } 463 } // { dg-excess-errors "At global scope" } // { dg-excess-errors "In instantiation of" } diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc index f12d941616a..e64c0e2501e 100644 --- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc +++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc @@ -49,8 +49,8 @@ void test01() // { dg-error "instantiated from here" "" { target *-*-* } 41 } // { dg-error "instantiated from here" "" { target *-*-* } 43 } -// { dg-error "invalid use of incomplete type" "" { target *-*-* } 345 } -// { dg-error "declaration of" "" { target *-*-* } 311 } +// { dg-error "invalid use of incomplete type" "" { target *-*-* } 418 } +// { dg-error "declaration of" "" { target *-*-* } 384 } // { dg-excess-errors "At global scope" } // { dg-excess-errors "In instantiation of" } diff --git a/libstdc++-v3/testsuite/20_util/remove_reference/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/remove_reference/requirements/explicit_instantiation.cc new file mode 100644 index 00000000000..cbe29c551a1 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/remove_reference/requirements/explicit_instantiation.cc @@ -0,0 +1,40 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } +// 2007-06-02 Paolo Carlini + +// 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. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +// NB: This file is for testing type_traits with NO OTHER INCLUDES. + +#include + +namespace std +{ + typedef short test_type; + template struct remove_reference; +} diff --git a/libstdc++-v3/testsuite/20_util/remove_reference/value.cc b/libstdc++-v3/testsuite/20_util/remove_reference/value.cc new file mode 100644 index 00000000000..00e25743a0d --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/remove_reference/value.cc @@ -0,0 +1,53 @@ +// { dg-options "-std=gnu++0x" } +// 2007-06-02 Paolo Carlini +// +// 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. + +#include +#include +#include + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::remove_reference; + using std::is_same; + using namespace __gnu_test; + + VERIFY( (is_same::type, int>::value) ); + VERIFY( (is_same::type, int>::value) ); + VERIFY( (is_same::type, const int>::value) ); + VERIFY( (is_same::type, int*>::value) ); + VERIFY( (is_same::type, ClassType>::value) ); + VERIFY( (is_same::type, ClassType>::value) ); + VERIFY( (is_same::type, int(int)>::value) ); + VERIFY( (is_same::type, int>::value) ); + VERIFY( (is_same::type, int>::value) ); + VERIFY( (is_same::type, const int>::value) ); + VERIFY( (is_same::type, int*>::value) ); + VERIFY( (is_same::type, ClassType>::value) ); + VERIFY( (is_same::type, ClassType>::value) ); + VERIFY( (is_same::type, int(int)>::value) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/value.cc similarity index 96% rename from libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/typedefs.cc rename to libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/value.cc index 8669098bc3d..2b0c1327169 100644 --- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/typedefs.cc +++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/value.cc @@ -1,6 +1,6 @@ // 2004-12-16 Paolo Carlini // -// 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 diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/value.cc similarity index 96% rename from libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/typedefs.cc rename to libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/value.cc index c197501b08e..2fa2c2af554 100644 --- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/typedefs.cc +++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/value.cc @@ -1,6 +1,6 @@ // 2004-12-16 Paolo Carlini // -// 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 diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/value.cc similarity index 95% rename from libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/typedefs.cc rename to libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/value.cc index d87cd2e4271..56f23a84e2f 100644 --- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/typedefs.cc +++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/value.cc @@ -1,6 +1,6 @@ // 2004-12-12 Paolo Carlini // -// 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 diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/value.cc similarity index 95% rename from libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/typedefs.cc rename to libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/value.cc index 29ad8c3d994..eab29f474e4 100644 --- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/typedefs.cc +++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/value.cc @@ -1,6 +1,6 @@ // 2004-12-08 Paolo Carlini // -// Copyright (C) 2004, 2005, 2006 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 diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/value.cc similarity index 96% rename from libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/typedefs.cc rename to libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/value.cc index 489b05950b9..4ac96a7219d 100644 --- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/typedefs.cc +++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/value.cc @@ -1,6 +1,6 @@ // 2004-12-16 Paolo Carlini // -// 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 diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/value.cc similarity index 97% rename from libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/typedefs.cc rename to libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/value.cc index bbc336c24c8..205c974ee4d 100644 --- a/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/typedefs.cc +++ b/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/value.cc @@ -1,6 +1,6 @@ // 2005-01-11 Paolo Carlini // -// Copyright (C) 2005 Free Software Foundation, Inc. +// Copyright (C) 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 -- 2.30.2