[clang-tidy] Some improvements in 'misc-definitions-in-headers' check.

Reviewers: alexfh

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D16979

llvm-svn: 260108
This commit is contained in:
Haojian Wu 2016-02-08 16:05:39 +00:00
parent 1e3c32b38a
commit 3d1d076f79
1 changed files with 4 additions and 0 deletions

View File

@ -51,6 +51,8 @@ void DefinitionsInHeadersCheck::storeOptions(
} }
void DefinitionsInHeadersCheck::registerMatchers(MatchFinder *Finder) { void DefinitionsInHeadersCheck::registerMatchers(MatchFinder *Finder) {
if (!getLangOpts().CPlusPlus)
return;
if (UseHeaderFileExtension) { if (UseHeaderFileExtension) {
Finder->addMatcher( Finder->addMatcher(
namedDecl(anyOf(functionDecl(isDefinition()), varDecl(isDefinition())), namedDecl(anyOf(functionDecl(isDefinition()), varDecl(isDefinition())),
@ -78,6 +80,8 @@ void DefinitionsInHeadersCheck::check(const MatchFinder::MatchResult &Result) {
// satisfy the following requirements. // satisfy the following requirements.
const auto *ND = Result.Nodes.getNodeAs<NamedDecl>("name-decl"); const auto *ND = Result.Nodes.getNodeAs<NamedDecl>("name-decl");
assert(ND); assert(ND);
if (ND->isInvalidDecl())
return;
// Internal linkage variable definitions are ignored for now: // Internal linkage variable definitions are ignored for now:
// const int a = 1; // const int a = 1;