[libcxx-commits] [PATCH] D103160: [libc++] Update ABI docs

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu May 27 09:19:01 PDT 2021

Quuxplusone added inline comments.

Comment at: libcxx/docs/DesignDocs/ABIVersioning.rst:23
+``_LIBCPP_ABI_XXX`` improvements, use the CMake option ``LIBCXX_ABI_UNSTABLE``,
+which corresponds to the C++ macro ``_LIBCPP_ABI_UNSTABLE``.
@ldionne wrote:
> If we're all on the same page with that, I would not mention the `_LIBCPP_ABI_VERSION` macro anywhere since it can be considered an implementation detail of the library. The only thing that really matters is the `LIBCXX_ABI_VERSION` CMake setting, which is set when libc++ is built/packaged. I would also drop the mention of `_LIBCPP_ABI_UNSTABLE`.

I'm willing to stipulate that end-users should mess only with `LIBCXX_ABI_VERSION` (and never touch any of the individual `_LIBCPP_ABI_XXX` macros directly); however, I still think it's worth mentioning these macros //somehow// in this design doc, because otherwise we have literally no documentation of the C++ macro design, and I assume collecting that kind of documentation is the entire point of this "DesignDocs" directory.

How about I talk about the CMake flags first, and then start a new paragraph with "Internally, each ABI-changing feature is placed under... ...Libc++ does not intend users to interact with these C++ macros directly."

  rG LLVM Github Monorepo



More information about the libcxx-commits mailing list