The convertible_to traits need to use a variadic catch-all for the false-cases.
authorVille Voutilainen <ville.voutilainen@gmail.com>
Thu, 1 Dec 2016 07:14:19 +0000 (09:14 +0200)
committerVille Voutilainen <ville@gcc.gnu.org>
Thu, 1 Dec 2016 07:14:19 +0000 (09:14 +0200)
The convertible_to traits need to use a variadic catch-all for the
false-cases.
* include/std/istream (__is_convertible_to_basic_istream):
Change the parameter of the false-case of __check to a variadic.
* include/std/ostream (__is_convertible_to_basic_ostream):
Likewise.

From-SVN: r243098

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/istream
libstdc++-v3/include/std/ostream

index b5f94c09c630459c1f5e9cab8b1e5869495bb59b..cc0b3ae0c6a6f6960cbe0ff0507725ccc1645df8 100644 (file)
@@ -1,3 +1,12 @@
+2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
+
+       The convertible_to traits need to use a variadic catch-all for the
+       false-cases.
+       * include/std/istream (__is_convertible_to_basic_istream):
+       Change the parameter of the false-case of __check to a variadic.
+       * include/std/ostream (__is_convertible_to_basic_ostream):
+       Likewise.
+
 2016-12-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
 
        * crossconfig.m4 (*-linux*): Add link-check for memalign.
index 319e2264e796dd5290cc84c66483fdb63b173963..1d77d302025c9f72d3bfd93e172796496003dec5 100644 (file)
@@ -915,7 +915,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _Ch, typename _Up>
       static basic_istream<_Ch, _Up>& __check(basic_istream<_Ch, _Up>*);
 
-      static void __check(void*);
+      static void __check(...);
     public:
       using istream_type =
        decltype(__check(declval<typename remove_reference<_Tp>::type*>()));
index 70fd10ba954336394438e4d55105576d61449246..9dea778bf8f697eb7c1ceaf5ca655195bed3ab51 100644 (file)
@@ -619,7 +619,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     template<typename _Ch, typename _Up>
     static basic_ostream<_Ch, _Up>& __check(basic_ostream<_Ch, _Up>*);
 
-    static void __check(void*);
+    static void __check(...);
   public:
     using ostream_type =
       decltype(__check(declval<typename remove_reference<_Tp>::type*>()));