summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/20_util/headers
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /libstdc++-v3/testsuite/20_util/headers
downloadcbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2
cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
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.
Diffstat (limited to 'libstdc++-v3/testsuite/20_util/headers')
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc28
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/cstring/functions_std.cc29
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/cstring/macros.cc27
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/cstring/types_std.cc25
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/ctime/functions_std.cc33
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/ctime/macros.cc27
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/ctime/types_std.cc29
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc100
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc26
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/functional/using_namespace_std_placeholders.cc26
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc53
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc26
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc26
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x.cc27
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc36
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/utility/synopsis.cc45
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc25
17 files changed, 588 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc
new file mode 100644
index 000000000..ad25a7f5e
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// 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/>.
+
+#include <cstdlib>
+
+namespace gnu
+{
+ using std::calloc;
+ using std::malloc;
+ using std::free;
+ using std::realloc;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/cstring/functions_std.cc b/libstdc++-v3/testsuite/20_util/headers/cstring/functions_std.cc
new file mode 100644
index 000000000..34bc2b945
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/cstring/functions_std.cc
@@ -0,0 +1,29 @@
+// { dg-do compile }
+
+// 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/>.
+
+#include <cstring>
+
+namespace gnu
+{
+ using std::memchr;
+ using std::memcmp;
+ using std::memcpy;
+ using std::memmove;
+ using std::memset;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/cstring/macros.cc b/libstdc++-v3/testsuite/20_util/headers/cstring/macros.cc
new file mode 100644
index 000000000..d85767dd5
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/cstring/macros.cc
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// 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/>.
+
+#include <cstring>
+
+namespace gnu
+{
+#ifndef NULL
+ #error "NULL_must_be_a_macro"
+#endif
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/cstring/types_std.cc b/libstdc++-v3/testsuite/20_util/headers/cstring/types_std.cc
new file mode 100644
index 000000000..306d2547b
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/cstring/types_std.cc
@@ -0,0 +1,25 @@
+// { dg-do compile }
+
+// 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/>.
+
+#include <cstring>
+
+namespace gnu
+{
+ std::size_t s;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/ctime/functions_std.cc b/libstdc++-v3/testsuite/20_util/headers/ctime/functions_std.cc
new file mode 100644
index 000000000..baba33fc8
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/ctime/functions_std.cc
@@ -0,0 +1,33 @@
+// { dg-do compile }
+
+// 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/>.
+
+#include <ctime>
+
+namespace gnu
+{
+ using std::asctime;
+ using std::clock;
+ using std::difftime;
+ using std::localtime;
+ using std::strftime;
+ using std::ctime;
+ using std::gmtime;
+ using std::mktime;
+ using std::time;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/ctime/macros.cc b/libstdc++-v3/testsuite/20_util/headers/ctime/macros.cc
new file mode 100644
index 000000000..0633aa2f8
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/ctime/macros.cc
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// 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/>.
+
+#include <ctime>
+
+namespace gnu
+{
+#ifndef NULL
+ #error "NULL_must_be_a_macro"
+#endif
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/ctime/types_std.cc b/libstdc++-v3/testsuite/20_util/headers/ctime/types_std.cc
new file mode 100644
index 000000000..db7bb7ff1
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/ctime/types_std.cc
@@ -0,0 +1,29 @@
+// { dg-do compile }
+
+// 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/>.
+
+#include <ctime>
+
+namespace gnu
+{
+ std::size_t s;
+ std::clock_t c;
+ std::time_t t;
+
+ std::tm t2;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
new file mode 100644
index 000000000..b58314466
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
@@ -0,0 +1,100 @@
+// { dg-do compile }
+
+// 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/>.
+
+#include <functional>
+
+namespace std {
+ // lib.base, base:
+ template <class Arg, class Result> struct unary_function;
+ template <class Arg1, class Arg2, class Result> struct binary_function;
+
+ // lib.arithmetic.operations, arithmetic operations:
+ template <class T> struct plus;
+ template <class T> struct minus;
+ template <class T> struct multiplies;
+ template <class T> struct divides;
+ template <class T> struct modulus;
+ template <class T> struct negate;
+
+ // lib.comparisons, comparisons:
+ template <class T> struct equal_to;
+ template <class T> struct not_equal_to;
+ template <class T> struct greater;
+ template <class T> struct less;
+ template <class T> struct greater_equal;
+ template <class T> struct less_equal;
+
+ // lib.logical.operations, logical operations:
+ template <class T> struct logical_and;
+ template <class T> struct logical_or;
+ template <class T> struct logical_not;
+
+ // lib.negators, negators:
+ template <class Predicate> struct unary_negate;
+ template <class Predicate>
+ unary_negate<Predicate> not1(const Predicate&);
+ template <class Predicate> struct binary_negate;
+ template <class Predicate>
+ binary_negate<Predicate> not2(const Predicate&);
+
+ // lib.binders, binders:
+ template <class Operation> class binder1st;
+ template <class Operation, class T>
+ binder1st<Operation> bind1st(const Operation&, const T&);
+ template <class Operation> class binder2nd;
+ template <class Operation, class T>
+ binder2nd<Operation> bind2nd(const Operation&, const T&);
+
+ // lib.function.pointer.adaptors, adaptors:
+ template <class Arg, class Result> class pointer_to_unary_function;
+ template <class Arg, class Result>
+ pointer_to_unary_function<Arg,Result> ptr_fun(Result (*)(Arg));
+ template <class Arg1, class Arg2, class Result>
+ class pointer_to_binary_function;
+ template <class Arg1, class Arg2, class Result>
+ pointer_to_binary_function<Arg1,Arg2,Result>
+ ptr_fun(Result (*)(Arg1,Arg2));
+
+ // lib.member.pointer.adaptors, adaptors:
+ template<class S, class T> class mem_fun_t;
+ template<class S, class T, class A> class mem_fun1_t;
+ template<class S, class T>
+ mem_fun_t<S,T> mem_fun(S (T::*f)());
+ template<class S, class T, class A>
+ mem_fun1_t<S,T,A> mem_fun(S (T::*f)(A));
+ template<class S, class T> class mem_fun_ref_t;
+ template<class S, class T, class A> class mem_fun1_ref_t;
+ template<class S, class T>
+ mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)());
+ template<class S, class T, class A>
+ mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A));
+
+ template <class S, class T> class const_mem_fun_t;
+ template <class S, class T, class A> class const_mem_fun1_t;
+ template <class S, class T>
+ const_mem_fun_t<S,T> mem_fun(S (T::*f)() const);
+ template <class S, class T, class A>
+ const_mem_fun1_t<S,T,A> mem_fun(S (T::*f)(A) const);
+ template <class S, class T> class const_mem_fun_ref_t;
+ template <class S, class T, class A> class const_mem_fun1_ref_t;
+ template <class S, class T>
+ const_mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)() const);
+ template <class S, class T, class A>
+ const_mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A) const);
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc b/libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc
new file mode 100644
index 000000000..264542811
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/functional/types_std_c++0x.cc
@@ -0,0 +1,26 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// 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/>.
+
+#include <functional>
+
+namespace gnu
+{
+ using std::bad_function_call;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/functional/using_namespace_std_placeholders.cc b/libstdc++-v3/testsuite/20_util/headers/functional/using_namespace_std_placeholders.cc
new file mode 100644
index 000000000..5d2a7a863
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/functional/using_namespace_std_placeholders.cc
@@ -0,0 +1,26 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// 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/>.
+
+#include <functional>
+
+namespace gnu
+{
+ using namespace std::placeholders;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
new file mode 100644
index 000000000..4d45071e6
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
@@ -0,0 +1,53 @@
+// { dg-do compile }
+
+// 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/>.
+
+#include <memory>
+
+namespace std {
+ // lib.default.allocator, the default allocator:
+ template <class T> class allocator;
+ template <> class allocator<void>;
+ template <class T, class U>
+ bool operator==(const allocator<T>&, const allocator<U>&) throw();
+ template <class T, class U>
+ bool operator!=(const allocator<T>&, const allocator<U>&) throw();
+
+ // lib.storage.iterator, raw storage iterator:
+ template <class OutputIterator, class T> class raw_storage_iterator;
+
+ // lib.temporary.buffer, temporary buffers:
+ template <class T>
+ pair<T*,ptrdiff_t> get_temporary_buffer(ptrdiff_t n);
+ template <class T>
+ void return_temporary_buffer(T* p);
+
+ // lib.specialized.algorithms, specialized algorithms:
+ template <class InputIterator, class ForwardIterator>
+ ForwardIterator
+ uninitialized_copy(InputIterator first, InputIterator last,
+ ForwardIterator result);
+ template <class ForwardIterator, class T>
+ void uninitialized_fill(ForwardIterator first, ForwardIterator last,
+ const T& x);
+ template <class ForwardIterator, class Size, class T>
+ void uninitialized_fill_n(ForwardIterator first, Size n, const T& x);
+
+ // lib.auto.ptr, pointers:
+ template<class X> class auto_ptr;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc b/libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc
new file mode 100644
index 000000000..dc50b63bb
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/memory/types_std_c++0x.cc
@@ -0,0 +1,26 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// 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/>.
+
+#include <memory>
+
+namespace gnu
+{
+ using std::bad_weak_ptr;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc b/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc
new file mode 100644
index 000000000..4fd554e35
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc
@@ -0,0 +1,26 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++98" }
+
+// 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/>.
+
+#include <type_traits>
+
+// { dg-error "upcoming ISO" "" { target *-*-* } 32 }
+
+
+
diff --git a/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x.cc b/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x.cc
new file mode 100644
index 000000000..0fc1ce295
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x.cc
@@ -0,0 +1,27 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// 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/>.
+
+#include <type_traits>
+
+namespace gnu
+{
+ using std::true_type;
+ using std::false_type;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc b/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc
new file mode 100644
index 000000000..5ada352ec
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc
@@ -0,0 +1,36 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// 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/>.
+
+#include <type_traits>
+
+namespace gnu
+{
+ // C++0x changes from TR1.
+ using std::has_trivial_constructor;
+ using std::has_nothrow_constructor;
+ using std::has_trivial_copy;
+ using std::has_nothrow_copy;
+}
+
+// { dg-error "has not been declared" "" { target *-*-* } 26 }
+// { dg-error "has not been declared" "" { target *-*-* } 27 }
+// { dg-error "has not been declared" "" { target *-*-* } 28 }
+// { dg-error "has not been declared" "" { target *-*-* } 29 }
+
diff --git a/libstdc++-v3/testsuite/20_util/headers/utility/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/utility/synopsis.cc
new file mode 100644
index 000000000..aea7bb3bf
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/utility/synopsis.cc
@@ -0,0 +1,45 @@
+// { dg-do compile }
+
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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/>.
+
+#include <utility>
+
+namespace std {
+ // lib.operators, operators:
+ namespace rel_ops {
+ template<class T> bool operator!=(const T&, const T&);
+ template<class T> bool operator> (const T&, const T&);
+ template<class T> bool operator<=(const T&, const T&);
+ template<class T> bool operator>=(const T&, const T&);
+ }
+
+ // lib.pairs, pairs:
+ template <class T1, class T2> struct pair;
+ template <class T1, class T2>
+ _GLIBCXX_CONSTEXPR bool operator==(const pair<T1,T2>&, const pair<T1,T2>&);
+ template <class T1, class T2>
+ _GLIBCXX_CONSTEXPR bool operator< (const pair<T1,T2>&, const pair<T1,T2>&);
+ template <class T1, class T2>
+ _GLIBCXX_CONSTEXPR bool operator!=(const pair<T1,T2>&, const pair<T1,T2>&);
+ template <class T1, class T2>
+ _GLIBCXX_CONSTEXPR bool operator> (const pair<T1,T2>&, const pair<T1,T2>&);
+ template <class T1, class T2>
+ _GLIBCXX_CONSTEXPR bool operator>=(const pair<T1,T2>&, const pair<T1,T2>&);
+ template <class T1, class T2>
+ _GLIBCXX_CONSTEXPR bool operator<=(const pair<T1,T2>&, const pair<T1,T2>&);
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc b/libstdc++-v3/testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc
new file mode 100644
index 000000000..60753a00f
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc
@@ -0,0 +1,25 @@
+// { dg-do compile }
+
+// 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/>.
+
+#include <utility>
+
+namespace gnu
+{
+ using namespace std::rel_ops;
+}