[libcxx-commits] [PATCH] D122941: [libc++] Make the Debug mode a configuration-time only option

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sun Apr 3 06:35:26 PDT 2022


Mordante added a comment.

Thanks for working on making debug mode more useful!

In D122941#3425035 <https://reviews.llvm.org/D122941#3425035>, @ldionne wrote:

> In D122941#3424161 <https://reviews.llvm.org/D122941#3424161>, @philnik wrote:
>
>> Just as a thought: Do we want to give the debug-enabled library a different name? That way users could use `-stdlib=libc++` for the normal library and `-stdlib=libc++-debug` (or something like that) to build against the debug library. I guess vendors should either ship only a non-debug library or both, since having debug enabled has huge performance implications.
>
> Yes, I agree, this is necessary if we want to ship both libraries side by side. In fact, I am planning to write a proposal for a new Clang/libc++ feature where one could basically use `-fsanitize=library` and Clang would automatically switch to the debug version of the library. I think it would make more sense to use a different library name once we lay out that framework -- this patch is still just groundwork to disentangle things.

I really like this direction!



================
Comment at: libcxx/docs/DesignDocs/DebugMode.rst:23
 
-Also note that while the debug mode has no effect on libc++'s ABI, it does have broad ODR
-implications. Users should compile their whole program at the same debugging level.
+Furthermore, users should not rely on a stable ABI being provided when the debug mode is
+enabled -- we reserve the right to change the ABI at any time. If you need a stable ABI
----------------
Does this mean we want to use the unstable ABI in this mode?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122941/new/

https://reviews.llvm.org/D122941



More information about the libcxx-commits mailing list