clang-tools 22.0.0git
clang::tidy::misc::DefinitionsInHeadersCheck Class Reference

Finds non-extern non-inline function and variable definitions in header files, which can lead to potential ODR violations. More...

#include <DefinitionsInHeadersCheck.h>

Inheritance diagram for clang::tidy::misc::DefinitionsInHeadersCheck:
[legend]

Public Member Functions

 DefinitionsInHeadersCheck (StringRef Name, ClangTidyContext *Context)
bool isLanguageVersionSupported (const LangOptions &LangOpts) const override
void registerMatchers (ast_matchers::MatchFinder *Finder) override
void check (const ast_matchers::MatchFinder::MatchResult &Result) override

Detailed Description

Finds non-extern non-inline function and variable definitions in header files, which can lead to potential ODR violations.

The check supports these options:

  • UseHeaderFileExtension: Whether to use file extension to distinguish header files. True by default.

For the user-facing documentation see: https://clang.llvm.org/extra/clang-tidy/checks/misc/definitions-in-headers.html

Definition at line 26 of file DefinitionsInHeadersCheck.h.

Constructor & Destructor Documentation

◆ DefinitionsInHeadersCheck()

clang::tidy::misc::DefinitionsInHeadersCheck::DefinitionsInHeadersCheck ( StringRef Name,
ClangTidyContext * Context )

Definition at line 28 of file DefinitionsInHeadersCheck.cpp.

Member Function Documentation

◆ check()

void clang::tidy::misc::DefinitionsInHeadersCheck::check ( const ast_matchers::MatchFinder::MatchResult & Result)
override

Definition at line 43 of file DefinitionsInHeadersCheck.cpp.

◆ isLanguageVersionSupported()

bool clang::tidy::misc::DefinitionsInHeadersCheck::isLanguageVersionSupported ( const LangOptions & LangOpts) const
inlineoverride

Definition at line 29 of file DefinitionsInHeadersCheck.h.

◆ registerMatchers()

void clang::tidy::misc::DefinitionsInHeadersCheck::registerMatchers ( ast_matchers::MatchFinder * Finder)
override

Definition at line 33 of file DefinitionsInHeadersCheck.cpp.


The documentation for this class was generated from the following files: