https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118733
Bug ID: 118733 Summary: std::filesystem::weakly_canonical throws if the file disappears during its execution Product: gcc Version: 14.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org Target Milestone: --- Created attachment 60365 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60365&action=edit test case [forwarded from https://bugs.debian.org/1094270] The function std::filesystem::weakly_canonical is defined as working even if the path points to a file that does not exist. If however the path disappears while weakly_canonical does its thing, we surprisingly get an exception. Reproducer: $ g++ weakly_canonical.cc -o weakly_canonical $ ./weakly_canonical Canonicalized path for missing file: "…/tmp/does-not-exist" weakly_canonical failed at iteration 36: filesystem error: cannot make canonical path: No such file or directory [tmp/test]