# Extra Clang Tools 18.1.8 documentation

## clang-tidy - bugprone-suspicious-include

# bugprone-suspicious-include

The check detects various cases when an include refers to what appears to be an implementation file, which often leads to hard-to-track-down ODR violations.

Examples:

    #include "Dinosaur.hpp"     // OK, .hpp files tend not to have definitions.
    #include "Pterodactyl.h"    // OK, .h files tend not to have definitions.
    #include "Velociraptor.cpp" // Warning, filename is suspicious.
    #include_next <stdio.c>     // Warning, filename is suspicious.

## Options

HeaderFileExtensions

  Note: this option is deprecated, it will be removed in clang-tidy version 19. Please use the global configuration option HeaderFileExtensions.

  Default value: `";h;hh;hpp;hxx"` A semicolon-separated list of filename extensions of header files (the filename extensions should not contain a “.” prefix). For extension-less header files, use an empty string or leave an empty string between “;” if there are other filename extensions.

ImplementationFileExtensions

  Note: this option is deprecated, it will be removed in clang-tidy version 19. Please use the global configuration option ImplementationFileExtensions.

  Default value: `"c;cc;cpp;cxx"` Likewise, a semicolon-separated list of filename extensions of implementation files.