On Mon, Feb 8, 2016 at 11:05 AM, Haojian Wu via cfe-commits
wrote:
> Author: hokein
> Date: Mon Feb 8 10:05:39 2016
> New Revision: 260108
>
> URL: http://llvm.org/viewvc/llvm-project?rev=260108=rev
> Log:
> [clang-tidy] Some improvements in 'misc-definitions-in-headers' check.
>
> Reviewers: alexfh
>
> Subscribers: cfe-commits
>
> Differential Revision: http://reviews.llvm.org/D16979
>
> Modified:
> clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
>
> Modified:
> clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp?rev=260108=260107=260108=diff
> ==
> --- clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
> (original)
> +++ clang-tools-extra/trunk/clang-tidy/misc/DefinitionsInHeadersCheck.cpp Mon
> Feb 8 10:05:39 2016
> @@ -51,6 +51,8 @@ void DefinitionsInHeadersCheck::storeOpt
> }
>
> void DefinitionsInHeadersCheck::registerMatchers(MatchFinder *Finder) {
> + if (!getLangOpts().CPlusPlus)
> +return;
C has the same concept, under different wording. Are there plans to
make this check work in C mode as well?
6.2.7p2:
All declarations that refer to the same object or function shall have
compatible type; otherwise, the behavior is undefined.
It seems like this check may be useful for C too with some pretty
simple modifications.
~Aaron
>if (UseHeaderFileExtension) {
> Finder->addMatcher(
> namedDecl(anyOf(functionDecl(isDefinition()),
> varDecl(isDefinition())),
> @@ -78,6 +80,8 @@ void DefinitionsInHeadersCheck::check(co
>// 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;
>
>
> ___
> cfe-commits mailing list
> cfe-commits@lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits