OSDN Git Service

2009-08-11 Benjamin Kosnik <bkoz@redhat.com>
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Aug 2009 00:56:12 +0000 (00:56 +0000)
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Aug 2009 00:56:12 +0000 (00:56 +0000)
* include/precompiled/extc++.h: Don't include TR1 if C++0x.
* include/precompiled/stdc++.h: Don't include cassert if
_GLIBCXX_NO_ASSERT defined.
* include/ext/cast.h (_GLIBCXX_BEGIN_NAMESPACE): Remove extra
semi-colon.
* include/ext/pointer.h (_GCC_CXX_POINTER_COMPARISON_OPERATION_SET):
Same.

* testsuite/17_intro/headers/all.cc: Move into dialect-specific
directory.
* testsuite/17_intro/headers/all_pedantic_errors.cc: Same.
* testsuite/17_intro/headers/all_assert_neg.cc: Same.
* testsuite/17_intro/headers/all_c++200x_compatibility.cc: Same.

* testsuite/17_intro/headers/c++1998/all.cc: Use extc++.h include.
* testsuite/17_intro/headers/c++1998/stdc++.cc: Converted all.cc,
use stdc++.h include.
* testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc: Same.
* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Same.
* testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc: Same.
* testsuite/17_intro/headers/c++1998/all_no_exceptions.cc: New.
* testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc: To...
* testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
...this.
* testsuite/17_intro/headers/c++200x/all.cc: To...
* testsuite/17_intro/headers/c++200x/stdc++.cc: ..this.
* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: To...
* testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
...this.
* testsuite/17_intro/headers/c++200x/all_no_exceptions.cc: New.
* testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150672 138bc75d-0d04-0410-961f-82ee72b054a4

22 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/ext/cast.h
libstdc++-v3/include/ext/pointer.h
libstdc++-v3/include/precompiled/extc++.h
libstdc++-v3/include/precompiled/stdc++.h
libstdc++-v3/testsuite/17_intro/headers/all.cc [deleted file]
libstdc++-v3/testsuite/17_intro/headers/all_assert_neg.cc [deleted file]
libstdc++-v3/testsuite/17_intro/headers/all_c++200x_compatibility.cc [deleted file]
libstdc++-v3/testsuite/17_intro/headers/all_pedantic_errors.cc [deleted file]
libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc
libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc [deleted file]
libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc [deleted file]
libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_exceptions.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++.cc [moved from libstdc++-v3/testsuite/17_intro/headers/c++200x/all.cc with 54% similarity]
libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc [new file with mode: 0644]

index 628ce72..d975745 100644 (file)
@@ -1,3 +1,37 @@
+2009-08-11  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * include/precompiled/extc++.h: Don't include TR1 if C++0x.
+       * include/precompiled/stdc++.h: Don't include cassert if
+       _GLIBCXX_NO_ASSERT defined.
+       * include/ext/cast.h (_GLIBCXX_BEGIN_NAMESPACE): Remove extra
+       semi-colon.
+       * include/ext/pointer.h (_GCC_CXX_POINTER_COMPARISON_OPERATION_SET):
+       Same.
+
+       * testsuite/17_intro/headers/all.cc: Move into dialect-specific
+       directory.
+       * testsuite/17_intro/headers/all_pedantic_errors.cc: Same.
+       * testsuite/17_intro/headers/all_assert_neg.cc: Same.
+       * testsuite/17_intro/headers/all_c++200x_compatibility.cc: Same.
+
+       * testsuite/17_intro/headers/c++1998/all.cc: Use extc++.h include.
+       * testsuite/17_intro/headers/c++1998/stdc++.cc: Converted all.cc,
+       use stdc++.h include.
+       * testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc: Same.
+       * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Same.
+       * testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc: Same.
+       * testsuite/17_intro/headers/c++1998/all_no_exceptions.cc: New.
+       * testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc: To...
+       * testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
+       ...this.
+       * testsuite/17_intro/headers/c++200x/all.cc: To...
+       * testsuite/17_intro/headers/c++200x/stdc++.cc: ..this.
+       * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: To...
+       * testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
+       ...this.
+       * testsuite/17_intro/headers/c++200x/all_no_exceptions.cc: New.
+       * testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc: New.
+
 2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>
 
        * include/std/future: Move error handling bits outside macro guard.
