diff options
| author | Jim Ingham <jingham@apple.com> | 2019-09-17 00:44:48 +0000 |
|---|---|---|
| committer | Jim Ingham <jingham@apple.com> | 2019-09-17 00:44:48 +0000 |
| commit | 66e9f239b5b3b4367eef580696b4e695164f164a (patch) | |
| tree | 1d33022d9ddabe131b7b010238118b3d90b8e4a4 /lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp | |
| parent | 4b23c24bc8ec84ab443df42c9fdfc74de964febb (diff) | |
| download | bcm5719-llvm-66e9f239b5b3b4367eef580696b4e695164f164a.tar.gz bcm5719-llvm-66e9f239b5b3b4367eef580696b4e695164f164a.zip | |
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
llvm-svn: 372057
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp')
| -rw-r--r-- | lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp index 45ddf17f0eb..57bf654528a 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp @@ -313,13 +313,17 @@ void ClangUserExpression::ScanContext(ExecutionContext &exe_ctx, Status &err) { // 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, |

