[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-28 Thread Haojian Wu via Phabricator via cfe-commits
hokein closed this revision. hokein added a comment. I have committed the patch for you, https://reviews.llvm.org/rL340800. Comment at: test/clang-tidy/abseil-no-namespace.cpp:10 +#include "absl/external-file.h" +// CHECK: absl/external-file.h:1:11: warning: namespace 'absl' i

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-24 Thread Deanna Garcia via Phabricator via cfe-commits
deannagarcia added inline comments. Comment at: test/clang-tidy/abseil-no-namespace.cpp:10 +#include "absl/external-file.h" +// CHECK: absl/external-file.h:1:11: warning: namespace 'absl' is reserved +// for implementation of the Abseil library and should not be opened in user --

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-24 Thread Deanna Garcia via Phabricator via cfe-commits
deannagarcia updated this revision to Diff 162417. deannagarcia added a comment. Rebased the patch https://reviews.llvm.org/D50580 Files: clang-tidy/abseil/AbseilMatcher.h clang-tidy/abseil/AbseilTidyModule.cpp clang-tidy/abseil/CMakeLists.txt clang-tidy/abseil/NoNamespaceCheck.cpp cl

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-23 Thread Haojian Wu via Phabricator via cfe-commits
hokein accepted this revision. hokein added a comment. This revision is now accepted and ready to land. Looks good. Comment at: test/clang-tidy/abseil-no-namespace.cpp:10 +#include "absl/external-file.h" +// CHECK: absl/external-file.h:1:11: warning: namespace 'absl' is reserve

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-22 Thread Deanna Garcia via Phabricator via cfe-commits
deannagarcia updated this revision to Diff 161939. deannagarcia marked 2 inline comments as done. https://reviews.llvm.org/D50580 Files: clang-tidy/abseil/AbseilMatcher.h clang-tidy/abseil/AbseilTidyModule.cpp clang-tidy/abseil/CMakeLists.txt clang-tidy/abseil/NoNamespaceCheck.cpp clang

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-21 Thread Eugene Zelenko via Phabricator via cfe-commits
Eugene.Zelenko added inline comments. Comment at: docs/ReleaseNotes.rst:60 +- New :doc:`abseil-no-namespace + ` check. Please sort new checks list alphabetically. Comment at: docs/ReleaseNotes.rst:79 +>>> .r340314 Improvements to incl

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-21 Thread Deanna Garcia via Phabricator via cfe-commits
deannagarcia updated this revision to Diff 161827. deannagarcia marked 11 inline comments as done. https://reviews.llvm.org/D50580 Files: clang-tidy/abseil/AbseilMatcher.h clang-tidy/abseil/AbseilTidyModule.cpp clang-tidy/abseil/CMakeLists.txt clang-tidy/abseil/NoNamespaceCheck.cpp clan

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-21 Thread Eugene Zelenko via Phabricator via cfe-commits
Eugene.Zelenko added a comment. Please rebase from trunk. Comment at: docs/ReleaseNotes.rst:63 + + Checks to ensure code does not open `namespace absl` as that + violates Abseil's compatibility guidelines. Just Ensures. Please use `` for language constructs.

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-21 Thread Haojian Wu via Phabricator via cfe-commits
hokein added a comment. Thanks for the updates. Looks mostly good, a few nits. Comment at: clang-tidy/abseil/AbseilMatcher.h:32 + +AST_POLYMORPHIC_MATCHER(isExpansionInAbseilHeader, +AST_POLYMORPHIC_SUPPORTED_TYPES( nit: this matcher nam

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-21 Thread Hugo Gonzalez via Phabricator via cfe-commits
hugoeg added inline comments. Comment at: clang-tidy/abseil/AbseilMatcher.h:32 + auto Filename = FileEntry->getName(); + llvm::Regex RE("absl/(base|container|debugging|memory|meta|numeric|strings|" + "synchronization|types|utiliy)"); deannagarci

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-21 Thread Deanna Garcia via Phabricator via cfe-commits
deannagarcia added inline comments. Comment at: clang-tidy/abseil/AbseilMatcher.h:32 + auto Filename = FileEntry->getName(); + llvm::Regex RE("absl/(base|container|debugging|memory|meta|numeric|strings|" + "synchronization|types|utiliy)"); lebed

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-21 Thread Deanna Garcia via Phabricator via cfe-commits
deannagarcia updated this revision to Diff 161720. deannagarcia marked 12 inline comments as done. https://reviews.llvm.org/D50580 Files: clang-tidy/abseil/AbseilMatcher.h clang-tidy/abseil/AbseilTidyModule.cpp clang-tidy/abseil/CMakeLists.txt clang-tidy/abseil/NoNamespaceCheck.cpp clan

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-21 Thread Roman Lebedev via Phabricator via cfe-commits
lebedev.ri added inline comments. Comment at: clang-tidy/abseil/AbseilMatcher.h:32 + auto Filename = FileEntry->getName(); + llvm::Regex RE("absl/(base|container|debugging|memory|meta|numeric|strings|" + "synchronization|types|utiliy)"); hokein

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-21 Thread Haojian Wu via Phabricator via cfe-commits
hokein added inline comments. Comment at: clang-tidy/abseil/AbseilMatcher.h:32 + auto Filename = FileEntry->getName(); + llvm::Regex RE("absl/(base|container|debugging|memory|meta|numeric|strings|" + "synchronization|types|utiliy)"); lebedev.ri

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-21 Thread Roman Lebedev via Phabricator via cfe-commits
lebedev.ri added inline comments. Comment at: clang-tidy/abseil/AbseilMatcher.h:32 + auto Filename = FileEntry->getName(); + llvm::Regex RE("absl/(base|container|debugging|memory|meta|numeric|strings|" + "synchronization|types|utiliy)"); hokein

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-21 Thread Haojian Wu via Phabricator via cfe-commits
hokein added inline comments. Comment at: clang-tidy/abseil/AbseilMatcher.h:16 + +/// Matches AST nodes that were expanded within abseil-header-files. +AST_POLYMORPHIC_MATCHER(isExpansionNotInAbseilHeader, nit: We need proper documentation for this matcher, since

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-20 Thread Deanna Garcia via Phabricator via cfe-commits
deannagarcia added inline comments. Comment at: clang-tidy/abseil/NoNamespaceCheck.cpp:23 + + Finder->addMatcher(namespaceDecl(hasName("absl")).bind("absl_namespace"), + this); hokein wrote: > JonasToth wrote: > > hugoeg wrote: > > > deannaga

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-20 Thread Deanna Garcia via Phabricator via cfe-commits
deannagarcia updated this revision to Diff 161526. deannagarcia edited the summary of this revision. deannagarcia added a comment. This revision includes a matcher so that the warning does not trigger on internal Abseil files. https://reviews.llvm.org/D50580 Files: clang-tidy/abseil/AbseilMa

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-16 Thread Jonas Toth via Phabricator via cfe-commits
JonasToth added a comment. That sounds good as well, just not in clang and best in `clang-tidy/utils` > `ASTMatchers.h` is not a reasonable place to put `asseil`-specific matchers. > We have `clang-tidy/utils/Matchers.h` for putting clang-tidy specific > matchers. I'm not sure whether it is re

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-16 Thread Haojian Wu via Phabricator via cfe-commits
hokein added inline comments. Comment at: clang-tidy/abseil/NoNamespaceCheck.cpp:23 + + Finder->addMatcher(namespaceDecl(hasName("absl")).bind("absl_namespace"), + this); JonasToth wrote: > hugoeg wrote: > > deannagarcia wrote: > > > aaron.ba

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-13 Thread Jonas Toth via Phabricator via cfe-commits
JonasToth added inline comments. Comment at: clang-tidy/abseil/NoNamespaceCheck.cpp:23 + + Finder->addMatcher(namespaceDecl(hasName("absl")).bind("absl_namespace"), + this); hugoeg wrote: > deannagarcia wrote: > > aaron.ballman wrote: > > > h

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-13 Thread Hugo Gonzalez via Phabricator via cfe-commits
hugoeg added inline comments. Comment at: clang-tidy/abseil/NoNamespaceCheck.cpp:23 + + Finder->addMatcher(namespaceDecl(hasName("absl")).bind("absl_namespace"), + this); deannagarcia wrote: > aaron.ballman wrote: > > hokein wrote: > > > aaro

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-13 Thread Deanna Garcia via Phabricator via cfe-commits
deannagarcia added inline comments. Comment at: clang-tidy/abseil/NoNamespaceCheck.cpp:23 + + Finder->addMatcher(namespaceDecl(hasName("absl")).bind("absl_namespace"), + this); aaron.ballman wrote: > hokein wrote: > > aaron.ballman wrote: > >

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-13 Thread Deanna Garcia via Phabricator via cfe-commits
deannagarcia updated this revision to Diff 160399. deannagarcia marked 7 inline comments as done. https://reviews.llvm.org/D50580 Files: clang-tidy/abseil/AbseilTidyModule.cpp clang-tidy/abseil/CMakeLists.txt clang-tidy/abseil/NoNamespaceCheck.cpp clang-tidy/abseil/NoNamespaceCheck.h do

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-13 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang-tidy/abseil/NoNamespaceCheck.cpp:23 + + Finder->addMatcher(namespaceDecl(hasName("absl")).bind("absl_namespace"), + this); hokein wrote: > aaron.ballman wrote: > > I think this needs a `n

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-13 Thread Haojian Wu via Phabricator via cfe-commits
hokein added a comment. The check is missing its document, please add one in `docs/clang-tidy/checks/`. Comment at: clang-tidy/abseil/NoNamespaceCheck.cpp:23 + + Finder->addMatcher(namespaceDecl(hasName("absl")).bind("absl_namespace"), + this);

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-12 Thread Roman Lebedev via Phabricator via cfe-commits
lebedev.ri added a comment. > We are aware that this test will cause warnings on users code through their > dependencies on abseil. > However, from what we know it seems like these warnings are normally > suppressed. > If anyone has a good idea on how to avoid this/has insight on whether this

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-12 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang-tidy/abseil/NoNamespaceCheck.cpp:23 + + Finder->addMatcher(namespaceDecl(hasName("absl")).bind("absl_namespace"), + this); I think this needs a `not(isExpansionInSystemHeader())` in there

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-11 Thread Jonas Toth via Phabricator via cfe-commits
JonasToth added a comment. Could it happen that some template specializations or so need to land in `absl`? Comment at: clang-tidy/abseil/NoNamespaceCheck.cpp:28 +void NoNamespaceCheck::check(const MatchFinder::MatchResult &Result) { + const auto *decl = Result.Nodes.getNodeAs

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-10 Thread Eugene Zelenko via Phabricator via cfe-commits
Eugene.Zelenko added a comment. Check documentation is missing. Comment at: clang-tidy/abseil/NoNamespaceCheck.cpp:21 +void NoNamespaceCheck::registerMatchers(MatchFinder *Finder) { + if (!getLangOpts().CPlusPlus) return; + Please place return in separate line

[PATCH] D50580: [clang-tidy] Abseil: no namespace check

2018-08-10 Thread Deanna Garcia via Phabricator via cfe-commits
deannagarcia created this revision. deannagarcia added reviewers: alexfh, hokein. deannagarcia added a project: clang-tools-extra. Herald added subscribers: xazax.hun, mgorny. This check ensures that users of Abseil do not open namespace absl in their code, as that violates our compatibility guid