diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b5f94c09c630459c1f5e9cab8b1e5869495bb59b..cc0b3ae0c6a6f6960cbe0ff0507725ccc1645df8 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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.
diff --git a/libstdc++-v3/include/std/istream b/libstdc++-v3/include/std/istream
index 319e2264e796dd5290cc84c66483fdb63b173963..1d77d302025c9f72d3bfd93e172796496003dec5 100644
--- a/libstdc++-v3/include/std/istream
+++ b/libstdc++-v3/include/std/istream
@@ -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*>()));
diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream
index 70fd10ba954336394438e4d55105576d61449246..9dea778bf8f697eb7c1ceaf5ca655195bed3ab51 100644
--- a/libstdc++-v3/include/std/ostream
+++ b/libstdc++-v3/include/std/ostream
@@ -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*>()));