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

Chris Palmer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon May 24 13:32:25 PDT 2021

palmer added inline comments.

Comment at: libcxx/docs/DesignDocs/DebugMode.rst:113
   * ``std::list``
+  * ``std::locale``
   * ``std::unordered_map``
Quuxplusone wrote:
> 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.
In Chromium, we build libcxx entirely from source, so I don't think we have that problem.



More information about the libcxx-commits mailing list