]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix libstdc++ versioned namespace build
authorJonathan Wakely <jwakely@redhat.com>
Mon, 3 Oct 2016 14:42:06 +0000 (15:42 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Mon, 3 Oct 2016 14:42:06 +0000 (15:42 +0100)
PR libstdc++/68323
PR libstdc++/77794
* config/abi/pre/gnu-versioned-namespace.ver: Add export for
__cxa_thread_atexit.
* include/Makefile.am: Add <experimental/lfts_config.h>
* include/Makefile.in: Regenerate.
* src/filesystem/Makefile.in: Likewise.
* include.bits/basic_string.h: Fix nesting of versioned namespaces.
* include/bits/c++config: Declare versioned namespaces for literals.
* include/bits/regex.h (basic_regex, match_results): Add workarounds
for PR c++/59256.
* include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
* include/std/chrono: Likewise.
* include/std/complex: Likewise.
* include/experimental/fs_fwd.h: Declare versioned namespace.
* include/experimental/lfts_config.h: Declare versioned namespaces.
* include/experimental/algorithm: Include
<experimental/lfts_config.h>.
* include/experimental/any: Likewise.
* include/experimental/chrono: Likewise.
* include/experimental/functional: Likewise.
* include/experimental/optional: Likewise.
* include/experimental/ratio: Likewise.
* include/experimental/system_error: Likewise.
* include/experimental/tuple: Likewise.
* include/experimental/type_traits: Likewise.
* include/experimental/string_view: Likewise. Fix nesting of
versioned namespaces.
* include/experimental/string_view.tcc: Reopen inline namespace for
non-inline function definitions.
* testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
* testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
* testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
* testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.

From-SVN: r240720

28 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/basic_string.h
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/bits/regex.h
libstdc++-v3/include/bits/uniform_int_dist.h
libstdc++-v3/include/experimental/algorithm
libstdc++-v3/include/experimental/any
libstdc++-v3/include/experimental/chrono
libstdc++-v3/include/experimental/fs_fwd.h
libstdc++-v3/include/experimental/functional
libstdc++-v3/include/experimental/lfts_config.h [new file with mode: 0644]
libstdc++-v3/include/experimental/optional
libstdc++-v3/include/experimental/ratio
libstdc++-v3/include/experimental/string_view
libstdc++-v3/include/experimental/string_view.tcc
libstdc++-v3/include/experimental/system_error
libstdc++-v3/include/experimental/tuple
libstdc++-v3/include/experimental/type_traits
libstdc++-v3/include/std/chrono
libstdc++-v3/include/std/complex
libstdc++-v3/src/filesystem/Makefile.in
libstdc++-v3/testsuite/17_intro/using_namespace_std_exp_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/duration/literals/range.cc
libstdc++-v3/testsuite/experimental/any/misc/any_cast_neg.cc
libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc

index 95f754522ec7859d1a3d2bc41f0e4b5a7455f38e..4c61b56ec67abc2d2e83fc0f604a0ae371220ce9 100644 (file)
@@ -1,3 +1,40 @@
+2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/68323
+       PR libstdc++/77794
+       * config/abi/pre/gnu-versioned-namespace.ver: Add export for
+       __cxa_thread_atexit.
+       * include/Makefile.am: Add <experimental/lfts_config.h>
+       * include/Makefile.in: Regenerate.
+       * src/filesystem/Makefile.in: Likewise.
+       * include.bits/basic_string.h: Fix nesting of versioned namespaces.
+       * include/bits/c++config: Declare versioned namespaces for literals.
+       * include/bits/regex.h (basic_regex, match_results): Add workarounds
+       for PR c++/59256.
+       * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
+       * include/std/chrono: Likewise.
+       * include/std/complex: Likewise.
+       * include/experimental/fs_fwd.h: Declare versioned namespace.
+       * include/experimental/lfts_config.h: Declare versioned namespaces.
+       * include/experimental/algorithm: Include
+       <experimental/lfts_config.h>.
+       * include/experimental/any: Likewise.
+       * include/experimental/chrono: Likewise.
+       * include/experimental/functional: Likewise.
+       * include/experimental/optional: Likewise.
+       * include/experimental/ratio: Likewise.
+       * include/experimental/system_error: Likewise.
+       * include/experimental/tuple: Likewise.
+       * include/experimental/type_traits: Likewise.
+       * include/experimental/string_view: Likewise. Fix nesting of
+       versioned namespaces.
+       * include/experimental/string_view.tcc: Reopen inline namespace for
+       non-inline function definitions.
+       * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
+       * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
+       * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
+       * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
+
 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
 
        PR libstdc++/77686
index 6bf8e9b8b4469b0ae6d430e38297f0e246931418..9666678ee3692ff8f3d57e1506c35fe2067c7615 100644 (file)
@@ -186,6 +186,7 @@ CXXABI_2.0 {
     __cxa_guard_release;
     __cxa_pure_virtual;
     __cxa_rethrow;
+    __cxa_thread_atexit;
     __cxa_throw;
     __cxa_type_match;
     __cxa_vec_cctor;
index 5b6b4eb906300d8ae50fce57e16250a6d4280560..5a3b1891bdb188a211b5c57b41f2df43d6d8ecdb 100644 (file)
@@ -649,6 +649,7 @@ experimental_headers = \
        ${experimental_srcdir}/any \
        ${experimental_srcdir}/chrono \
        ${experimental_srcdir}/functional \
+       ${experimental_srcdir}/lfts_config.h \
        ${experimental_srcdir}/optional \
        ${experimental_srcdir}/ratio \
        ${experimental_srcdir}/string_view \
index 02b3ae846c88b2b039269f553ea415f5d4c4775e..591301add5fc5272fc36d4ece967eb6b6c75b80b 100644 (file)
@@ -938,6 +938,7 @@ experimental_headers = \
        ${experimental_srcdir}/any \
        ${experimental_srcdir}/chrono \
        ${experimental_srcdir}/functional \
+       ${experimental_srcdir}/lfts_config.h \
        ${experimental_srcdir}/optional \
        ${experimental_srcdir}/ratio \
        ${experimental_srcdir}/string_view \
index 4020dcb2e2970237684e12074c999a973cd49e15..9e3aec0940a58f4d47d3759879b03bd5487d4aeb 100644 (file)
@@ -5626,6 +5626,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { };
 #endif
 
+_GLIBCXX_END_NAMESPACE_VERSION
+
 #if __cplusplus > 201103L
 
 #define __cpp_lib_string_udls 201304
@@ -5634,6 +5636,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   {
   inline namespace string_literals
   {
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
 
     _GLIBCXX_DEFAULT_ABI_TAG
     inline basic_string<char>
@@ -5659,12 +5662,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { return basic_string<char32_t>{__str, __len}; }
 #endif
 
+_GLIBCXX_END_NAMESPACE_VERSION
   } // inline namespace string_literals
   } // inline namespace literals
 
 #endif // __cplusplus > 201103L
 
-_GLIBCXX_END_NAMESPACE_VERSION
 } // namespace std
 
 #endif // C++11
index 79d1b368d4c63633a1c2d96cec70a207fd9f1369..662dbf8dfec93b58334d121dc2aa2a38d02eeabf 100644 (file)
     namespace placeholders { }
     namespace regex_constants { }
     namespace this_thread { }
-
-    namespace experimental { }
+    inline namespace literals {
+      inline namespace chrono_literals { }
+      inline namespace complex_literals { }
+      inline namespace string_literals { }
+    }
   }
 
   namespace abi { }