index 3ffad7c..8fd8cc9 100644 (file)
@@ -25,7 +25,7 @@
 #ifndef _CAST_H
 #define _CAST_H 1
 
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx);
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
 
   /**
    * These functions are here to allow containers to support non standard
index 5aac7f1..36209d3 100644 (file)
@@ -478,12 +478,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
 // End GCC_CXX_POINTER_COMPARISON_OPERATION_SET Macro
   
   // Expand into the various comparison operators needed.
-  _GCC_CXX_POINTER_COMPARISON_OPERATION_SET(==,);
-  _GCC_CXX_POINTER_COMPARISON_OPERATION_SET(!=,);
-  _GCC_CXX_POINTER_COMPARISON_OPERATION_SET(<,);
-  _GCC_CXX_POINTER_COMPARISON_OPERATION_SET(<=,);
-  _GCC_CXX_POINTER_COMPARISON_OPERATION_SET(>,);
-  _GCC_CXX_POINTER_COMPARISON_OPERATION_SET(>=,);
+  _GCC_CXX_POINTER_COMPARISON_OPERATION_SET(==,)
+  _GCC_CXX_POINTER_COMPARISON_OPERATION_SET(!=,)
+  _GCC_CXX_POINTER_COMPARISON_OPERATION_SET(<,)
+  _GCC_CXX_POINTER_COMPARISON_OPERATION_SET(<=,)
+  _GCC_CXX_POINTER_COMPARISON_OPERATION_SET(>,)
+  _GCC_CXX_POINTER_COMPARISON_OPERATION_SET(>=,)
 
   // These are here for expressions like "ptr == 0", "ptr != 0"
   template<typename _Tp>
index f0ccc42..03e5339 100644 (file)
@@ -26,7 +26,9 @@
  *  This is an implementation file for a precompiled header.
  */
 
+#ifndef __GXX_EXPERIMENTAL_CXX0X__
 #include <bits/stdtr1c++.h>
+#endif
 
 #include <ext/algorithm>
 #include <ext/array_allocator.h>
index 6cae9e5..1c61509 100644 (file)
@@ -30,7 +30,9 @@
 // 17.4.1.2 Headers
 
 // C
+#ifndef _GLIBCXX_NO_ASSERT
 #include <cassert>
+#endif
 #include <cctype>
 #include <cerrno>
 #include <cfloat>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/all.cc b/libstdc++-v3/testsuite/17_intro/headers/all.cc
