summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
diff options
context:
space:
mode:
authorRaphael Isemann <teemperor@gmail.com>2019-09-16 18:02:21 +0000
committerRaphael Isemann <teemperor@gmail.com>2019-09-16 18:02:21 +0000
commit21641a2f6dbac22653befd03496e0850537882ff (patch)
tree12195c8f2a932fa03352dcf0618d4ff0e94205aa /lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
parent5e37d7f9ff257ec62d733d3d94b11f03e0fe51ca (diff)
downloadbcm5719-llvm-21641a2f6dbac22653befd03496e0850537882ff.tar.gz
bcm5719-llvm-21641a2f6dbac22653befd03496e0850537882ff.zip
[lldb][NFC] Make ApplyObjcCastHack less scary
llvm-svn: 372017
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp')
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
index 57bf654528a..45ddf17f0eb 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
@@ -313,17 +313,13 @@ 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) {
-#define OBJC_CAST_HACK_FROM "(int)["
-#define OBJC_CAST_HACK_TO "(int)(long long)["
+ std::string from = "(int)[";
+ std::string to = "(int)(long long)[";
- size_t from_offset;
+ size_t offset;
- 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
+ while ((offset = expr.find(from)) != expr.npos)
+ expr.replace(offset, to.size(), to);
}
bool ClangUserExpression::SetupPersistentState(DiagnosticManager &diagnostic_manager,
OpenPOWER on IntegriCloud