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

Reply via email to