On Jun 27, 2022, Jonathan Wakely <jwak...@redhat.com> wrote:

> -#if _GLIBCXX_HAVE_DIRFD
> +#if _GLIBCXX_HAVE_DIRFD && _GLIBCXX_HAVE_OPENAT && _GLIBCXX_HAVE_UNLINKAT

Thanks, I had this bit in the WIP _At_path patch, as well as my updated
remove_all patch, in the latest round of tests.

I confirm that I don't get any errors with it on an x86_64-linux-gnu
native built with openat and unlinkat forced disabled in libstdc++, but
on aarch64-rtems6, there are some fails that are not making much sense
to me.  I haven't looked into any but 27_io/.../copy.cc, so I can't tell
whether they've regressed, but copy.cc's test01 did when I put this (or
variants thereof) in.

Tomorrow I'll look into building libstdc++ with -Og or something else
with less optimization than the default, to help me make sense of what's
going on that causes copy() to return without as much as creating the
destination.


FAILED: default@libstdc++,27_io,filesystem,operations,copy_cc
FAILED: default@libstdc++,experimental,filesystem,operations,copy_cc

.../27_io/filesystem/operations/copy.cc:5[67]: void test01(): Assertion 
'!exists(to)' failed.



FAILED: default@libstdc++,27_io,filesystem,operations,copy_file_cc
FAILED: default@libstdc++,experimental,filesystem,operations,copy_file_cc

terminate called after throwing an instance of 
'std::filesystem::__cxx11::filesystem_error'
  what():  filesystem error: cannot copy file: File exists 
[filesystem-test.000001-copy_file] [filesystem-test.000001-copy_file]


FAILED: default@libstdc++,27_io,filesystem,operations,equivalent_cc
FAILED: default@libstdc++,experimental,filesystem,operations,equivalent_cc

.../27_io/filesystem/operations/equivalent.cc:4[45]: void test01(): Assertion 
'!result' failed.


FAILED: default@libstdc++,27_io,filesystem,operations,relative_cc

.../27_io/filesystem/operations/relative.cc:32: void test01(): Assertion 'r == 
".."/p' failed.


Also still present:

.../20_util/from_chars/4.cc:304: error: 'log2' is not a member of 'std'; did 
you mean 'log'?

(IIRC we used to have two of these, we're now down to one)

-- 
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>

Reply via email to