Howard, Do we have libcxx FAQ somewhere? This question comes up from time to time and perhaps a FAQ entry would help.
davez On Feb 20, 2012, at 9:58 AM, Howard Hinnant <[email protected]> wrote: > This is more than just an optimization issue. Experience with libstdc++ has > shown a persistent ABI stability problem over the years with functions > getting silently uninlined in one release of libstdc++.dylib and inlined in > the next. The best way to hold the ABI stable is to put inlining under my > control, not the compielr's. > > For those clients wishing to change these settings, <__config> was designed > to defer to the client's wishes from the command line: > > -D_LIBCPP_INLINE_VISIBILITY > > will be used in preference to whatever <__config> says (or if it doesn't, > that's the bug to fix). > > Howard > > On Feb 20, 2012, at 7:58 AM, Chris Lattner wrote: > >> Why are these functions marked always-inline in the first place? >> >> -Chris >> >> On Feb 19, 2012, at 7:24 PM, Jeffrey Yasskin <[email protected]> wrote: >> >>> Really, even if libc++ is bug-free, it'll confuse users if debugging >>> it in -O0 mode produces strange line jumps. >>> >>> If NDEBUG is the wrong macro, would it make sense to provide a >>> LIBCXX_DEBUG flag to move the inlining decisions to clang? >>> >>> On Sun, Feb 19, 2012 at 6:57 PM, Howard Hinnant <[email protected]> wrote: >>>> On Feb 19, 2012, at 9:30 PM, Jeffrey Yasskin wrote: >>>> >>>>> This patch may not be quite right, since the always_inline macros seem >>>>> to also have visibility effects, which this patch would block. I also >>>>> had to build with an explicit -UNDEBUG since cmake appears to add >>>>> -DNDEBUG regardless of whether the build mode requests it. >>>>> >>>>> Jeffrey >>>>> <no_inline_debug.patch> >>>> >>>> I can't commit this one. The presumption is that NDEBUG is up to the >>>> client to turn on and off for his own purposes, and that libc++ does not >>>> need to be debugged by him. I realize that libc++ has bugs. But the goal >>>> is for it to not have bugs, and when it does need to be debugged, a libc++ >>>> developer such as myself will do it. >>>> >>>> Howard >>>> >>> >>> _______________________________________________ >>> cfe-commits mailing list >>> [email protected] >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
