summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaojian Wu <hokein@google.com>2019-05-28 14:50:42 +0000
committerHaojian Wu <hokein@google.com>2019-05-28 14:50:42 +0000
commiteb006d3268cb8e2c2d005b45402204d6a203101b (patch)
tree5a4fef82b11bbccbce7bf5d14e22bd609fd80100
parentdfc0ca0c80cc05ef5c8ded8e88d4367f2fd344a2 (diff)
downloadbcm5719-llvm-eb006d3268cb8e2c2d005b45402204d6a203101b.tar.gz
bcm5719-llvm-eb006d3268cb8e2c2d005b45402204d6a203101b.zip
[clang-tidy] Fix description for misc-definitions-in-headers.
Reviewers: gribozavr Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62524 llvm-svn: 361834
-rw-r--r--clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp9
-rw-r--r--clang-tools-extra/test/clang-tidy/misc-definitions-in-headers.hpp1
2 files changed, 7 insertions, 3 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
index a36f307b1bf..a496e3b292f 100644
--- a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
@@ -124,13 +124,16 @@ void DefinitionsInHeadersCheck::check(const MatchFinder::MatchResult &Result) {
}
}
- bool is_full_spec = FD->getTemplateSpecializationKind() != TSK_Undeclared;
+ bool IsFullSpec = FD->getTemplateSpecializationKind() != TSK_Undeclared;
diag(FD->getLocation(),
"%select{function|full function template specialization}0 %1 defined "
"in a header file; function definitions in header files can lead to "
"ODR violations")
- << is_full_spec << FD << FixItHint::CreateInsertion(
- FD->getReturnTypeSourceRange().getBegin(), "inline ");
+ << IsFullSpec << FD;
+ diag(FD->getLocation(), /*FixDescription=*/"make as 'inline'",
+ DiagnosticIDs::Note)
+ << FixItHint::CreateInsertion(FD->getReturnTypeSourceRange().getBegin(),
+ "inline ");
} else if (const auto *VD = dyn_cast<VarDecl>(ND)) {
// Static data members of a class template are allowed.
if (VD->getDeclContext()->isDependentContext() && VD->isStaticDataMember())
diff --git a/clang-tools-extra/test/clang-tidy/misc-definitions-in-headers.hpp b/clang-tools-extra/test/clang-tidy/misc-definitions-in-headers.hpp
index 5e83e68e846..662b0619cdc 100644
--- a/clang-tools-extra/test/clang-tidy/misc-definitions-in-headers.hpp
+++ b/clang-tools-extra/test/clang-tidy/misc-definitions-in-headers.hpp
@@ -2,6 +2,7 @@
int f() {
// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: function 'f' defined in a header file; function definitions in header files can lead to ODR violations [misc-definitions-in-headers]
+// CHECK-MESSAGES: :[[@LINE-2]]:5: note: make as 'inline'
// CHECK-FIXES: inline int f() {
return 1;
}
OpenPOWER on IntegriCloud