[Bug libstdc++/85632] std::filesystem::space or std::experimental::filesystem::space does not return correct information

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu May 3 20:40:00 GMT 2018


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

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Thu May  3 20:39:31 2018
New Revision: 259911

URL: https://gcc.gnu.org/viewcvs?rev=259911&root=gcc&view=rev
Log:
PR libstdc++/85632 fix wraparound in filesystem::space

On 32-bit targets any values over 4GB would wrap and produce the wrong
result.

        PR libstdc++/85632 use uintmax_t for arithmetic
        * src/filesystem/ops.cc (experimental::filesystem::space): Perform
        arithmetic in result type.
        * testsuite/experimental/filesystem/operations/space.cc: New.

Added:
   
branches/gcc-6-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/space.cc
Modified:
    branches/gcc-6-branch/libstdc++-v3/ChangeLog
    branches/gcc-6-branch/libstdc++-v3/src/filesystem/ops.cc


More information about the Gcc-bugs mailing list