On Jun 23, 2022, Jonathan Wakely <[email protected]> wrote:
> On Thu, 23 Jun 2022 at 07:26, Alexandre Oliva wrote:
>> Would a patch to add:
>>
>> // { dg-xfail-if "::rename is not POSIX-compliant" { target *-*-rtems* } }
>>
>> to rename.cc tests be acceptable?
> Yes, I think that's definitely the way to go.
The "target" above shouldn't have been there, and the :: appears to get
tcl/expect/dejagnu confused. Here's the patch.
Regstrapped on x86_64-linux-gnu, also tested with a cross to
aarch64-rtems6. Ok to install?
libstdc++: xfail rename tests on rtems
::rename on RTEMS does not meet several POSIX requirements, despite
compliance with C and C++ standards. ::std::filesystem::rename, in
turn, has requirements borrowed from POSIX, so it would have to be a
lot more than a simple wrapper around ::rename on RTEMS, and even then
fall short.
Until RTEMS reimplements ::rename for POSIX compliance, expect
filesystem rename tests to fail on it.
for libstdc++-v3/ChangeLog
* testsuite/27_io/filesystem/operations/rename.cc: xfail on
rtems.
* testsuite/experimental/filesystem/operations/rename.cc:
Likewise.
---
.../27_io/filesystem/operations/rename.cc | 1 +
.../experimental/filesystem/operations/rename.cc | 1 +
2 files changed, 2 insertions(+)
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/operations/rename.cc
b/libstdc++-v3/testsuite/27_io/filesystem/operations/rename.cc
index b74e1133a7618..62543158e5241 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/operations/rename.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/operations/rename.cc
@@ -17,6 +17,7 @@
// { dg-do run { target c++17 } }
// { dg-require-filesystem-ts "" }
+// { dg-xfail-if "rename is not POSIX-compliant" { *-*-rtems* } }
#include <filesystem>
#include <testsuite_hooks.h>
diff --git
a/libstdc++-v3/testsuite/experimental/filesystem/operations/rename.cc
b/libstdc++-v3/testsuite/experimental/filesystem/operations/rename.cc
index 37e743b770fdf..3c501757bff17 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/operations/rename.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/rename.cc
@@ -18,6 +18,7 @@
// { dg-options "-DUSE_FILESYSTEM_TS -lstdc++fs" }
// { dg-do run { target c++11 } }
// { dg-require-filesystem-ts "" }
+// { dg-xfail-if "rename is not POSIX-compliant" { *-*-rtems* } }
#include <experimental/filesystem>
#include <testsuite_hooks.h>
--
Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injustice
but very few check the facts. Ask me about <https://stallmansupport.org>