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