llvm-project/clang-tools-extra/docs
Mitchell Balan 73d93617d3 [clang-tidy] modernize-use-using uses AST and now supports struct defintions and multiple types in a typedef
Summary:
It now handles `typedef`s that include comma-separated multiple types, and handles embedded struct definitions, which previously could not be automatically converted.

For example, with this patch `modernize-use-using` now can convert:

typedef struct { int a; } R_t, *R_p;

to:

using R_t = struct { int a; };
using R_p = R_t*;

`-ast-dump` showed that the `CXXRecordDecl` definitions and multiple `TypedefDecl`s come consecutively in the tree, so `check()` stores information between calls to determine when it is receiving a second or additional `TypedefDecl` within a single `typedef`, or when the current `TypedefDecl` refers to an embedded `CXXRecordDecl` like a `struct`.

Reviewers: alexfh, aaron.ballman

Patch by: poelmanc

Subscribers: riccibruno, sammccall, cfe-commits, aaron.ballman

Tags: clang-tools-extra, clang

Differential Revision: https://reviews.llvm.org/D70270
2020-01-07 16:36:11 -05: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] modernize-use-using uses AST and now supports struct defintions and multiple types in a typedef 2020-01-07 16:36:11 -05:00
clangd Fix some typos in the clang-tools-extra doc 2019-12-19 22:23:35 +01: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] modernize-use-using uses AST and now supports struct defintions and multiple types in a typedef 2020-01-07 16:36:11 -05:00
clang-doc.rst doc: Document that extra-arg/extra-arg-before can be used several times 2019-12-24 13:07:08 +01:00
clang-include-fixer.rst [docs] Update path to clang-tools-extra 2020-01-02 19:30:29 +08:00
clang-modernize.rst
clang-rename.rst doc: Document that extra-arg/extra-arg-before can be used several times 2019-12-24 13:07:08 +01: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 Fix trivial typos in comments; NFC 2020-01-02 13:41:43 -05: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 [docs] Update path to clang-tools-extra 2020-01-02 19:30:29 +08: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.