diff options
author | Dmitri Gribenko <gribozavr@gmail.com> | 2019-09-27 10:49:12 +0000 |
---|---|---|
committer | Dmitri Gribenko <gribozavr@gmail.com> | 2019-09-27 10:49:12 +0000 |
commit | 405c3a6be1718e191efdc7dd65b38c9d81bd987b (patch) | |
tree | 025c3d1f1a9ac6c7edbf48204980b5a3b7242415 /llvm/lib/CodeGen/MachineFunction.cpp | |
parent | 110607b284a3ff51f0123d45c69ee7056eb5ad5e (diff) | |
download | llvm-405c3a6be1718e191efdc7dd65b38c9d81bd987b.zip llvm-405c3a6be1718e191efdc7dd65b38c9d81bd987b.tar.gz llvm-405c3a6be1718e191efdc7dd65b38c9d81bd987b.tar.bz2 |
[clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.
Summary:
Creates a new darwin ClangTidy module and adds the darwin-dispatch-once-nonstatic check that warns about dispatch_once_t variables not in static or global storage. This catches a missing static for local variables in e.g. singleton initialization behavior, and also warns on storing dispatch_once_t values in Objective-C instance variables. C/C++ struct/class instances may potentially live in static/global storage, and are ignored for this check.
The osx.API static analysis checker can find the non-static storage use of dispatch_once_t; I thought it useful to also catch this issue in clang-tidy when possible.
This is a re-land of https://reviews.llvm.org/D67567
Reviewers: thakis, gribozavr, stephanemoore
Subscribers: Eugene.Zelenko, mgorny, xazax.hun, jkorous, arphaman, kadircet, usaxena95
Tags: #clang-tools-extra, #clang, #llvm
Differential Revision: https://reviews.llvm.org/D68109
llvm-svn: 373065
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions