llvm-project/clang-tools-extra
Brett Wilson eaa7b324d5 [clang-doc] Add support for explicitly typed enums
Add support for explicitly typed enums:
  enum Foo : unsigned { ... };
to the internal representation and to the YAML output.

Add support for getting the value of an enum constant, as well as accessing the original expression that produced it. This changes the YAML output of enums from an array of strings for the enum members to an array of dictionaries. These dictionaries now report the name, value, and original expression.

The markdown and HTML outputs are unchanged, they still output the name from the new enhanced internal schema.

Reviewed By: paulkirth

Differential Revision: https://reviews.llvm.org/D134055
2022-09-19 21:54:41 +00:00
..
clang-apply-replacements Fix use-after-free in clang-apply-replacements 2022-08-02 13:34:20 -07:00
clang-change-namespace Use StringRef::contains (NFC) 2022-08-28 23:29:02 -07:00
clang-doc [clang-doc] Add support for explicitly typed enums 2022-09-19 21:54:41 +00:00
clang-include-fixer [cmake] do not set execution permission to regular files. 2022-09-07 11:04:12 +08:00
clang-move Use llvm::none_of (NFC) 2022-08-14 16:25:39 -07:00
clang-query [clang-query] Add check to prevent setting srcloc when no introspection is available. 2021-04-28 11:21:35 +01:00
clang-reorder-fields Use llvm::sort instead of std::sort where possible 2022-07-23 15:19:05 +02:00
clang-tidy [clang][dataflow] Replace usage of deprecated functions with the optional check 2022-09-19 17:33:25 +00:00
clangd [test][clangd] Join back -Xclang and -undef 2022-09-19 10:11:37 -07:00
docs [clang-tidy] Skip union-like classes in use-equals-default 2022-09-06 20:19:47 +00:00
include-cleaner [include-cleaner] Fix build error in unit test 2022-06-09 03:38:13 -04:00
modularize Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options 2022-06-05 00:31:44 -07:00
pp-trace [pp-trace] Print HashLoc in InclusionDirective callback 2022-06-03 19:29:59 +08:00
pseudo Drop empty string literals from static_assert (NFC) 2022-09-03 11:17:47 -07:00
test [clang] use getCommonSugar in an assortment of places 2022-09-16 16:36:00 +02:00
tool-template
unittests [clang-doc] Add support for explicitly typed enums 2022-09-19 21:54:41 +00:00
.gitignore
CMakeLists.txt Generalize "check-all" umbrella targets, use for check-clang-tools 2022-05-06 12:30:49 +02:00
CODE_OWNERS.TXT Update the clang and clang-tools-extra code owners files 2022-09-06 08:28:03 -04:00
LICENSE.TXT
README.txt [NFC] update clang-tools-extra README.txt 2022-06-10 16:59:57 +05:30

README.txt

//===----------------------------------------------------------------------===//
// Clang Tools repository
//===----------------------------------------------------------------------===//

Welcome to the repository of extra Clang Tools.  This repository holds tools
that are developed as part of the LLVM compiler infrastructure project and the
Clang frontend.  These tools are kept in a separate "extra" repository to
allow lighter weight checkouts of the core Clang codebase.

All discussion regarding Clang, Clang-based tools, and code in this repository
should be held using the standard Clang forum:
  https://discourse.llvm.org/c/clang

Code review for this tree should take place on the standard Clang patch and
commit lists:
  http://lists.llvm.org/mailman/listinfo/cfe-commits

If you find a bug in these tools, please file it in the LLVM bug tracker:
  https://github.com/llvm/llvm-project/issues/