llvm-project/clang-tools-extra/docs
Roman Lebedev 2634bd5995 [clang-tidy] Avoid C arrays check
Summary:
[[ https://bugs.llvm.org/show_bug.cgi?id=39224 | PR39224 ]]
As discussed, we can't always do the transform automatically due to that array-to-pointer decay of C array.
In order to detect whether we can do said transform, we'd need to be able to see all usages of said array,
which is, i would say, rather impossible if e.g. it is in the header.
Thus right now no fixit exists.

Exceptions: `extern "C"` code.

References:
* [[ https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#es27-use-stdarray-or-stack_array-for-arrays-on-the-stack | CPPCG ES.27: Use std::array or stack_array for arrays on the stack ]]
* [[ https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#slcon1-prefer-using-stl-array-or-vector-instead-of-a-c-array | CPPCG SL.con.1: Prefer using STL array or vector instead of a C array ]]
* HICPP `4.1.1 Ensure that a function argument does not undergo an array-to-pointer conversion`
* MISRA `5-2-12 An identifier with array type passed as a function argument shall not decay to a pointer`

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

Reviewed By: JonasToth

Subscribers: Eugene.Zelenko, mgorny, rnkovacs, cfe-commits

Tags: #clang-tools-extra

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

llvm-svn: 346835
2018-11-14 09:01:08 +00:00
..
clang-tidy [clang-tidy] Avoid C arrays check 2018-11-14 09:01:08 +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
ReleaseNotes.rst [clang-tidy] Avoid C arrays check 2018-11-14 09:01:08 +00:00
clang-doc.rst [docs] Adding clang-doc to CTE toctree to fix docs build error 2018-03-12 21:39:01 +00:00
clang-modernize.rst Orphaning these RST files; each one is retained only for link backwards compatibility. 2015-12-28 19:59:15 +00:00
clang-rename.rst clang-rename: add new -force option 2017-06-02 09:32:28 +00:00
clang-tidy.rst [clang-tidy] Use relative URL for redirection. 2016-01-27 11:37:12 +00:00
clangd.rst [clangd] Fix a link in documentation. NFC 2018-10-24 09:00:30 +00:00
conf.py Update docs version and clear release notes after 8.0.0 version bump 2018-08-01 14:09:00 +00:00
cpp11-migrate.rst Orphaning these RST files; each one is retained only for link backwards compatibility. 2015-12-28 19:59:15 +00:00
doxygen-mainpage.dox [docs] Fix docs to work with doxygen 1.8.11 2016-03-03 10:45:59 +00:00
doxygen.cfg.in [clang-tools-extra] Cleanup documentation routine 2018-07-04 10:18:03 +00:00
include-fixer.rst [docs] Remove doubled spaces 2016-11-17 14:26:45 +00:00
index.rst [docs] Adding clang-doc to CTE toctree to fix docs build error 2018-03-12 21:39:01 +00:00
make.bat
modularize.rst Fix more inconsistent line endings. NFC. 2017-12-18 19:46:56 +00:00
pp-trace.rst Fix more inconsistent line endings. NFC. 2017-12-18 19:46:56 +00:00

README.txt

-------------------------------------------------------------
Documentation for the tools of clang-tools-extra repo project
-------------------------------------------------------------

Sphinx and doxygen documentation is generated by executing make.

Sphinx html files can be generated separately using make html.

Doxygen html files can also be generated using make doxygen.

The generated documentation will be placed in _build/html.