This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3 PATCH] PR libstdc++/80675, PR libstdc++/80940


On 10/06/17 04:38 +0300, Ville Voutilainen wrote:
-      static void __check(...);
+  template<typename _Tp>
+    struct __is_convertible_to_basic_istream
+    : __is_convertible_to_basic_istream_impl<_Tp>
+    {
    public:
-      using istream_type =
-	decltype(__check(declval<typename remove_reference<_Tp>::type*>()));
-      using type = __not_<is_same<istream_type, void>>;
+      using type = __not_<is_same<void,
+        typename __is_convertible_to_basic_istream_impl<_Tp>::__istream_type>>;

This could use is_void<...> instead of is_same<void, ...>, same below.

Otherwise OK for trunk, thanks for dealing with this.

80940 is a regression, so we need this on gcc-7-branch too, assuming
it passes testing there.





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]