<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.equivalent, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2018-07-27T03:07:09+00:00</updated>
<entry>
<title>Implement &lt;filesystem&gt;</title>
<updated>2018-07-27T03:07:09+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2018-07-27T03:07:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=998a5c88312066fcc2b2de1358edc76587611354'/>
<id>urn:sha1:998a5c88312066fcc2b2de1358edc76587611354</id>
<content type='text'>
This patch implements the &lt;filesystem&gt; header and uses that
to provide &lt;experimental/filesystem&gt;.

Unlike other standard headers, the symbols needed for &lt;filesystem&gt;
have not yet been placed in libc++.so. Instead they live in the
new libc++fs.a library. Users of filesystem are required to link this
library. (Also note that libc++experimental no longer contains the
definition of &lt;experimental/filesystem&gt;, which now requires linking libc++fs).

The reason for keeping &lt;filesystem&gt; out of the dylib for now is that
it's still somewhat experimental, and the possibility of requiring an
ABI breaking change is very real. In the future the symbols will likely
be moved into the dylib, or the dylib will be made to link libc++fs automagically).

Note that moving the symbols out of libc++experimental may break user builds
until they update to -lc++fs. This should be OK, because the experimental
library provides no stability guarantees. However, I plan on looking into
ways we can force libc++experimental to automagically link libc++fs.

In order to use a single implementation and set of tests for &lt;filesystem&gt;, it
has been placed in a special `__fs` namespace. This namespace is inline in
C++17 onward, but not before that. As such implementation is available
in C++11 onward, but no filesystem namespace is present "directly", and
as such name conflicts shouldn't occur in C++11 or C++14.

llvm-svn: 338093
</content>
</entry>
<entry>
<title>Make filesystem tests generic between experimental and std versions.</title>
<updated>2018-03-26T05:46:57+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2018-03-26T05:46:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=19aae8fe2f2a5dfaaa7b6f2631f3f86801fc832d'/>
<id>urn:sha1:19aae8fe2f2a5dfaaa7b6f2631f3f86801fc832d</id>
<content type='text'>
As I move towards implementing std::filesystem, there is a need to
make the existing tests run against both the std and experimental versions.
Additionally, it's helpful to allow running the tests against other
implementations of filesystem.

This patch converts the test to easily target either. First, it
adds a filesystem_include.hpp header which is soley responsible
for selecting and including the correct implementation. Second,
it converts existing tests to use this header instead of including
filesystem directly.

llvm-svn: 328475
</content>
</entry>
<entry>
<title>Fix equivalent test on OS X and FreeBSD</title>
<updated>2017-07-05T03:54:38+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2017-07-05T03:54:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=57495596bd9e0f911b0586be873d238c6d591a08'/>
<id>urn:sha1:57495596bd9e0f911b0586be873d238c6d591a08</id>
<content type='text'>
llvm-svn: 307119
</content>
</entry>
<entry>
<title>Implement LWG 2937 - equivalent("dne", "exists") is not an error</title>
<updated>2017-07-05T03:37:05+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2017-07-05T03:37:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=459877388bc48de1ea96033205531810b1fac59d'/>
<id>urn:sha1:459877388bc48de1ea96033205531810b1fac59d</id>
<content type='text'>
This patch speculatively implements the PR for LWG 2937, which fixes
two issues with equivalent.

(1) It makes equivalent("dne", "exists") an error. Previously only
    equivalent("dne", "dne") was an error and the former case was not (it returned false).
    Now equivalent reports an error when either input doesn't exist.

(2) It makes equivalent(p1, p2) well-formed when `is_other(p1) &amp;&amp; is_other(p2)`.
    Previously this was an error, but there is seemingly no reason why it should be on POSIX system.

llvm-svn: 307117
</content>
</entry>
<entry>
<title>Add Filesystem TS -- Complete</title>
<updated>2016-06-17T19:46:40+00:00</updated>
<author>
<name>Eric Fiselier</name>
<email>eric@efcs.ca</email>
</author>
<published>2016-06-17T19:46:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=c79795874adef276115f8bcf0b46da4155d2d46d'/>
<id>urn:sha1:c79795874adef276115f8bcf0b46da4155d2d46d</id>
<content type='text'>
Add the completed std::experimental::filesystem implementation and tests.
The implementation supports C++11 or newer.

The TS is built as part of 'libc++experimental.a'. Users of the TS need to
manually link this library. Building and testing the TS can be disabled using
the CMake option '-DLIBCXX_ENABLE_FILESYSTEM=OFF'.

Currently 'libc++experimental.a' is not installed by default. To turn on the
installation of the library use '-DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON'.

llvm-svn: 273034
</content>
</entry>
</feed>