deleted file mode 100644 (file)
index d689823..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-// { 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/>.
-
-
-// Make sure all the includes can be compiled with -Wc++0x-compat
-// libstdc++/30571
-
-// C
-#include <cassert>
-#include <cctype>
-#include <cerrno>
-#include <cfloat>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-
-// C++
-#include <algorithm>
-#include <bitset>
-#include <complex>
-#include <deque>
-#include <exception>
-#include <fstream>
-#include <functional>
-#include <iomanip>
-#include <ios>
-#include <iosfwd>
-#include <iostream>
-#include <istream>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <locale>
-#include <map>
-#include <memory>
-#include <new>
-#include <numeric>
-#include <ostream>
-#include <queue>
-#include <set>
-#include <sstream>
-#include <stack>
-#include <stdexcept>
-#include <streambuf>
-#include <string>
-#include <typeinfo>
-#include <utility>
-#include <valarray>
-#include <vector>
-
-// TR1
-#include <tr1/array>
-#include <tr1/cctype>
-#include <tr1/cfenv>
-#include <tr1/cfloat>
-#include <tr1/cinttypes>
-#include <tr1/climits>
-#include <tr1/cmath>
-#include <tr1/complex>
-#include <tr1/cstdarg>
-#include <tr1/cstdbool>
-#include <tr1/cstdint>
-#include <tr1/cstdio>
-#include <tr1/cstdlib>
-#include <tr1/ctgmath>
-#include <tr1/ctime>
-#include <tr1/cwchar>
-#include <tr1/cwctype>
-#include <tr1/functional>
-#include <tr1/random>
-#include <tr1/tuple>
-#include <tr1/unordered_map>
-#include <tr1/unordered_set>
-#include <tr1/utility>
-
-// Extensions
-#include <ext/algorithm>
-#include <ext/array_allocator.h>
-#include <ext/atomicity.h>
-#include <ext/bitmap_allocator.h>
-#if _GLIBCXX_HAVE_ICONV
-#include <ext/codecvt_specializations.h>
-#endif
-#include <ext/concurrence.h>
-#include <ext/debug_allocator.h>
-#if _GLIBCXX_HAVE_ICONV
-#include <ext/enc_filebuf.h>
-#endif
-#include <ext/functional>
-#include <ext/iterator>
-#include <ext/malloc_allocator.h>
-#include <ext/memory>
-#include <ext/mt_allocator.h>
-#include <ext/new_allocator.h>
-#include <ext/numeric>
-#include <ext/pod_char_traits.h>
-#include <ext/pool_allocator.h>
-#include <ext/rb_tree>
-#include <ext/rope>
-#include <ext/slist>
-#include <ext/stdio_filebuf.h>
-#include <ext/stdio_sync_filebuf.h>
-#include <ext/throw_allocator.h>
-#include <ext/typelist.h>
-#include <ext/type_traits.h>
-#include <ext/vstring.h>
-#include <ext/pb_ds/assoc_container.hpp>
-#include <ext/pb_ds/priority_queue.hpp>
-#include <ext/pb_ds/exception.hpp>
-#include <ext/pb_ds/hash_policy.hpp>
-#include <ext/pb_ds/list_update_policy.hpp>
-#include <ext/pb_ds/tree_policy.hpp>
-#include <ext/pb_ds/trie_policy.hpp>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/all_assert_neg.cc b/libstdc++-v3/testsuite/17_intro/headers/all_assert_neg.cc
deleted file mode 100644 (file)
index 9680ce0..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-// { dg-do compile }
-// { dg-options "-D__GLIBCXX__=99999999" }
-// NB: This is done to force any generated and possibly included PCH
-// to be invalid.
-
-// 2005-05-24 bkoz
-
-// Copyright (C) 2005, 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/>.
-
-// 17.4.1.2 Headers
-
-// This file tests that assert is not included in any of the standard
-// includes by accident.
-
-// C++ headers
-#include <algorithm>
-#include <bitset>
-#include <complex>
-#include <deque>
-#include <exception>
-#include <fstream>
-#include <functional>
-#include <iomanip>
-#include <ios>
-#include <iosfwd>
-#include <iostream>
-#include <istream>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <locale>
-#include <map>
-#include <memory>
-#include <new>
-#include <numeric>
-#include <ostream>
-#include <queue>
-#include <set>
-#include <sstream>
-#include <stack>
-#include <stdexcept>
-#include <streambuf>
-#include <string>
-#include <typeinfo>
-#include <utility>
-#include <valarray>
-#include <vector>
-
-// C headers
-#include <cctype>
-#include <cerrno>
-#include <cfloat>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-
-void foo()
-{
- assert(true);  
-}
-
-// { dg-error "not declared" "" { target *-*-* } 83 } 
-
-
diff --git a/libstdc++-v3/testsuite/17_intro/headers/all_c++200x_compatibility.cc b/libstdc++-v3/testsuite/17_intro/headers/all_c++200x_compatibility.cc
deleted file mode 100644 (file)
index 843f9f7..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-// { dg-do compile }
-// { dg-options "-Wc++0x-compat -Werror" }
-
-// 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/>.
-
-
-// Make sure all the includes can be compiled with -Wc++0x-compat
-// libstdc++/30571
-
-// C
-#include <cassert>
-#include <cctype>
-#include <cerrno>
-#include <cfloat>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-
-// C++
-#include <algorithm>
-#include <bitset>
-#include <complex>
-#include <deque>
-#include <exception>
-#include <fstream>
-#include <functional>
-#include <iomanip>
-#include <ios>
-#include <iosfwd>
-#include <iostream>
-#include <istream>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <locale>
-#include <map>
-#include <memory>
-#include <new>
-#include <numeric>
-#include <ostream>
-#include <queue>
-#include <set>
-#include <sstream>
-#include <stack>
-#include <stdexcept>
-#include <streambuf>
-#include <string>
-#include <typeinfo>
-#include <utility>
-#include <valarray>
-#include <vector>
-
-// TR1
-#include <tr1/array>
-#include <tr1/cctype>
-#include <tr1/cfenv>
-#include <tr1/cfloat>
-#include <tr1/cinttypes>
-#include <tr1/climits>
-#include <tr1/cmath>
-#include <tr1/complex>
-#include <tr1/cstdarg>
-#include <tr1/cstdbool>
-#include <tr1/cstdint>
-#include <tr1/cstdio>
-#include <tr1/cstdlib>
-#include <tr1/ctgmath>
-#include <tr1/ctime>
-#include <tr1/cwchar>
-#include <tr1/cwctype>
-#include <tr1/functional>
-#include <tr1/random>
-#include <tr1/tuple>
-#include <tr1/unordered_map>
-#include <tr1/unordered_set>
-#include <tr1/utility>
-
-// Extensions
-#include <ext/algorithm>
-#include <ext/array_allocator.h>
-#include <ext/atomicity.h>
-#include <ext/bitmap_allocator.h>
-#if _GLIBCXX_HAVE_ICONV
-#include <ext/codecvt_specializations.h>
-#endif
-#include <ext/concurrence.h>
-#include <ext/debug_allocator.h>
-#if _GLIBCXX_HAVE_ICONV
-#include <ext/enc_filebuf.h>
-#endif
-#include <ext/functional>
-#include <ext/iterator>
-#include <ext/malloc_allocator.h>
-#include <ext/memory>
-#include <ext/mt_allocator.h>
-#include <ext/new_allocator.h>
-#include <ext/numeric>
-#include <ext/pod_char_traits.h>
-#include <ext/pool_allocator.h>
-#include <ext/rb_tree>
-#include <ext/rope>
-#include <ext/slist>
-#include <ext/stdio_filebuf.h>
-#include <ext/stdio_sync_filebuf.h>
-#include <ext/throw_allocator.h>
-#include <ext/typelist.h>
-#include <ext/type_traits.h>
-#include <ext/vstring.h>
-#include <ext/pb_ds/assoc_container.hpp>
-#include <ext/pb_ds/priority_queue.hpp>
-#include <ext/pb_ds/exception.hpp>
-#include <ext/pb_ds/hash_policy.hpp>
-#include <ext/pb_ds/list_update_policy.hpp>
-#include <ext/pb_ds/tree_policy.hpp>
-#include <ext/pb_ds/trie_policy.hpp>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/all_pedantic_errors.cc
deleted file mode 100644 (file)
index 6e94152..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-// { dg-do compile }
-// { dg-options "-pedantic-errors" }
-
-// 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/>.
-
-
-// Make sure all the includes can be compiled with -Wc++0x-compat
-// libstdc++/30571
-
-// C
-#include <cassert>
-#include <cctype>
-#include <cerrno>
-#include <cfloat>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-
-// C++
-#include <algorithm>
-#include <bitset>
-#include <complex>
-#include <deque>
-#include <exception>
-#include <fstream>
-#include <functional>
-#include <iomanip>
-#include <ios>
-#include <iosfwd>
-#include <iostream>
-#include <istream>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <locale>
-#include <map>
-#include <memory>
-#include <new>
-#include <numeric>
-#include <ostream>
-#include <queue>
-#include <set>
-#include <sstream>
-#include <stack>
-#include <stdexcept>
-#include <streambuf>
-#include <string>
-#include <typeinfo>
-#include <utility>
-#include <valarray>
-#include <vector>
-
-// TR1
-#include <tr1/array>
-#include <tr1/cctype>
-#include <tr1/cfenv>
-#include <tr1/cfloat>
-#include <tr1/cinttypes>
-#include <tr1/climits>
-#include <tr1/cmath>
-#include <tr1/complex>
-#include <tr1/cstdarg>
-#include <tr1/cstdbool>
-#include <tr1/cstdint>
-#include <tr1/cstdio>
-#include <tr1/cstdlib>
-#include <tr1/ctgmath>
-#include <tr1/ctime>
-#include <tr1/cwchar>
-#include <tr1/cwctype>
-#include <tr1/functional>
-#include <tr1/random>
-#include <tr1/tuple>
-#include <tr1/unordered_map>
-#include <tr1/unordered_set>
-#include <tr1/utility>
-
-// Extensions
-#include <ext/algorithm>
-#include <ext/array_allocator.h>
-#include <ext/atomicity.h>
-#include <ext/bitmap_allocator.h>
-#if _GLIBCXX_HAVE_ICONV
-#include <ext/codecvt_specializations.h>
-#endif
-#include <ext/concurrence.h>
-#include <ext/debug_allocator.h>
-#if _GLIBCXX_HAVE_ICONV
-#include <ext/enc_filebuf.h>
-#endif
-#include <ext/functional>
-#include <ext/iterator>
-#include <ext/malloc_allocator.h>
-#include <ext/memory>
-#include <ext/mt_allocator.h>
-#include <ext/new_allocator.h>
-#include <ext/numeric>
-#include <ext/pod_char_traits.h>
-#include <ext/pool_allocator.h>
-#include <ext/rb_tree>
-#include <ext/rope>
-#include <ext/slist>
-#include <ext/stdio_filebuf.h>
-#include <ext/stdio_sync_filebuf.h>
-#include <ext/throw_allocator.h>
-#include <ext/typelist.h>
-#include <ext/type_traits.h>
-#include <ext/vstring.h>
-#include <ext/pb_ds/assoc_container.hpp>
-#include <ext/pb_ds/priority_queue.hpp>
-#include <ext/pb_ds/exception.hpp>
-#include <ext/pb_ds/hash_policy.hpp>
-#include <ext/pb_ds/list_update_policy.hpp>
-#include <ext/pb_ds/tree_policy.hpp>
-#include <ext/pb_ds/trie_policy.hpp>
index ce7c50e..70661e9 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile }
-// 1999-05-12 bkoz
 
