I'll start one. Howard
On Feb 20, 2012, at 11:04 AM, Dave Zarzycki wrote: > 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
