Index: clang-tidy/utils/IncludeInserter.cpp =================================================================== --- clang-tidy/utils/IncludeInserter.cpp +++ clang-tidy/utils/IncludeInserter.cpp @@ -8,6 +8,7 @@ //===----------------------------------------------------------------------===// #include "IncludeInserter.h" +#include "clang/Lex/Token.h" namespace clang { namespace tidy { @@ -19,14 +20,14 @@ // Implements PPCallbacks::InclusionDerective(). Records the names and source // locations of the inclusions in the main source file being processed. void InclusionDirective(SourceLocation HashLocation, - const Token & /*include_token*/, + const Token & IncludeToken, StringRef FileNameRef, bool IsAngled, CharSourceRange FileNameRange, const FileEntry * /*IncludedFile*/, StringRef /*SearchPath*/, StringRef /*RelativePath*/, const Module * /*ImportedModule*/) override { Inserter->AddInclude(FileNameRef, IsAngled, HashLocation, - FileNameRange.getEnd()); + IncludeToken.getEndLoc()); } private: Index: test/clang-tidy/modernize-pass-by-value-marco-header.cpp =================================================================== --- /dev/null +++ test/clang-tidy/modernize-pass-by-value-marco-header.cpp @@ -0,0 +1,16 @@ +// RUN: %check_clang_tidy %s modernize-pass-by-value %t -- -- -std=c++11 -isystem %S/Inputs/Headers + +// CHECK-FIXES: #include + +#define HEADER <./a.h> +#include HEADER + +struct A { +}; + +struct B { + B(const A &a) : a(a) {} +// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: pass by value and use std::move [modernize-pass-by-value] +// CHECK-FIXES: B(A a) : a(std::move(a)) {} + A a; +};