diff options
author | Eric Fiselier <eric@efcs.ca> | 2018-07-22 20:50:16 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2018-07-22 20:50:16 +0000 |
commit | 0f3ce8e6404c81801d98f51d97f080c9a0f7a6c1 (patch) | |
tree | f1ec962f06d5b68c401aa2235678c17b66ed6235 /libcxx/test/std/experimental/filesystem/class.directory_entry | |
parent | a26943725800950c502ddf7d2bbabdd7248ebc73 (diff) | |
download | bcm5719-llvm-0f3ce8e6404c81801d98f51d97f080c9a0f7a6c1.tar.gz bcm5719-llvm-0f3ce8e6404c81801d98f51d97f080c9a0f7a6c1.zip |
fix test failures with older clang versions
llvm-svn: 337658
Diffstat (limited to 'libcxx/test/std/experimental/filesystem/class.directory_entry')
5 files changed, 36 insertions, 4 deletions
diff --git a/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.cons/default_const.pass.cpp b/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.cons/default_const.pass.cpp new file mode 100644 index 00000000000..a94134c15db --- /dev/null +++ b/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.cons/default_const.pass.cpp @@ -0,0 +1,32 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// UNSUPPORTED: c++98, c++03 +// XFAIL: apple-clang-7, clang-3.7, clang-3.8 + +// <experimental/filesystem> + +// class directory_entry + +// directory_entry() noexcept = default; + +#include "filesystem_include.hpp" +#include <type_traits> +#include <cassert> + +int main() { + using namespace fs; + // Default + { + static_assert(std::is_nothrow_default_constructible<directory_entry>::value, + "directory_entry must have a nothrow default constructor"); + const directory_entry e; + assert(e.path() == path()); + } +} diff --git a/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/file_size.pass.cpp b/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/file_size.pass.cpp index 8048ad2b830..d5050edc71f 100644 --- a/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/file_size.pass.cpp +++ b/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/file_size.pass.cpp @@ -30,7 +30,7 @@ TEST_SUITE(directory_entry_obs_testsuite) TEST_CASE(signatures) { using namespace fs; { - const fs::directory_entry e; + const fs::directory_entry e = {}; std::error_code ec; static_assert(std::is_same<decltype(e.file_size()), uintmax_t>::value, ""); static_assert(std::is_same<decltype(e.file_size(ec)), uintmax_t>::value, diff --git a/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp b/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp index fbd860823c8..a028de4b14a 100644 --- a/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp +++ b/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp @@ -32,7 +32,7 @@ TEST_CASE(file_dne) { TEST_CASE(signatures) { using namespace fs; - const directory_entry e; + const directory_entry e = {}; std::error_code ec; #define TEST_FUNC(name) \ static_assert(std::is_same<decltype(e.name()), bool>::value, \ diff --git a/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp b/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp index fcb21c764e0..0ec801bb4bf 100644 --- a/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp +++ b/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp @@ -28,7 +28,7 @@ TEST_SUITE(directory_entry_obs_testsuite) TEST_CASE(signatures) { using namespace fs; { - const fs::directory_entry e; + const directory_entry e = {}; std::error_code ec; static_assert(std::is_same<decltype(e.hard_link_count()), uintmax_t>::value, ""); static_assert(std::is_same<decltype(e.hard_link_count(ec)), uintmax_t>::value, diff --git a/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp b/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp index c89e1670988..250dc6f5a11 100644 --- a/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp +++ b/libcxx/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp @@ -28,7 +28,7 @@ TEST_SUITE(directory_entry_obs_testsuite) TEST_CASE(signatures) { using namespace fs; { - const fs::directory_entry e; + const fs::directory_entry e = {}; std::error_code ec; static_assert(std::is_same<decltype(e.last_write_time()), file_time_type>::value, ""); |