-// Copyright (C) 1999, 2007, 2009 Free Software Foundation, Inc.
+// 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
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// FreeBSD wants warning clean system headers:
-// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } }
-
-// 17.4.1.2 Headers
-
-// "C" headers
-#include <cassert>
-#include <cctype>
-#include <cerrno>
-#include <cfloat>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-#include <cwchar>
-#include <cwctype>
-
-// "C" compatibility headers
-#include <assert.h>
-#include <ctype.h>
-#include <errno.h>
-#include <float.h>
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-
-// "C++" headers
-#include <algorithm>
-#include <bitset>
-#include <complex>
-#include <deque>
-#include <exception>
-#include <fstream>
-#include <functional>
-#include <iomanip>
-#include <ios>
-#include <iosfwd>
-#include <iostream>
-#include <istream>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <locale>
-#include <map>
-#include <memory>
-#include <new>
-#include <numeric>
-#include <ostream>
-#include <queue>
-#include <set>
-#include <sstream>
-#include <stack>
-#include <stdexcept>
-#include <streambuf>
-#include <string>
-#include <typeinfo>
-#include <utility>
-#include <valarray>
-#include <vector>
-
+#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc
new file mode 100644 (file)
index 0000000..40889d9
--- /dev/null
@@ -0,0 +1,24 @@
+// { dg-do compile }
+// { dg-options "-Wc++0x-compat -Werror" }
+
+// 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/>.
+
+// Make sure all the includes can be compiled with -Wc++0x-compat
+// libstdc++/30571
+
+#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc
deleted file mode 100644 (file)
index f7904ae..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-// { dg-do compile }
-// 1999-05-12 bkoz
-
-// Copyright (C) 1999, 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/>.
-
-// FreeBSD wants warning clean system headers:
-// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } }
-
-// 17.4.1.2 Headers
-
-// "C" headers
-#include <cassert>
-#include <cctype>
-#include <cerrno>
-#include <cfloat>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-#include <cwchar>
-#include <cwctype>
-
-// "C" compatibility headers
-#include <assert.h>
-#include <ctype.h>
-#include <errno.h>
-#include <float.h>
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-
-// "C++" headers
-#include <algorithm>
-#include <bitset>
-#include <complex>
-#include <deque>
-#include <exception>
-#include <fstream>
-#include <functional>
-#include <iomanip>
-#include <ios>
-#include <iosfwd>
-#include <iostream>
-#include <istream>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <locale>
-#include <map>
-#include <memory>
-#include <new>
-#include <numeric>
-#include <ostream>
-#include <queue>
-#include <set>
-#include <sstream>
-#include <stack>
-#include <stdexcept>
-#include <streambuf>
-#include <string>
-#include <typeinfo>
-#include <utility>
-#include <valarray>
-#include <vector>
-
-
-// "C" headers
-#include <cassert>
-#include <cctype>
-#include <cerrno>
-#include <cfloat>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-#include <cwchar>
-#include <cwctype>
-
-// "C" compatibility headers
-#include <assert.h>
-#include <ctype.h>
-#include <errno.h>
-#include <float.h>
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-
-// "C++" headers
-#include <algorithm>
-#include <bitset>
-#include <complex>
-#include <deque>
-#include <exception>
-#include <fstream>
-#include <functional>
-#include <iomanip>
-#include <ios>
-#include <iosfwd>
-#include <iostream>
-#include <istream>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <locale>
-#include <map>
-#include <memory>
-#include <new>
-#include <numeric>
-#include <ostream>
-#include <queue>
-#include <set>
-#include <sstream>
-#include <stack>
-#include <stdexcept>
-#include <streambuf>
-#include <string>
-#include <typeinfo>
-#include <utility>
-#include <valarray>
-#include <vector>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_no_exceptions.cc
new file mode 100644 (file)
index 0000000..c645d3f
--- /dev/null
@@ -0,0 +1,21 @@
+// { dg-do compile }
+// { dg-options "-fno-exceptions" }
+
+// 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 <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc
new file mode 100644 (file)
index 0000000..4faa5af
--- /dev/null
@@ -0,0 +1,21 @@
+// { dg-do compile }
+// { dg-options "-pedantic-errors" }
+
+// 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 <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc
new file mode 100644 (file)
index 0000000..3d5db7a
--- /dev/null
@@ -0,0 +1,49 @@
+// FreeBSD wants warning clean system headers:
+// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } }
+// { dg-do compile }
+// 1999-05-12 bkoz
+
+// Copyright (C) 1999, 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/>.
+
+// 17.4.1.2 Headers
+
+#include <bits/stdc++.h>
+
+// "C" compatibility headers
+#include <assert.h>
+#include <ctype.h>
+#include <errno.h>
+#include <float.h>
+#include <iso646.h>
+#include <limits.h>
+#include <locale.h>
+#include <math.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#ifdef _GLIBCXX_HAVE_WCHAR_H
+#include <wchar.h>
+#endif
+#ifdef _GLIBCXX_HAVE_WCTYPE_H
+#include <wctype.h>
+#endif
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc
new file mode 100644 (file)
index 0000000..829dee1
--- /dev/null
@@ -0,0 +1,35 @@
+// { dg-do compile }
+// { dg-options "-D_GLIBCXX_NO_ASSERT" }
+// NB: This is done to force any generated and possibly included PCH
+// to be invalid, and also to remove cassert from the include set.
+
+// 2005-05-24 bkoz
+
+// Copyright (C) 2005, 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/>.
+
+// 17.4.1.2 Headers
+
+// This file tests that assert is not included in any of the standard
+// includes by accident.
+
+#include <bits/stdc++.h>
+
+void foo()
+{
+ assert(true);  // { dg-error "not declared" "" { target *-*-* } } 
+}
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
new file mode 100644 (file)
index 0000000..e900fa7
--- /dev/null
@@ -0,0 +1,75 @@
+// FreeBSD wants warning clean system headers:
+// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } }
+// { dg-do compile }
+// 1999-05-12 bkoz
+
+// Copyright (C) 1999, 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/>.
+
+// 17.4.1.2 Headers
+
+#include <bits/stdc++.h>
+
+// "C" compatibility headers
+#include <assert.h>
+#include <ctype.h>
+#include <errno.h>
+#include <float.h>
+#include <iso646.h>
+#include <limits.h>
+#include <locale.h>
+#include <math.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#ifdef _GLIBCXX_HAVE_WCHAR_H
+#include <wchar.h>
+#endif
+#ifdef _GLIBCXX_HAVE_WCTYPE_H
+#include <wctype.h>
+#endif
+
+#include <bits/stdc++.h>
+
+// "C" compatibility headers
+#include <assert.h>
+#include <ctype.h>
+#include <errno.h>
+#include <float.h>
+#include <iso646.h>
+#include <limits.h>
+#include <locale.h>
+#include <math.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#ifdef _GLIBCXX_HAVE_WCHAR_H
+#include <wchar.h>
+#endif
+#ifdef _GLIBCXX_HAVE_WCTYPE_H
+#include <wctype.h>
+#endif
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc
deleted file mode 100644 (file)
index 424bb58..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2007, 2008, 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/>.
-
-// 17.4.1.2 Headers
-
-// "C" headers
-#include <cassert>
-#include <ccomplex>
-#include <cctype>
-#include <cerrno>
-#include <cfenv>
-#include <cfloat>
-#include <cinttypes>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstdbool>
-#include <cstddef>
-#include <cstdint>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctgmath>
-#include <ctime>
-#include <cwchar>
-#include <cwctype>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-
-// "C++" headers
-#include <algorithm>
-#include <array>
-#include <bitset>
-#include <chrono>
-#include <complex>
-#include <condition_variable>
-#include <deque>
-#include <exception>
-#include <forward_list>
-#include <fstream>
-#include <functional>
-#include <iomanip>
-#include <ios>
-#include <iosfwd>
-#include <iostream>
-#include <istream>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <locale>
-#include <map>
-#include <memory>
-#include <mutex>
-#include <new>
-#include <numeric>
-#include <ostream>
-#include <queue>
-#include <random>
-#include <ratio>
-#include <regex>
-#include <set>
-#include <sstream>
-#include <stack>
-#include <stdexcept>
-#include <streambuf>
-#include <string>
-#include <thread>
-#include <tuple>
-#include <typeinfo>
-#include <type_traits>
-#include <unordered_map>
-#include <unordered_set>
-#include <utility>
-#include <valarray>
-#include <vector>
-
-
-// "C" headers
-#include <cassert>
-#include <ccomplex>
-#include <cctype>
-#include <cerrno>
-#include <cfenv>
-#include <cfloat>
-#include <cinttypes>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstdbool>
-#include <cstddef>
-#include <cstdint>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctgmath>
-#include <ctime>
-#include <cwchar>
-#include <cwctype>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-
-// "C++" headers
-#include <algorithm>
-#include <array>
-#include <bitset>
-#include <chrono>
-#include <complex>
-#include <condition_variable>
-#include <deque>
-#include <exception>
-#include <forward_list>
-#include <fstream>
-#include <functional>
-#include <iomanip>
-#include <ios>
-#include <iosfwd>
-#include <iostream>
-#include <istream>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <locale>
-#include <map>
-#include <memory>
-#include <mutex>
-#include <new>
-#include <numeric>
-#include <ostream>
-#include <queue>
-#include <random>
-#include <ratio>
-#include <regex>
-#include <set>
-#include <sstream>
-#include <stack>
-#include <stdexcept>
-#include <streambuf>
-#include <string>
-#include <thread>
-#include <tuple>
-#include <typeinfo>
-#include <type_traits>
-#include <unordered_map>
-#include <unordered_set>
-#include <utility>
-#include <valarray>
-#include <vector>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_exceptions.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_no_exceptions.cc
new file mode 100644 (file)
index 0000000..5650e3a
--- /dev/null
@@ -0,0 +1,21 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x -fno-exceptions" }
+
+// 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 <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc
new file mode 100644 (file)
index 0000000..08f8fd8
--- /dev/null
@@ -0,0 +1,21 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x -pedantic-errors" }
+
+// 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 <bits/extc++.h>
@@ -1,3 +1,5 @@
+// FreeBSD wants warning clean system headers:
+// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } }
 // { dg-options "-std=gnu++0x" }
 // { dg-do compile }
 
 
 // 17.4.1.2 Headers
 
