Page MenuHomeFreeBSD

Make std::experimental::filesystem work.
AbandonedPublic

Authored by ed on May 21 2017, 6:23 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, May 13, 2:13 PM
Unknown Object (File)
Fri, May 8, 8:20 PM
Unknown Object (File)
Sun, Apr 19, 7:45 AM
Unknown Object (File)
Sat, Apr 18, 8:31 AM
Unknown Object (File)
Thu, Apr 16, 6:31 PM
Unknown Object (File)
Apr 14 2026, 3:51 AM
Unknown Object (File)
Apr 12 2026, 7:11 PM
Unknown Object (File)
Apr 12 2026, 4:04 AM
Subscribers

Details

Reviewers
dim
emaste
Summary

The libc++ Makefile installs all of the header files under
experimental/*, but doesn't add the respective source files to SRCS.
This means compilation of sources that make use of these classes works,
but linkage fails.

Test Plan

I can now link a piece of software I'm writing that makes use of this
API.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Errors
SeverityLocationCodeMessage
Errorlib/libc++/Makefile:NAME1Bad Filename
Unit
No Test Coverage
Build Status
Buildable 9415
Build 9873: arc lint + arc unit

Event Timeline

dim requested changes to this revision.May 21 2017, 10:00 AM

No, not like this, please. The experimental sources are unstable, and there is no guarantee whatsoever that anything in there will stay as it is. This is also why I never added them to our libc++.so, to discourage people from actually using them. I have actively tried to avoid adding the experimental features for now, as I don't think these have a place in our base system. But if there really is some use for them, I will not stand in the way, of course.

Upstream compiles these into a separate libc++experimental.a, so specifically *not* in any shared library. Therefore, to be able to use the experimental features, you will have to pass an additional -lc++experimental option on the link command line, and all experimental features will be statically linked into your application.

If we do this, we should do it in a similar way.

This revision now requires changes to proceed.May 21 2017, 10:00 AM