@@ -263,7 +266,11 @@ namespace std
   namespace regex_constants { inline namespace __7 { } }
   namespace this_thread { inline namespace __7 { } }
 
-  namespace experimental { inline namespace __7 { } }
+  inline namespace literals {
+    inline namespace chrono_literals { inline namespace __7 { } }
+    inline namespace complex_literals { inline namespace __7 { } }
+    inline namespace string_literals { inline namespace __7 { } }
+  }
 
   namespace __detail { inline namespace __7 { } }
 }
index a23c2c9b3ceedd4f1d00a50f951625d134bf8c0f..9b26c8f465df78d7d2f3fc0a38691802fd25c41d 100644 (file)
@@ -769,10 +769,13 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
 
       template<typename _Bp, typename _Ap, typename _Cp, typename _Rp,
        __detail::_RegexExecutorPolicy, bool>
-       friend bool
-       __detail::__regex_algo_impl(_Bp, _Bp, match_results<_Bp, _Ap>&,
-                                   const basic_regex<_Cp, _Rp>&,
-                                   regex_constants::match_flag_type);
+       friend bool __detail::
+#if _GLIBCXX_INLINE_VERSION
+        __7:: // Required due to PR c++/59256
+#endif
+       __regex_algo_impl(_Bp, _Bp, match_results<_Bp, _Ap>&,
+                          const basic_regex<_Cp, _Rp>&,
+                          regex_constants::match_flag_type);
 
       template<typename, typename, typename, bool>
        friend class __detail::_Executor;