-// "C" headers
-#include <cassert>
-#include <ccomplex>
-#include <cctype>
-#include <cerrno>
-#include <cfenv>
-#include <cfloat>
-#include <cinttypes>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstdatomic>
-#include <cstdbool>
-#include <cstddef>
-#include <cstdint>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctgmath>
-#include <ctime>
-#include <cwchar>
-#include <cwctype>
+#include <bits/stdc++.h>
 
 // "C" compatibility headers
 #include <assert.h>
 #ifdef _GLIBCXX_HAVE_WCTYPE_H
 #include <wctype.h>
 #endif
-
-// "C++" headers
-#include <algorithm>
-#include <array>
-#include <bitset>
-#include <chrono>
-#include <complex>
-#include <condition_variable>
-#include <deque>
-#include <exception>
-#include <forward_list>
-#include <fstream>
-#include <functional>
-#include <iomanip>
-#include <ios>
-#include <iosfwd>
-#include <iostream>
-#include <istream>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <locale>
-#include <map>
-#include <memory>
-#include <mutex>
-#include <new>
-#include <numeric>
-#include <ostream>
-#include <queue>
-#include <random>
-#include <ratio>
-#include <regex>
-#include <set>
-#include <sstream>
-#include <stack>
-#include <stdexcept>
-#include <streambuf>
-#include <string>
-#include <system_error>
-#include <thread>
-#include <tuple>
-#include <typeinfo>
-#include <type_traits>
-#include <unordered_map>
-#include <unordered_set>
-#include <utility>
-#include <valarray>
-#include <vector>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc
new file mode 100644 (file)
index 0000000..89c6cdd
--- /dev/null
@@ -0,0 +1,111 @@
+// FreeBSD wants warning clean system headers:
+// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } }
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// Copyright (C) 2007, 2008, 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/>.
+
+// 17.4.1.2 Headers
+
+#include <bits/stdc++.h>
+
+// "C" compatibility headers
+#include <assert.h>
+#ifdef _GLIBCXX_HAVE_COMPLEX_H
+#include <complex.h>
+#endif
+#include <ctype.h>
+#include <errno.h>
+#ifdef _GLIBCXX_HAVE_FENV_H
+#include <fenv.h>
+#endif
+#include <float.h>
+#ifdef _GLIBCXX_HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+#include <iso646.h>
+#include <limits.h>
+#include <locale.h>
+#include <math.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdarg.h>
+#ifdef _GLIBCXX_HAVE_STDBOOL_H
+#include <stdbool.h>
+#endif
+#include <stddef.h>
+#ifdef _GLIBCXX_HAVE_STDINT_H
+#include <stdint.h>
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#ifdef _GLIBCXX_HAVE_TGMATH_H
+#include <tgmath.h>
+#endif
+#include <time.h>
+#ifdef _GLIBCXX_HAVE_WCHAR_H
+#include <wchar.h>
+#endif
+#ifdef _GLIBCXX_HAVE_WCTYPE_H
+#include <wctype.h>
+#endif
+
+#include <bits/stdc++.h>
+
+// "C" compatibility headers
+#include <assert.h>
+#ifdef _GLIBCXX_HAVE_COMPLEX_H
+#include <complex.h>
+#endif
+#include <ctype.h>
+#include <errno.h>
+#ifdef _GLIBCXX_HAVE_FENV_H
+#include <fenv.h>
+#endif
+#include <float.h>
+#ifdef _GLIBCXX_HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+#include <iso646.h>
+#include <limits.h>
+#include <locale.h>
+#include <math.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdarg.h>
+#ifdef _GLIBCXX_HAVE_STDBOOL_H
+#include <stdbool.h>
+#endif
+#include <stddef.h>
+#ifdef _GLIBCXX_HAVE_STDINT_H
+#include <stdint.h>
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#ifdef _GLIBCXX_HAVE_TGMATH_H
+#include <tgmath.h>
+#endif
+#include <time.h>
+#ifdef _GLIBCXX_HAVE_WCHAR_H
+#include <wchar.h>
+#endif
+#ifdef _GLIBCXX_HAVE_WCTYPE_H
+#include <wctype.h>
+#endif