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
commit 65c4e3cd06af5efbf510ca9ab56ab37bebc7f766 Author: Jeffrey Yasskin <[email protected]> Date: Sun Feb 19 18:26:28 2012 -0800 Avoid marking functions as always_inline in debug mode, so that stepping into them works. diff --git a/include/__config b/include/__config index 5e0db7c..92e5071 100644 --- a/include/__config +++ b/include/__config @@ -71,6 +71,12 @@ # endif #endif // !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN) +#ifndef NDEBUG +// always_inline makes debugging hard, so block it outside of release mode. +# define _LIBCPP_ALWAYS_INLINE +# define _LIBCPP_INLINE_VISIBILITY +#endif + #if _WIN32 // only really useful for a DLL
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
