[libcxx-commits] [PATCH] D89353: Enable overriding `__libcpp_debug_function` invocation

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon May 24 12:19:22 PDT 2021

Quuxplusone added inline comments.

Comment at: libcxx/docs/DesignDocs/DebugMode.rst:113
   * ``std::list``
+  * ``std::locale``
   * ``std::unordered_map``
palmer wrote:
> Quuxplusone wrote:
> > Quuxplusone wrote:
> > > In what sense does `std::locale` support iterators?
> > I should add: Other than this `std::locale` diff which I don't understand (yet?), I love this documentation change; feel free to land it separately from the rest of this PR.
> The implementation in include/__locale includes some iterators. If you have turned on this debugging mode, those iterators will be checked. Nothing directly API-exposed, but under the hood, debug checks could fire. I figure people might want to know.
Ah, that makes sense. But then I repeat: "Are you aware that libc++ compiles some `_LIBCPP_ASSERT` checks into its libc++.a binary? — Failures in those checks will respect the runtime setting of `__libcpp_debug_function`, but they will not respect macros set in the user's code. (I sent an email to libcxx-dev about this issue, specifically that debug iterators are broken because of it, on 2021-05-01, but nobody's replying to my email.)"
As of 2021-05-24, nobody is //still// replying to that email. I don't think we should pursue this PR D89353 until someone does.



More information about the libcxx-commits mailing list