alexfh added a comment.

In https://reviews.llvm.org/D23130#505242, @bkramer wrote:
> DefinitionsInHeaders is tackling a different problem. IMO 
> DefinitionsInHeaders is something that should be on by default everywhere, 
> while this check for definitions in the global namespace is more of a coding 
> style issue.


Yes, DefinitionsInHeaders is a different beast.

> GlobalNamesInHeaders is a bit of a misnomer, it looks for using declarations 
> in headers.


The `google-global-names-in-headers` check aims to "flag global namespace 
pollution in header files" including declarations of classes, functions and 
other entities. However, "right now it only triggers on using declarations and 
directives", so it's basically under-implemented. The only problem, I guess, is 
keeping false positives under control. The check you're proposing is somewhat 
close. It isn't specifically limited to headers (the 
`google-global-names-in-headers` check can run on all files if properly 
configured, and we can rename it to remove the -in-headers part). And the 
second difference is that it is limited to definitions, but I don't yet 
understand, why it is important, since declarations in the global namespace 
(except for using declarations, typedefs, etc.) will have a corresponding 
definition in the global namespace. I guess, these checks, if somewhat 
different, may be similar enough to share some implementation.


Repository:
  rL LLVM

https://reviews.llvm.org/D23130



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to