@@ -1860,10 +1863,13 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
 
       template<typename _Bp, typename _Ap, typename _Cp, typename _Rp,
        __detail::_RegexExecutorPolicy, bool>
-       friend bool
-       __detail::__regex_algo_impl(_Bp, _Bp, match_results<_Bp, _Ap>&,
-                                   const basic_regex<_Cp, _Rp>&,
-                                   regex_constants::match_flag_type);
+       friend bool __detail::
+#if _GLIBCXX_INLINE_VERSION
+        __7:: // Required due to PR c++/59256
+#endif
+       __regex_algo_impl(_Bp, _Bp, match_results<_Bp, _Ap>&,
+                          const basic_regex<_Cp, _Rp>&,
+                          regex_constants::match_flag_type);
 
       void
       _M_resize(unsigned int __size)
index 670e37953240c7b5ab97638035525b9d5449b6f2..123d4aa8b95b7060a3d0c2f893720d146e0579d0 100644 (file)
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
-_GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   namespace __detail
   {
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
     /* Determine whether number is a power of 2.  */
     template<typename _Tp>
       inline bool
@@ -47,8 +47,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       {
        return ((__x - 1) & __x) == 0;
       };
+_GLIBCXX_END_NAMESPACE_VERSION
   }
 
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
   /**
    * @brief Uniform discrete distribution for random numbers.
    *
index 4281b42e292bf019354848f1f3d101b9569dd667..ce0a1491434c26cffa8c4c9f424e1a17f1763158 100644 (file)
@@ -37,6 +37,7 @@
 
 #include <algorithm>
 #include <random>
+#include <experimental/lfts_config.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
index 487ba016797311b3b9382e15c5d10efdf2562b51..30cdf54c1925487cf5f4199ff113e32e0479a731 100644 (file)
@@ -39,6 +39,7 @@
 #include <new>
 #include <utility>
 #include <type_traits>
+#include <experimental/lfts_config.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
index 0631fa5b140ed813b8869af021ec3676ea8d32d4..d4ac0706d48e51b777ee591bfcdb5ec078ea264e 100644 (file)
@@ -40,7 +40,7 @@
 #else
 
 #include <chrono>
-
+#include <experimental/lfts_config.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
index 9cf903fe90206b4150a245838cc5d3e7bc615636..ade86c35b97806c154f5cba6f299982613a08cfa 100644 (file)
@@ -46,10 +46,13 @@ namespace filesystem
 {
 inline namespace v1
 {
+#if _GLIBCXX_INLINE_VERSION
+inline namespace __7 { }
+#endif
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
 #if _GLIBCXX_USE_CXX11_ABI
-  inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
+inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
 #endif
 
   /**
index 40d3bd44d1eba7131a1dfb3599474cb9012f99da..8d19ad3a79a495cd07f1a332fbc06959fa10a9b4 100644 (file)
@@ -42,6 +42,7 @@
 #include <vector>
 #include <array>
 #include <bits/stl_algo.h>
+#include <experimental/lfts_config.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
diff --git a/libstdc++-v3/include/experimental/lfts_config.h b/libstdc++-v3/include/experimental/lfts_config.h
new file mode 100644 (file)
index 0000000..e93c9b7
--- /dev/null
@@ -0,0 +1,57 @@
+// Namespace declarations for Library Fundamentals TS -*- C++ -*-
+
+// Copyright (C) 2016 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.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+// <http://www.gnu.org/licenses/>.
+
+/** @file experimental/lfts_config.h
+ *  This is an internal header file, included by other library headers.
+ *  Do not attempt to use it directly.
+ */
+
+#if __cplusplus <= 201103L
+# include <bits/c++14_warning.h>
+#else
+#include <bits/c++config.h>
+
+#if _GLIBCXX_INLINE_VERSION
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+namespace chrono
+{
+namespace experimental
+{
+inline namespace fundamentals_v1 { inline namespace __7 { } }
+inline namespace fundamentals_v2 { inline namespace __7 { } }
+} // namespace experimental
+} // namespace chrono
+
+namespace experimental
+{
+inline namespace fundamentals_v1 { inline namespace __7 { } }
+inline namespace fundamentals_v2 { inline namespace __7 { } }
+inline namespace literals { inline namespace string_view_literals {
+  inline namespace __7 { }
+} } // namespace literals::string_view_literals
+} // namespace experimental
+} // namespace std
+#endif
+#endif
index f6e3fa0258ab2e5bdc035e16ad499620889a1d44..b85b4bff92381f773027ede3f8c0596b856cf92b 100644 (file)
@@ -53,6 +53,7 @@
 #include <bits/functexcept.h>
 #include <bits/functional_hash.h>
 #include <bits/enable_special_members.h>
