diff options
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, ""); |