summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp3
-rw-r--r--clang-tools-extra/test/clang-tidy/misc-definitions-in-headers.hpp12
2 files changed, 13 insertions, 2 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
index a496e3b292f..1d41edd2083 100644
--- a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
@@ -132,8 +132,7 @@ void DefinitionsInHeadersCheck::check(const MatchFinder::MatchResult &Result) {
<< IsFullSpec << FD;
diag(FD->getLocation(), /*FixDescription=*/"make as 'inline'",
DiagnosticIDs::Note)
- << FixItHint::CreateInsertion(FD->getReturnTypeSourceRange().getBegin(),
- "inline ");
+ << FixItHint::CreateInsertion(FD->getInnerLocStart(), "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 662b0619cdc..25009ebe2bb 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
@@ -180,3 +180,15 @@ int CD<T, int>::f() { // OK: partial template specialization.
constexpr int k = 1; // OK: constexpr variable has internal linkage.
constexpr int f10() { return 0; } // OK: constexpr function definition.
+
+const int f11() { return 0; }
+// CHECK-MESSAGES: :[[@LINE-1]]:11: warning: function 'f11' defined in a header file;
+// CHECK-FIXES: inline const int f11() { return 0; }
+
+template <typename T>
+const T f12();
+
+template <>
+const int f12() { return 0; }
+// CHECK-MESSAGES: :[[@LINE-1]]:11: warning: full function template specialization 'f12<int>' defined in a header file;
+// CHECK-FIXES: inline const int f12() { return 0; }
OpenPOWER on IntegriCloud