Disable -Wliteral-suffix for standard UDLs
authorJonathan Wakely <jwakely@redhat.com>
Fri, 1 Dec 2017 16:10:25 +0000 (16:10 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 1 Dec 2017 16:10:25 +0000 (16:10 +0000)
* include/bits/basic_string.h (operator""s): Add pragmas to disable
-Wliteral-suffix warnings.
* include/experimental/string_view (operator""sv): Likewise.
* include/std/chrono (operator""h, operator""min, operator""s)
(operator""ms, operator""us, operator""ns): Likewise.
* include/std/complex (operator""if, operator""i, operator""il):
Likewise.
* include/std/string_view (operator""sv): Likewise.
* testsuite/20_util/duration/literals/range.cc: Adjust dg-error.

From-SVN: r255320

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/basic_string.h
libstdc++-v3/include/experimental/string_view
libstdc++-v3/include/std/chrono
libstdc++-v3/include/std/complex
libstdc++-v3/include/std/string_view
libstdc++-v3/testsuite/20_util/duration/literals/range.cc

index d8308c3f6f44c46017561fd74a51a2aa49541762..14b65e3575ed2730e111f6398a30198a7a5cb583 100644 (file)
@@ -1,5 +1,15 @@
 2017-12-01  Jonathan Wakely  <jwakely@redhat.com>
 
+       * include/bits/basic_string.h (operator""s): Add pragmas to disable
+       -Wliteral-suffix warnings.
+       * include/experimental/string_view (operator""sv): Likewise.
+       * include/std/chrono (operator""h, operator""min, operator""s)
+       (operator""ms, operator""us, operator""ns): Likewise.
+       * include/std/complex (operator""if, operator""i, operator""il):
+       Likewise.
+       * include/std/string_view (operator""sv): Likewise.
+       * testsuite/20_util/duration/literals/range.cc: Adjust dg-error.
+
        * include/bits/locale_facets_nonio.tcc (money_get::_M_extract): Add
        fallthrough comment.
 
index a4b81137571cda6462be37648d46d98a8524b3e2..70373e7448ad413fa064b8a449b0d29d3ec740a8 100644 (file)
@@ -6665,6 +6665,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   {
   inline namespace string_literals
   {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wliteral-suffix"
     _GLIBCXX_DEFAULT_ABI_TAG
     inline basic_string<char>
     operator""s(const char* __str, size_t __len)
@@ -6689,6 +6691,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { return basic_string<char32_t>{__str, __len}; }
 #endif
 
+#pragma GCC diagnostic pop
   } // inline namespace string_literals
   } // inline namespace literals
 
index 8eaf9ec3d961e0f1299676aba302d3f73718318c..96d1f58f8e9ee265bd8290013803274ebcf00314 100644 (file)
@@ -644,6 +644,8 @@ namespace experimental
   {
   inline namespace string_view_literals
   {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wliteral-suffix"
     inline constexpr basic_string_view<char>
     operator""sv(const char* __str, size_t __len) noexcept
     { return basic_string_view<char>{__str, __len}; }
@@ -663,6 +665,7 @@ namespace experimental
     operator""sv(const char32_t* __str, size_t __len) noexcept
     { return basic_string_view<char32_t>{__str, __len}; }
 #endif
+#pragma GCC diagnostic pop
   } // namespace string_literals
   } // namespace literals
 } // namespace experimental
index 9491508e6379b5f34be6ecad3419c1765d6ec0c9..2419e82acce7d5fd0fab134b89d8adde24184ce9 100644 (file)
@@ -884,6 +884,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   {
   inline namespace chrono_literals
   {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wliteral-suffix"
     template<typename _Rep, unsigned long long _Val>
       struct _Checked_integral_constant
       : integral_constant<_Rep, static_cast<_Rep>(_Val)>
@@ -958,6 +960,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       operator""ns()
       { return __check_overflow<chrono::nanoseconds, _Digits...>(); }
 
+#pragma GCC diagnostic pop
   } // inline namespace chrono_literals
   } // inline namespace literals
 
@@ -966,7 +969,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     using namespace literals::chrono_literals;
   } // namespace chrono
 
-#endif // __cplusplus > 201103L
+#endif // C++14
 
   // @} group chrono
 
index bd8b09d84f0d99b1225e72bcf5639f4478f640ed..61f8cc1fce36a6a0cc412d9363d7077959816309 100644 (file)
@@ -1941,6 +1941,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
 inline namespace literals {
 inline namespace complex_literals {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wliteral-suffix"
 #define __cpp_lib_complex_udls 201309
 
   constexpr std::complex<float>
@@ -1967,6 +1969,7 @@ inline namespace complex_literals {
   operator""il(unsigned long long __num)
   { return std::complex<long double>{0.0L, static_cast<long double>(__num)}; }
 
+#pragma GCC diagnostic pop
 } // inline namespace complex_literals
 } // inline namespace literals
 
index 68b4b08f8f4cc612190686b6f51f14ed8b7652fe..1266a07d04fac1b4ddde31255797deaf34cfd248 100644 (file)
@@ -626,6 +626,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   {
   inline namespace string_view_literals
   {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wliteral-suffix"
     inline constexpr basic_string_view<char>
     operator""sv(const char* __str, size_t __len) noexcept
     { return basic_string_view<char>{__str, __len}; }
@@ -645,6 +647,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     operator""sv(const char32_t* __str, size_t __len) noexcept
     { return basic_string_view<char32_t>{__str, __len}; }
 #endif
+#pragma GCC diagnostic pop
   } // namespace string_literals
   } // namespace literals
 
index c0d1a6e588560b849d768d8df77363fa720c9bbd..20d82c5cdbe18952505aeb63158f8ab093e591e8 100644 (file)
@@ -26,6 +26,6 @@ test01()
 
   // std::numeric_limits<int64_t>::max() == 9223372036854775807;
   auto h = 9223372036854775808h;
-  // { dg-error "cannot be represented" "" { target *-*-* } 892 }
+  // { dg-error "cannot be represented" "" { target *-*-* } 894 }
 }
 // { dg-prune-output "in constexpr expansion" } // needed for -O0