llvm-project/clang-tools-extra/docs
Dmitri Gribenko 405c3a6be1 [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
2019-09-27 10:49:12 +00:00
..
_static Added more detailed documentation for clangd 2019-02-27 15:53:05 +00:00
_templates Added more detailed documentation for clangd 2019-02-27 15:53:05 +00:00
clang-tidy [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage. 2019-09-27 10:49:12 +00:00
clangd [clangd] Fix the stale documentation about background indexing. 2019-09-25 08:26:32 +00:00
CMakeLists.txt docs: Fix Sphinx detection with out-of-tree builds 2017-05-09 11:11:52 +00:00
ModularizeUsage.rst Remove trailing whitespace in docs and clang-tidy sources. 2016-12-13 16:38:45 +00:00
README.txt Updated the documentation build instructions for the current CMake build system 2019-02-25 13:03:44 +00:00
ReleaseNotes.rst [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage. 2019-09-27 10:49:12 +00:00
clang-doc.rst [Clang-doc] NFC: Fixed link to llvm bugs in documentation 2019-09-23 16:55:13 +00:00
clang-include-fixer.rst Rename directory housing clang-include-fixer to be eponymous 2019-03-25 14:09:10 +00:00
clang-modernize.rst
clang-rename.rst Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
clang-tidy.rst [Documentation] Use HTTPS whenever possible. 2019-01-22 19:19:48 +00:00
clangd.rst [clangd] Redirect clangd page. 2019-03-08 09:56:42 +00:00
conf.py Bump the trunk version to 10.0.0svn 2019-07-18 11:51:05 +00:00
cpp11-migrate.rst
doxygen-mainpage.dox [docs] Fix docs to work with doxygen 1.8.11 2016-03-03 10:45:59 +00:00
doxygen.cfg.in [NFC] Remove LLVM_ALIGNAS 2019-07-31 03:22:08 +00:00
index.rst Rename directory housing clang-include-fixer to be eponymous 2019-03-25 14:09:10 +00:00
make.bat
modularize.rst [Documentation] Use HTTPS whenever possible. 2019-01-22 19:19:48 +00:00
pp-trace.rst [pp-trace] Delete redundant clang:: 2019-03-24 07:31:21 +00:00

README.txt

----------------------------------
Documentation in clang-tools-extra
----------------------------------

To generate documentation in HTML format from files in clang-tools-extra/docs,
build the docs-clang-tools-html target.

To generate documentation from the source code using Doxygen, build the
doxygen-clang-tools target.