[Lldb-commits] [lldb] r336397 - Don't muck with _LIBCPP_INLINE_VISIBILITY just to get predictable line table entries.

Jim Ingham via lldb-commits lldb-commits at lists.llvm.org
Thu Jul 5 16:11:28 PDT 2018


Author: jingham
Date: Thu Jul  5 16:11:27 2018
New Revision: 336397

URL: http://llvm.org/viewvc/llvm-project?rev=336397&view=rev
Log:
Don't muck with _LIBCPP_INLINE_VISIBILITY just to get predictable line table entries.

This test was trying to stop at a variety of std::vector calls.  It looks like the test
was failing because various inlined std functions left no line table entries for the line that
invoked the inlined function.  The author worked around that by undefining _LIBCPP_INLINE_VISIBILITY.

That's an internal libcxx macro, we really shouldn't be playing around with it.  Better to just force
ourselves to stop where we want using some other non-inlineable statement.  printf seems a good candidate...

<rdar://problem/41867390>

Modified:
    lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/main.cpp

Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/main.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/main.cpp?rev=336397&r1=336396&r2=336397&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/main.cpp (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/main.cpp Thu Jul  5 16:11:27 2018
@@ -1,8 +1,5 @@
+#include <stdio.h>
 #include <string>
-#ifdef _LIBCPP_INLINE_VISIBILITY
-#undef _LIBCPP_INLINE_VISIBILITY
-#endif
-#define _LIBCPP_INLINE_VISIBILITY
 #include <vector>
 typedef std::vector<int> int_vect;
 typedef std::vector<std::string> string_vect;
@@ -18,7 +15,8 @@ int main()
     (numbers.push_back(123456));
     (numbers.push_back(1234567));
     
-    numbers.clear(); // break here
+    printf("break here");
+    numbers.clear();
     
     (numbers.push_back(7)); // break here
 
@@ -26,10 +24,11 @@ int main()
     (strings.push_back(std::string("goofy")));
     (strings.push_back(std::string("is")));
     (strings.push_back(std::string("smart")));
-    
-    (strings.push_back(std::string("!!!"))); // break here
-    
-    strings.clear();  // break here
+    printf("break here");
+    (strings.push_back(std::string("!!!")));
+     
+    printf("break here");
+    strings.clear();
     
     return 0;  // break here
 }




More information about the lldb-commits mailing list