// { dg-do run { target c++17 } }
// { dg-require-filesystem-ts "" }
+// { dg-require-target-fs-lwt "" }
// 15.25 Permissions [fs.op.last_write_time]
// { dg-options "-DUSE_FILESYSTEM_TS -lstdc++fs" }
// { dg-do run { target c++11 } }
// { dg-require-filesystem-ts "" }
+// { dg-require-target-fs-lwt "" }
// 15.25 Permissions [fs.op.last_write_time]
return
}
+proc dg-require-target-fs-lwt { args } {
+ if { ![ check_v3_target_fs_last_write_time ] } {
+ upvar dg-do-what dg-do-what
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
+ return
+ }
+ return
+}
+
proc add_options_for_no_pch { flags } {
# This forces any generated and possibly included PCH to be invalid.
return "-D__GLIBCXX__=99999999"
return [v3_check_preprocessor_condition fs_space $cond $inc]
}
+# Return 1 if the libstdc++ filesystem implementation of
+# last_write_time is not an always-failing dummy.
+proc check_v3_target_fs_last_write_time { } {
+ set inc "#include <testsuite_fs.h>"
+ set cond "!defined NO_LAST_WRITE_TIME"
+ return [v3_check_preprocessor_condition fs_last_write_time $cond $inc]
+}
+
# Return 1 if the "cxx11" ABI is in use using the current flags, 0 otherwise.
# Any flags provided by RUNTESTFLAGS or a target board will be used here.
# Flags added in the test by dg-options or dg-add-options will not be used.
#define NO_SPACE
#endif
+#if !(_GLIBCXX_HAVE_SYS_STAT_H \
+ && (_GLIBCXX_USE_UTIMENSAT || _GLIBCXX_USE_UTIME))
+#define NO_LAST_WRITE_TIME 1
+#endif
+
namespace __gnu_test
{
#define PATH_CHK(p1, p2, fn) \