[PATCH] D52136: [clang-tidy] Add modernize-concat-nested-namespaces check
Wojtek GumuĊa via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sat Sep 15 07:35:08 PDT 2018
wgml created this revision.
wgml added reviewers: alexfh, aaron.ballman, hokein.
Herald added subscribers: xazax.hun, mgorny.
Finds instances of namespaces concatenated using explicit syntax, such as `namespace a { namespace b { [...] }}` and offers fix to glue it to `namespace a::b { [...] }`.
Properly handles `inline` and unnamed namespaces. Also, detects empty blocks in nested namespaces and offers to remove them.
Test with common use cases included.
I ran the check against entire llvm repository. Except for expected `nested namespace definitions only available with -std=c++17 or -std=gnu++17` warnings I noticed no issues when the check was performed.
Example:
namespace a { namespace b {
void test();
}}
namespace c { namespace d { namespace e { }}}
can become
namespace a::b {
void test();
}
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D52136
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ConcatNestedNamespacesCheck.cpp
clang-tidy/modernize/ConcatNestedNamespacesCheck.h
clang-tidy/modernize/ModernizeTidyModule.cpp
docs/ReleaseNotes.rst
docs/clang-tidy/checks/list.rst
docs/clang-tidy/checks/modernize-concat-nested-namespaces.rst
test/clang-tidy/modernize-concat-nested-namespaces.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52136.165642.patch
Type: text/x-patch
Size: 13247 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180915/81303e12/attachment-0001.bin>
More information about the cfe-commits
mailing list