Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3 |
|
#
c29aba71 |
| 20-Aug-2024 |
PeterChou1 <peter.chou@mail.utoronto.ca> |
[clang-doc] add support for block commands in clang-doc html output (#101108)
|
#
5ef2456a |
| 16-Aug-2024 |
PeterChou1 <peter.chou@mail.utoronto.ca> |
[clang-doc] add support for enums comments in html generation (#101282)
Part of https://github.com/llvm/llvm-project/issues/101129
This patch adds support for attaching comments to enums for HTML
[clang-doc] add support for enums comments in html generation (#101282)
Part of https://github.com/llvm/llvm-project/issues/101129
This patch adds support for attaching comments to enums for HTML in
clang-doc. It changes the enum generation to table tags where as
perviously we're using lists which is more in line with what other doc
generators are doing. It also gives clang-doc the ability to show user
specified enum values
show more ...
|
#
b4bc7b18 |
| 12-Aug-2024 |
PeterChou1 <peter.chou@mail.utoronto.ca> |
[clang-doc] add support for comments for members in HTML output (#101255)
currently the HTML output does not support comments attached to class
members, this patch modifies the HTMLGenerator to add
[clang-doc] add support for comments for members in HTML output (#101255)
currently the HTML output does not support comments attached to class
members, this patch modifies the HTMLGenerator to add comments for the
output.
show more ...
|
Revision tags: llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1 |
|
#
91450f1b |
| 25-Jul-2024 |
PeterChou1 <peter.chou@mail.utoronto.ca> |
[clang-doc] switched from using relative to absolute paths (#93281)
fixes https://github.com/llvm/llvm-project/issues/92867
This patches changes the way clang-doc index navigation works,
previou
[clang-doc] switched from using relative to absolute paths (#93281)
fixes https://github.com/llvm/llvm-project/issues/92867
This patches changes the way clang-doc index navigation works,
previously it was based a relative path approach, this approach is error
prone and lead to wrong paths for the anchor tag. The new navigation way
is based on absolute paths and should work and be less confusing
codewise.
Because the differences with serving over a http server and viewing via
file system I also added export a RootPath variable to the index_json.js
file
show more ...
|
#
fb55db54 |
| 23-Jul-2024 |
PeterChou1 <peter.chou@mail.utoronto.ca> |
[clang-doc] fix broken tests (#100260)
This patch fixes the broken test caused by clang-doc which was caused by
https://github.com/llvm/llvm-project/pull/100251
https://lab.llvm.org/buildbot/#/b
[clang-doc] fix broken tests (#100260)
This patch fixes the broken test caused by clang-doc which was caused by
https://github.com/llvm/llvm-project/pull/100251
https://lab.llvm.org/buildbot/#/builders/144/builds/3080
show more ...
|
#
80d1c6ac |
| 23-Jul-2024 |
PeterChou1 <peter.chou@mail.utoronto.ca> |
Revert "[clang-doc] add ftime profiling" (#100251)
This broke the build due to failing some clang-tidy checks:
https://lab.llvm.org/buildbot/#/builders/145/builds/789
|
Revision tags: llvmorg-20-init |
|
#
46a2abb9 |
| 08-Jul-2024 |
Paul Kirth <paulkirth@google.com> |
[clang-doc][nfc] Avoid constructing SmallString in ToString method (#96921)
This patch updates the return type of HTMLTag::toString from
SmallString<16> to StringRef, since this API only returns st
[clang-doc][nfc] Avoid constructing SmallString in ToString method (#96921)
This patch updates the return type of HTMLTag::toString from
SmallString<16> to StringRef, since this API only returns string
literals. As a result, there is no need to construct a full heap
allocated or owned string.
Additionally, this patch renames ToString to toString to match the LLVM
style guide.
show more ...
|
#
a9b1e80a |
| 30-Jun-2024 |
PeterChou1 <peter.chou@mail.utoronto.ca> |
[clang-doc] add async loading (#93276)
Fixes https://github.com/llvm/llvm-project/issues/93273
This patch changes the way clang-doc loads html indexes. Previously
clang-doc loaded the index via
[clang-doc] add async loading (#93276)
Fixes https://github.com/llvm/llvm-project/issues/93273
This patch changes the way clang-doc loads html indexes. Previously
clang-doc loaded the index via an index_json.js file which uses
JSON.parse to parse the file. This patches changes that to use an async
function called LoadIndex which enables asynchronous loading making the
initial page load not be blocked by loading a large JavaScript object.
show more ...
|
#
ecfbb850 |
| 27-Jun-2024 |
Paul Kirth <paulkirth@google.com> |
[clang-doc][NFC] Fix style guide violations in HTMLGenerator.cpp
This patch addresses several code style issues that conflict with the project's style guide. Primarily the naming of functions, and `
[clang-doc][NFC] Fix style guide violations in HTMLGenerator.cpp
This patch addresses several code style issues that conflict with the project's style guide. Primarily the naming of functions, and `else` after `return` statements. It only addresses issues found in HTMLGenerator.cpp.
Reviewers: petrhosek
Reviewed By: petrhosek
Pull Request: https://github.com/llvm/llvm-project/pull/96924
show more ...
|
#
f14ad744 |
| 27-Jun-2024 |
PeterChou1 <peter.chou@mail.utoronto.ca> |
Reapply [clang-doc] Add --asset option to clang-doc (#96358)
Reapply https://github.com/llvm/llvm-project/pull/94717
Adds a new option --asset which allows users to specified the asset
folder for
Reapply [clang-doc] Add --asset option to clang-doc (#96358)
Reapply https://github.com/llvm/llvm-project/pull/94717
Adds a new option --asset which allows users to specified the asset
folder for the html output of clang-doc.
This patch adds a better test for --asset option + fixes bug where
clang-doc assumes that user supplied js file is assume to be index.js
show more ...
|
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1 |
|
#
2b00d449 |
| 27-Jan-2024 |
Kazu Hirata <kazu@google.com> |
[clang-tools-extra] Use SmallString::operator std::string (NFC)
|
Revision tags: llvmorg-19-init |
|
#
21edd381 |
| 14-Jan-2024 |
Kazu Hirata <kazu@google.com> |
[clang-doc] Use SmallString::operator std::string (NFC)
|
Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0 |
|
#
15aa9653 |
| 15-Mar-2023 |
Kazu Hirata <kazu@google.com> |
[clang-tools-extra] Use *{Set,Map}::contains (NFC)
|
Revision tags: llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7 |
|
#
f71ffd3b |
| 08-Jan-2023 |
Kazu Hirata <kazu@google.com> |
[clang-tools-extra] Use std::optional instead of llvm::Optional (NFC)
This patch replaces (llvm::|)Optional< with std::optional<. I'll post a separate patch to clean up the "using" declarations, #i
[clang-tools-extra] Use std::optional instead of llvm::Optional (NFC)
This patch replaces (llvm::|)Optional< with std::optional<. I'll post a separate patch to clean up the "using" declarations, #include "llvm/ADT/Optional.h", etc.
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
#
71f55735 |
| 08-Jan-2023 |
Kazu Hirata <kazu@google.com> |
[clang-tools-extra] Add #include <optional> (NFC)
This patch adds #include <optional> to those files containing llvm::Optional<...> or Optional<...>.
I'll post a separate patch to actually replace
[clang-tools-extra] Add #include <optional> (NFC)
This patch adds #include <optional> to those files containing llvm::Optional<...> or Optional<...>.
I'll post a separate patch to actually replace llvm::Optional with std::optional.
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
#
53243f2a |
| 17-Dec-2022 |
Fangrui Song <i@maskray.me> |
std::optional::value => operator*/operator->
value() has undesired exception checking semantics and calls __throw_bad_optional_access in libc++. Moreover, the API is unavailable without _LIBCPP_NO_E
std::optional::value => operator*/operator->
value() has undesired exception checking semantics and calls __throw_bad_optional_access in libc++. Moreover, the API is unavailable without _LIBCPP_NO_EXCEPTIONS on older Mach-O platforms (see _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS).
This fixes check-clang-tools.
show more ...
|
#
059a23c0 |
| 03-Dec-2022 |
Kazu Hirata <kazu@google.com> |
[clang-tools-extra] Use std::nullopt instead of None (NFC)
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the
[clang-tools-extra] Use std::nullopt instead of None (NFC)
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the amount of manual work required in migrating from Optional to std::optional.
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
#
7b8c7e02 |
| 29-Nov-2022 |
Brett Wilson <brettw@gmail.com> |
[clang-doc] Move file layout to the generators.
Previously file naming and directory layout was handled on a per Info object basis by ClangDocMain and the generators blindly wrote to the files given
[clang-doc] Move file layout to the generators.
Previously file naming and directory layout was handled on a per Info object basis by ClangDocMain and the generators blindly wrote to the files given. This means all generators must use the same file layout and caused problems where multiple objects mapped to the same file. The object collision problem happens most easily with template specializations because the template parameters are not part of the "name".
This patch moves the responsibility for output file organization to the generators. Currently HTML and MD use the same structure as before. But they now collect all objects that map to a given file and combine them, avoiding the corruption problems.
Converts the YAML generator to naming files based on USR in one directory. This is easier for downstream tools to manage and avoids the naming problems with template specializations. Since this change requires backward-incompatible output changes to referenced files anyway (since each one is now an array), this is a good time to introduce this change.
Differential Revision: https://reviews.llvm.org/D138073
show more ...
|
Revision tags: llvmorg-15.0.6 |
|
#
48bb1471 |
| 22-Nov-2022 |
Paul Kirth <paulkirth@google.com> |
Revert "[clang-doc] Move file layout to the generators."
This reverts commit f8a469fc572778d05b72f34a772082cf3abd3cda.
The test in single-file-public.cpp breaks on Mac, due to an unknown regextype
Revert "[clang-doc] Move file layout to the generators."
This reverts commit f8a469fc572778d05b72f34a772082cf3abd3cda.
The test in single-file-public.cpp breaks on Mac, due to an unknown regextype in the find command.
show more ...
|
Revision tags: llvmorg-15.0.5 |
|
#
f8a469fc |
| 15-Nov-2022 |
Brett Wilson <brettw@gmail.com> |
[clang-doc] Move file layout to the generators.
Previously file naming and directory layout was handled on a per Info object basis by ClangDocMain and the generators blindly wrote to the files given
[clang-doc] Move file layout to the generators.
Previously file naming and directory layout was handled on a per Info object basis by ClangDocMain and the generators blindly wrote to the files given. This means all generators must use the same file layout and caused problems where multiple objects mapped to the same file. The object collision problem happens most easily with template specializations because the template parameters are not part of the "name".
This patch moves the responsibility for output file organization to the generators. Currently HTML and MD use the same structure as before. But they now collect all objects that map to a given file and combine them, avoiding the corruption problems.
Converts the YAML generator to naming files based on USR in one directory. This is easier for downstream tools to manage and avoids the naming problems with template specializations. Since this change requires backward-incompatible output changes to referenced files anyway (since each one is now an array), this is a good time to introduce this change.
Differential Revision: https://reviews.llvm.org/D138073
show more ...
|
Revision tags: llvmorg-15.0.4, llvmorg-15.0.3 |
|
#
21fb70c6 |
| 14-Oct-2022 |
Brett Wilson <brettw@gmail.com> |
[clang-doc] Add typedef/using information.
Read typedef and "using" type alias declarations and serialize into the internal structures. Emit this information in the YAML output. The HTML and MD gene
[clang-doc] Add typedef/using information.
Read typedef and "using" type alias declarations and serialize into the internal structures. Emit this information in the YAML output. The HTML and MD generators are unchanged.
Separate out the logic to create the parent namespace or record object and insert the newly created child into it. This logic was previously duplicated for every "info" type and is now shared.
To help this, a struct containing the child vectors was separated out so children can be added generically and without having too many templates.
A small change was made to populateParentNamespaces() to allow using types that aren't themselves DeclContexts (typedefs are the first example of this).
Differential Revision: https://reviews.llvm.org/D134371
show more ...
|
Revision tags: working, llvmorg-15.0.2 |
|
#
a7594772 |
| 28-Sep-2022 |
Haowei Wu <haowei@google.com> |
Revert "[clang-doc] Add typedef/using information."
This reverts commit eed22583fd78d4d657fb70b99e62fbdc1f83b8f9, which breaks clang build with -Werror.
|
#
eed22583 |
| 27-Sep-2022 |
Brett Wilson <brettw@google.com> |
[clang-doc] Add typedef/using information.
Read typedef and "using" type alias declarations and serialize into the internal structures. Emit this information in the YAML output. The HTML and MD gene
[clang-doc] Add typedef/using information.
Read typedef and "using" type alias declarations and serialize into the internal structures. Emit this information in the YAML output. The HTML and MD generators are unchanged.
Separate out the logic to create the parent namespace or record object and insert the newly created child into it. This logic was previously duplicated for every "info" type and is now shared.
To help this, a struct containing the child vectors was separated out so children can be added generically and without having too many templates.
A small change was made to populateParentNamespaces() to allow using types that aren't themselves DeclContexts (typedefs are the first example of this).
Reviewed By: paulkirth, haowei
Differential Revision: https://reviews.llvm.org/D134371
show more ...
|
#
0afc6085 |
| 27-Sep-2022 |
Brett Wilson <brettw@google.com> |
[clang-doc] Clean up *Info constructors.
The *Info object (for the copy of the AST") constructors had many duplicated variants. Many of the variants seemed to be in an attempt to avoid default argum
[clang-doc] Clean up *Info constructors.
The *Info object (for the copy of the AST") constructors had many duplicated variants. Many of the variants seemed to be in an attempt to avoid default arguments. But default arguments are not prohibited and using them allows most of the variants to be removed which improves readability.
Remove the IsInGlobalNamespace flag on a Reference. This is set when the path is empty, and only read once in the HTML generator with the identical condition. The constructor cleanup exposed a problem where this was set to false when the constructor with no path was used, but true when the path was set to empty.
There should be no observable change with the exception that IsInGlobalNamespace is no longer emitted in YAML.
Reviewed By: paulkirth, haowei
Differential Revision: https://reviews.llvm.org/D134235
show more ...
|
Revision tags: llvmorg-15.0.1 |
|
#
eaa7b324 |
| 19-Sep-2022 |
Brett Wilson <brettw@google.com> |
[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 gett
[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
show more ...
|