| Index: tools/clang/value_cleanup/ListValueRewriter.cpp
|
| diff --git a/tools/clang/value_cleanup/ListValueRewriter.cpp b/tools/clang/value_cleanup/ListValueRewriter.cpp
|
| index d6c5cf233688e1de117bfc968c198708e6591e0a..ce27dd1f5b41368ddbf1ac5eb19955ae67d3bee2 100644
|
| --- a/tools/clang/value_cleanup/ListValueRewriter.cpp
|
| +++ b/tools/clang/value_cleanup/ListValueRewriter.cpp
|
| @@ -32,8 +32,11 @@ void ListValueRewriter::AppendCallback::run(
|
| auto* newExpr = result.Nodes.getNodeAs<clang::CXXNewExpr>("newExpr");
|
| auto* argExpr = result.Nodes.getNodeAs<clang::Expr>("argExpr");
|
|
|
| + // Note that for the end loc, we use the expansion loc: the argument might be
|
| + // a macro like true and false.
|
| clang::CharSourceRange pre_arg_range = clang::CharSourceRange::getCharRange(
|
| - newExpr->getLocStart(), argExpr->getLocStart());
|
| + newExpr->getLocStart(),
|
| + result.SourceManager->getExpansionLoc(argExpr->getLocStart()));
|
| replacements_->emplace(*result.SourceManager, pre_arg_range, "");
|
|
|
| clang::CharSourceRange post_arg_range =
|
|
|