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)
Fri, Mar 22, 9:17 PM
Unknown Object (File)
Jan 4 2024, 1:42 PM
Unknown Object (File)
Dec 24 2023, 9:45 AM
Unknown Object (File)
Dec 22 2023, 12:35 AM
Unknown Object (File)
Dec 14 2023, 9:19 PM
Unknown Object (File)
Nov 10 2023, 10:29 PM
Unknown Object (File)
Sep 25 2023, 8:37 PM
Unknown Object (File)
Sep 17 2023, 10:45 PM
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