what's with the C++ <filesystem> extension?

Ken Cunningham ken.cunningham.webuse at gmail.com
Tue Sep 20 06:47:34 UTC 2022


As per the ticket, I noted system apps (like iCal) crash when I upgraded the libc++ on Lion to the one we supply with libcxx, so that, for me, is unreliable. I didn’t try every system or every app of course.

Mixing libc++ versions in one executable’s dylib space crashes unpredictably sometimes. 

libc++ specifically does not promise that structures are identical between libc++ versions, even if the ABI is the same. So although you can use a newer libc++ with an older application, via accessors etc, that doesn’t mean you can pass structures/objects between different libc++ versions.

The best way to add filesystem to older systems is probably to add it to compiler_rt on older systems. And might as well do the three missing exception handlers at the same time.

(Adding it to legacysupport is harder because of the compiler requirements to build it.)

K



More information about the macports-dev mailing list