+#include <experimental/lfts_config.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
index a009dea6fe960c764e487173b3a455429ac5c8ce..6e784a27b93b127e5bfe9382dfa548461d1175da 100644 (file)
@@ -40,7 +40,7 @@
 #else
 
 #include <ratio>
-
+#include <experimental/lfts_config.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
@@ -49,6 +49,7 @@ namespace experimental
 inline namespace fundamentals_v1
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
 // See C++14 §20.11.5, ratio comparison
 template <typename _R1, typename _R2>
   constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value;
index f11a1878c56a95425a2c13ac0d10f97f4261d3b6..5807345d44c5f26b8fe80efe8ab6a033e5a2edf1 100644 (file)
@@ -41,6 +41,7 @@
 
 #include <string>
 #include <limits>
+#include <experimental/lfts_config.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
@@ -651,13 +652,12 @@ _GLIBCXX_END_NAMESPACE_VERSION
 
 namespace experimental
 {
-_GLIBCXX_BEGIN_NAMESPACE_VERSION
-
   // I added these EMSR.
   inline namespace literals
   {
   inline namespace string_view_literals
   {
+  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
     inline constexpr basic_string_view<char>
     operator""sv(const char* __str, size_t __len)
@@ -679,10 +679,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { return basic_string_view<char32_t>{__str, __len}; }
 #endif
 
-  }
-  }
-
-_GLIBCXX_END_NAMESPACE_VERSION
+  _GLIBCXX_END_NAMESPACE_VERSION
+  } // namespace string_literals
+  } // namespace literals
 } // namespace experimental
 } // namespace std
 
index 942184206a65d0f8668ecceae2cd3bdc15cc46cd..7be3d53d92edaf80744d80095308df862d8e82d9 100644 (file)
@@ -44,6 +44,8 @@ namespace std _GLIBCXX_VISIBILITY(default)
 {
 namespace experimental
 {
+inline namespace fundamentals_v1
+{
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   template<typename _CharT, typename _Traits>
@@ -222,6 +224,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     }
 
 _GLIBCXX_END_NAMESPACE_VERSION
+} // namespace fundamentals_v1
 } // namespace experimental
 } // namespace std
 
index ba3f8befd83f9405ef9cc7da1966e1357e073c97..f034f9a94c2401d13ec35a2c3ba66f6e2fbfa475 100644 (file)
@@ -40,7 +40,7 @@
 #else
 
 #include <system_error>
-
+#include <experimental/lfts_config.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
@@ -49,12 +49,14 @@ namespace experimental
 inline namespace fundamentals_v1
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
 // See C++14 §19.5, System error support
 template <typename _Tp>
   constexpr bool is_error_code_enum_v = is_error_code_enum<_Tp>::value;
 template <typename _Tp>
   constexpr bool is_error_condition_enum_v =
     is_error_condition_enum<_Tp>::value;
+
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace fundamentals_v1
 } // namespace experimental
index 99935f1233a7eb750905ea7c5e8a993f9a46ecd4..fb15d2cac5316402c53bea4eec0e2c22da7cd882 100644 (file)
@@ -36,6 +36,7 @@
 #else
 
 #include <tuple>
+#include <experimental/lfts_config.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
index db78eec9ec37c7f3f478a395b011eed39b71db21..a4257e29a9c7391ecf346241c3076543a23bdf79 100644 (file)
@@ -40,7 +40,7 @@
 #else
 
 #include <type_traits>
