[clang-tidy] openmp-use-default-none - a new check
authorRoman Lebedev <lebedev.ri@gmail.com>
Fri, 22 Mar 2019 19:46:12 +0000 (19:46 +0000)
committerRoman Lebedev <lebedev.ri@gmail.com>
Fri, 22 Mar 2019 19:46:12 +0000 (19:46 +0000)
commitcbbf92825f0d7a2b6925e93b58705443345ab57a
tree2fb58c693fd6f293330769076220a4073acb319a
parent819bedf3a1ba3f09037fe9a4a732dccbd9defb94
[clang-tidy] openmp-use-default-none - a new check

Summary:
Finds OpenMP directives that are allowed to contain `default` clause,
but either don't specify it, or the clause is specified but with the kind
other than `none`, and suggests to use `default(none)` clause.

Using `default(none)` clause changes the default variable visibility from
being implicitly determined, and thus forces developer to be explicit about the
desired data scoping for each variable.

Reviewers: JonasToth, aaron.ballman, xazax.hun, hokein, gribozavr

Reviewed By: JonasToth, aaron.ballman

Subscribers: jdoerfert, openmp-commits, klimek, sbenza, arphaman, Eugene.Zelenko, ABataev, mgorny, rnkovacs, guansong, cfe-commits

Tags: #clang-tools-extra, #openmp, #clang

Differential Revision: https://reviews.llvm.org/D57113

llvm-svn: 356801
clang-tools-extra/clang-tidy/openmp/CMakeLists.txt
clang-tools-extra/clang-tidy/openmp/OpenMPTidyModule.cpp
clang-tools-extra/clang-tidy/openmp/UseDefaultNoneCheck.cpp [new file with mode: 0644]
clang-tools-extra/clang-tidy/openmp/UseDefaultNoneCheck.h [new file with mode: 0644]
clang-tools-extra/docs/ReleaseNotes.rst
clang-tools-extra/docs/clang-tidy/checks/list.rst
clang-tools-extra/docs/clang-tidy/checks/openmp-use-default-none.rst [new file with mode: 0644]
clang-tools-extra/test/clang-tidy/openmp-use-default-none.cpp [new file with mode: 0644]