This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Remove Fuchsia-specific knowledge to pick the ABI version
ClosedPublic

Authored by ldionne on Sep 22 2018, 3:23 PM.

Details

Summary

The ABI version used by libc++ is a configuration option just like any other
configuration option. It is a knob that can be used by vendors to customize
the libc++ that they ship. As such, we should not be hardcoding vendor-specific
configuration choices in libc++.

When building libc++ for Fuchsia, Fuchsia's build scripts should simply define
the libc++ ABI version to 2 -- this will result in the _LIBCPP_ABI_VERSION
macro being defined in the __config header that is generated when libc++ is
built and installed, which is the correct way to customize libc++'s behavior
for specific vendors.

Diff Detail

Repository
rL LLVM

Event Timeline

ldionne created this revision.Sep 22 2018, 3:23 PM
ldionne updated this revision to Diff 166621.Sep 22 2018, 4:55 PM

Clarify that version 2 of the ABI is _currently_ unstable, it is not _the_ unstable version.

phosek accepted this revision.Sep 26 2018, 12:37 AM

LGTM

This revision is now accepted and ready to land.Sep 26 2018, 12:37 AM
This revision was automatically updated to reflect the committed changes.