Thanks to the front-end now checking my dumb mistakes, these functions
no longer compiled - yay for G++ improvements!

        PR libstdc++/82917
        * include/std/fstream (basic_ifstream::open, basic_ofstream::open)
        (basic_fstream::open): Fix missing return.

Tested powerpc64le-linux, committed to trunk.

commit a15c3d1af29deb46eae9bfe3da4bf6b44de5020e
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Fri Nov 10 20:59:47 2017 +0000

    PR libstdc++/82917 add missing returns in <fstream>
    
            PR libstdc++/82917
            * include/std/fstream (basic_ifstream::open, basic_ofstream::open)
            (basic_fstream::open): Fix missing return.

diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream
index a3324c004d7..26176afccd0 100644
--- a/libstdc++-v3/include/std/fstream
+++ b/libstdc++-v3/include/std/fstream
@@ -663,7 +663,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _Path>
        auto
        open(const _Path& __s, ios_base::openmode __mode = ios_base::in)
-       -> decltype(_M_filebuf.open(__s, __mode))
+       -> decltype((void)_M_filebuf.open(__s, __mode))
        { open(__s.c_str(), __mode); }
 #endif // C++17
 #endif // C++11
@@ -891,7 +891,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       template<typename _Path>
        auto
        open(const _Path& __s, ios_base::openmode __mode = ios_base::out)
-       -> decltype(_M_filebuf.open(__s, __mode))
+       -> decltype((void)_M_filebuf.open(__s, __mode))
        { open(__s.c_str(), __mode); }
 #endif // C++17
 #endif // C++11
@@ -1118,7 +1118,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        auto
        open(const _Path& __s,
             ios_base::openmode __mode = ios_base::in | ios_base::out)
-       -> decltype(_M_filebuf.open(__s, __mode))
+       -> decltype((void)_M_filebuf.open(__s, __mode))
        { open(__s.c_str(), __mode); }
 #endif // C++17
 #endif // C++11

Reply via email to