[clang-tools-extra] r262484 - [clang-tidy] Fix an assertion failure of "SLocEntry::getExpansion()" when IncludeInserter handles macro header file.
Haojian Wu via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 2 06:12:18 PST 2016
Author: hokein
Date: Wed Mar 2 08:12:17 2016
New Revision: 262484
URL: http://llvm.org/viewvc/llvm-project?rev=262484&view=rev
Log:
[clang-tidy] Fix an assertion failure of "SLocEntry::getExpansion()" when IncludeInserter handles macro header file.
Summary: Also Fixes PR24749.
Reviewers: alexfh
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D17805
Added:
clang-tools-extra/trunk/test/clang-tidy/modernize-pass-by-value-marco-header.cpp
Modified:
clang-tools-extra/trunk/clang-tidy/utils/IncludeInserter.cpp
Modified: clang-tools-extra/trunk/clang-tidy/utils/IncludeInserter.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/utils/IncludeInserter.cpp?rev=262484&r1=262483&r2=262484&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/utils/IncludeInserter.cpp (original)
+++ clang-tools-extra/trunk/clang-tidy/utils/IncludeInserter.cpp Wed Mar 2 08:12:17 2016
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
#include "IncludeInserter.h"
+#include "clang/Lex/Token.h"
namespace clang {
namespace tidy {
@@ -19,14 +20,14 @@ public:
// 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:
Added: clang-tools-extra/trunk/test/clang-tidy/modernize-pass-by-value-marco-header.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/modernize-pass-by-value-marco-header.cpp?rev=262484&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-tidy/modernize-pass-by-value-marco-header.cpp (added)
+++ clang-tools-extra/trunk/test/clang-tidy/modernize-pass-by-value-marco-header.cpp Wed Mar 2 08:12:17 2016
@@ -0,0 +1,16 @@
+// RUN: %check_clang_tidy %s modernize-pass-by-value %t -- -- -std=c++11 -isystem %S/Inputs/Headers
+
+// CHECK-FIXES: #include <utility>
+
+#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;
+};
More information about the cfe-commits
mailing list