Author: jingham
Date: Mon Sep 16 17:44:48 2019
New Revision: 372057

URL: http://llvm.org/viewvc/llvm-project?rev=372057&view=rev
Log:
Revert "[lldb][NFC] Make ApplyObjcCastHack less scary"

This reverts commit 21641a2f6dbac22653befd03496e0850537882ff.

It was causing the following test failures:

lldb-Suite.lang/objc/objc-class-method.TestObjCClassMethod.py
lldb-Suite.lang/objc/foundation.TestObjCMethodsString.py
lldb-Suite.lang/objc/foundation.TestConstStrings.py
lldb-Suite.lang/objc/radar-9691614.TestObjCMethodReturningBOOL.py
lldb-Suite.lang/objc/foundation.TestObjCMethodsNSArray.py

Modified:
    lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp

Modified: 
lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp?rev=372057&r1=372056&r2=372057&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp 
(original)
+++ lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp 
Mon Sep 16 17:44:48 2019
@@ -313,13 +313,17 @@ void ClangUserExpression::ScanContext(Ex
 // count is not available, [myArray count] returns id, which can't be directly
 // cast to int without causing a clang error.
 static void ApplyObjcCastHack(std::string &expr) {
-  std::string from = "(int)[";
-  std::string to = "(int)(long long)[";
+#define OBJC_CAST_HACK_FROM "(int)["
+#define OBJC_CAST_HACK_TO "(int)(long long)["
 
-  size_t offset;
+  size_t from_offset;
 
-  while ((offset = expr.find(from)) != expr.npos)
-    expr.replace(offset, to.size(), to);
+  while ((from_offset = expr.find(OBJC_CAST_HACK_FROM)) != expr.npos)
+    expr.replace(from_offset, sizeof(OBJC_CAST_HACK_FROM) - 1,
+                 OBJC_CAST_HACK_TO);
+
+#undef OBJC_CAST_HACK_TO
+#undef OBJC_CAST_HACK_FROM
 }
 
 bool ClangUserExpression::SetupPersistentState(DiagnosticManager 
&diagnostic_manager,


_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to