diff options
| author | Eric Fiselier <eric@efcs.ca> | 2016-06-18 02:11:48 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2016-06-18 02:11:48 +0000 |
| commit | ccc9826f566ddbc1bc977a9e0a2ef218ea485067 (patch) | |
| tree | 20279df27be5ba3ab4cbd7bba5d31d758151475e /libcxx/src | |
| parent | 1040b4479cff239dcb78ad14d1a0f2bde6557f55 (diff) | |
| download | bcm5719-llvm-ccc9826f566ddbc1bc977a9e0a2ef218ea485067.tar.gz bcm5719-llvm-ccc9826f566ddbc1bc977a9e0a2ef218ea485067.zip | |
Add additional tests in an attempt to diagnose ARM test failures.
Currently 4 tests are failing on the ARM buildbot. To try and diagnose each
of the failures this patch does the following:
1) path.itr/iterator.pass.cpp
* Temporarily print iteration sequence to see where its failing.
2) path.native.obs/string_alloc.pass.cpp
* Remove test that ::new is not called when constructing a short string
that requires a conversion. Since during the conversion global locale
objects might be constructed.
3) fs.op.funcs/space.pass.cpp
* Explicitly use uintmax_t in the implementation of space, hopefully
preventing possible overflows.
* Add additional tests that check for overflow is the calculation of the
space_info values.
* Add additional tests for the values returned from statfvs.
4) fs.op.funcs/last_write_time.pass.cpp
* No changes made yet.
llvm-svn: 273075
Diffstat (limited to 'libcxx/src')
| -rw-r--r-- | libcxx/src/experimental/filesystem/operations.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libcxx/src/experimental/filesystem/operations.cpp b/libcxx/src/experimental/filesystem/operations.cpp index 7d382d1046c..f92b0f7bac1 100644 --- a/libcxx/src/experimental/filesystem/operations.cpp +++ b/libcxx/src/experimental/filesystem/operations.cpp @@ -669,7 +669,7 @@ void __resize_file(const path& p, std::uintmax_t size, std::error_code *ec) { space_info __space(const path& p, std::error_code *ec) { space_info si; - struct statvfs m_svfs; + struct statvfs m_svfs = {}; if (::statvfs(p.c_str(), &m_svfs) == -1) { set_or_throw(ec, "space", p); si.capacity = si.free = si.available = @@ -678,7 +678,7 @@ space_info __space(const path& p, std::error_code *ec) { } if (ec) ec->clear(); // Multiply with overflow checking. - auto do_mult = [&](std::uintmax_t& out, fsblkcnt_t other) { + auto do_mult = [&](std::uintmax_t& out, std::uintmax_t other) { out = other * m_svfs.f_frsize; if (out / other != m_svfs.f_frsize || other == 0) out = static_cast<std::uintmax_t>(-1); |