-
+#include <experimental/lfts_config.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
index 50a2bbfca9c1727dd572a81b460a8b155fa89345..abe0ca119e6c85d56b1f8b920c05019201d63475 100644 (file)
@@ -788,6 +788,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
   {
   inline namespace chrono_literals
   {
+  _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
     template<typename _Rep, unsigned long long _Val>
       struct _Checked_integral_constant
@@ -863,6 +864,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
       operator""ns()
       { return __check_overflow<chrono::nanoseconds, _Digits...>(); }
 
+  _GLIBCXX_END_NAMESPACE_VERSION
   } // inline namespace chrono_literals
   } // inline namespace literals
 
index 585683c6f93ad27e6612f17899ed58a4325e5ffc..c06726c7c769608c3c795f71aa886a49ca9bef63 100644 (file)
@@ -1929,10 +1929,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     conj(_Tp __x)
     { return __x; }
 
+_GLIBCXX_END_NAMESPACE_VERSION
+
 #if __cplusplus > 201103L
 
 inline namespace literals {
 inline namespace complex_literals {
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
 
 #define __cpp_lib_complex_udls 201309
 
@@ -1960,12 +1963,12 @@ inline namespace complex_literals {
   operator""il(unsigned long long __num)
   { return std::complex<long double>{0.0L, static_cast<long double>(__num)}; }
 
+_GLIBCXX_END_NAMESPACE_VERSION
 } // inline namespace complex_literals
 } // inline namespace literals
 
 #endif // C++14
 
-_GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
 
 #endif  // C++11
index bbc45a873104bcbda950c8e5a21d49439f557593..f8f0180f9ba67549ed7a6f5157a3e890134f031f 100644 (file)
@@ -352,7 +352,7 @@ WARN_CXXFLAGS = \
 
 
 # -I/-D flags to pass when compiling.
-AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS)
+AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
 toolexeclib_LTLIBRARIES = libstdc++fs.la
 headers = 
 @ENABLE_DUAL_ABI_FALSE@cxx11_abi_sources = 
diff --git a/libstdc++-v3/testsuite/17_intro/using_namespace_std_exp_neg.cc b/libstdc++-v3/testsuite/17_intro/using_namespace_std_exp_neg.cc
new file mode 100644 (file)
index 0000000..963edda
--- /dev/null
@@ -0,0 +1,66 @@
+// { dg-options "-std=gnu++11" }
+// { dg-do compile }
+
+// Copyright (C) 2016 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 <algorithm>
+#include <array>
+#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 <random>
+#include <regex>
+#include <set>
+#include <sstream>
+#include <stack>
+#include <stdexcept>
+#include <streambuf>
+#include <string>
+#include <tuple>
+#include <typeinfo>
+#include <type_traits>
+#include <unordered_map>
+#include <unordered_set>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+namespace gnu
+{
+  using namespace std::experimental;  // { dg-error "is not a namespace-name" }
+}
+
+// { dg-error "expected namespace-name before" "" { target *-*-* } 63 }
index a56b2389fe00cc66ae34017dc6128df18d4f5e18..9cd3215067afea37f459ec1d226813aa18422a56 100644 (file)
@@ -27,5 +27,5 @@ test01()
 
   // std::numeric_limits<int64_t>::max() == 9223372036854775807;
   auto h = 9223372036854775808h;
-  // { dg-error "cannot be represented" "" { target *-*-* } 796 }
+  // { dg-error "cannot be represented" "" { target *-*-* } 797 }
 }
index f1992d954446f130a08977823ef04b6ad07751af..28388f68b0f3ef6ecb8fdeeec58ea2d151d654d6 100644 (file)
@@ -26,5 +26,5 @@ void test01()
   using std::experimental::any_cast;
 
   const any y(1);
-  any_cast<int&>(y); // { dg-error "qualifiers" "" { target { *-*-* } } 310 }
+  any_cast<int&>(y); // { dg-error "qualifiers" "" { target { *-*-* } } 311 }
 }
index dd19f1406b18509f2bdb2a86a0bb6b62db73050f..86065f73b7545fb53ddf9ef1134303d630c23408 100644 (file)
@@ -25,4 +25,4 @@
 
 #include <vector>
 
-// { dg-error "multiple inlined namespaces" "" { target *-*-* } 322 }
+// { dg-error "multiple inlined namespaces" "" { target *-*-* } 329 }