[Bug libstdc++/81751] [5/6/7 Regression]__basic_file::sync() may flush _all_ files

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Sep 4 16:53:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81751

--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Mon Sep  4 16:52:30 2017
New Revision: 251676

URL: https://gcc.gnu.org/viewcvs?rev=251676&root=gcc&view=rev
Log:
PR libstdc++/81751 don't call fflush(NULL)

Backport from mainline
2017-08-09  Jonathan Wakely  <jwakely@redhat.com>

        PR libstdc++/79820
        PR libstdc++/81751
        * config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)):
        Call fflush on the stream instead of calling sync() while _M_cfile is
        null. Restore original value of errno.
        * testsuite/ext/stdio_filebuf/char/79820.cc: New.
        * testsuite/ext/stdio_filebuf/char/81751.cc: New.

Added:
   
branches/gcc-6-branch/libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc
   
branches/gcc-6-branch/libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc
Modified:
    branches/gcc-6-branch/libstdc++-v3/ChangeLog
    branches/gcc-6-branch/libstdc++-v3/config/io/basic_file_stdio.cc


More information about the Gcc-bugs mailing list