diff options
| -rw-r--r-- | lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp | 14 | 
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,  | 

