Revision tags: llvmorg-21-init, llvmorg-19.1.7 |
|
#
2b932bc1 |
| 18-Dec-2024 |
Paul Kirth <paulkirth@google.com> |
[clang-doc] Use LangOpts when printing types (#120308)
The implementation in the clang-doc serializer failed to take in the
LangOpts from the declaration. As a result, we'd do things like print
`_
[clang-doc] Use LangOpts when printing types (#120308)
The implementation in the clang-doc serializer failed to take in the
LangOpts from the declaration. As a result, we'd do things like print
`_Bool` instead of `bool`, even in C++ code.
Fixes #62970
show more ...
|
Revision tags: 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, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, 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, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5 |
|
#
edd690b0 |
| 03-Nov-2023 |
Vlad Serebrennikov <serebrennikov.vladislav@gmail.com> |
[clang][NFC] Refactor `TagTypeKind` (#71160)
This patch converts TagTypeKind into scoped enum. Among other benefits,
this allows us to forward-declare it where necessary.
|
Revision tags: 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, 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 |
|
#
4a68babd |
| 07-Dec-2022 |
Brett Wilson <brettw@gmail.com> |
[clang-doc] Add template support.
Reads template information from the AST and adds template parameters and specialization information to the corresponding clang-doc structures.
Add a "QualName" to
[clang-doc] Add template support.
Reads template information from the AST and adds template parameters and specialization information to the corresponding clang-doc structures.
Add a "QualName" to the Reference struct which includes the full qualified type name. The Reference object represents a link in the HTML/MD generators so is based on the unqualified name. But this does not encode C-V qualifiers or template information that decorate the name. The new QualName member encodes all of this information and also makes it easier for the generators or downsteam YAML consumers to generate the full name (before they had to process the "Path").
In test code that was changed, remove made-up paths to built-in types like "int". In addition to slightnly cleaning up the code, these types do not have paths in real execution, and generating incorrect references to nonexistant data may complicate future changes in the generators.
Convert llvm::Optional to std::optional (YAML library requires this for the new usage, and this makes everything consistent according to the llvm::Optional -> std::optional transition).
Differential Revision: https://reviews.llvm.org/D139154
show more ...
|
#
91b38c6a |
| 07-Dec-2022 |
Brett Wilson <brettw@gmail.com> |
Revert "[clang-doc] Add template support."
Causes a build failure in YAML specializations.
This reverts commit 0f6dbb5f164662c3e6a167a89e7a89f07c60e32b.
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5 |
|
#
0f6dbb5f |
| 07-Nov-2022 |
Brett Wilson <brettw@gmail.com> |
[clang-doc] Add template support.
Reads template information from the AST and adds template parameters and specialization information to the corresponding clang-doc structures.
Add a "QualName" to
[clang-doc] Add template support.
Reads template information from the AST and adds template parameters and specialization information to the corresponding clang-doc structures.
Add a "QualName" to the Reference struct which includes the full qualified type name. The Reference object represents a link in the HTML/MD generators so is based on the unqualified name. But this does not encode C-V qualifiers or template information that decorate the name. The new QualName member encodes all of this information and also makes it easier for the generators or downsteam YAML consumers to generate the full name (before they had to process the "Path").
In test code that was changed, remove made-up paths to built-in types like "int". In addition to slightnly cleaning up the code, these types do not have paths in real execution, and generating incorrect references to nonexistant data may complicate future changes in the generators.
Differential Revision: https://reviews.llvm.org/D139154
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 ...
|
#
e191086b |
| 16-Sep-2022 |
Brett Wilson <brettw@google.com> |
[clang-doc] Support default args for functions.
Adds support for default arguments in the internal representation and reads these values from the source. Implements writing these values to YAML but
[clang-doc] Support default args for functions.
Adds support for default arguments in the internal representation and reads these values from the source. Implements writing these values to YAML but does not implement this for the HTML or markdown outputs.
Reviewed By: paulkirth
Differential Revision: https://reviews.llvm.org/D133732
show more ...
|
Revision tags: llvmorg-15.0.0, llvmorg-15.0.0-rc3 |
|
#
99baa10f |
| 11-Aug-2022 |
Brett Wilson <brettw@google.com> |
[clang-doc] Read docstrings for record members
Struct/class data members did not have the comments associated with them. This adds that information to the MemberTypeInfo class and emits it in the YA
[clang-doc] Read docstrings for record members
Struct/class data members did not have the comments associated with them. This adds that information to the MemberTypeInfo class and emits it in the YAML. This does not update the frontends yet.
Reviewed By: paulkirth
Differential Revision: https://reviews.llvm.org/D131298
show more ...
|
Revision tags: llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3 |
|
#
b46131e5 |
| 16-Aug-2019 |
Diego Astiazaran <diegoaat97@gmail.com> |
[clang-doc] Fix records in global namespace
When a Record is declared in the global namespace, clang-doc serializes it as a child of the global namespace, so the global namespace is now one if its p
[clang-doc] Fix records in global namespace
When a Record is declared in the global namespace, clang-doc serializes it as a child of the global namespace, so the global namespace is now one if its parent namespaces. This namespace was not being included in the list of namespaces of the Info causing paths to be incorrect and the index rendered incorrectly. Affected tests have been fixed.
Differential revision: https://reviews.llvm.org/D66298
llvm-svn: 369123
show more ...
|
#
ba3d595f |
| 16-Aug-2019 |
Diego Astiazaran <diegoaat97@gmail.com> |
[clang-doc] Serialize inherited attributes and methods
clang-doc now serializes the inherited attributes and methods, not only the name of the base class. All inherited are tracked, if B:A and C:B,
[clang-doc] Serialize inherited attributes and methods
clang-doc now serializes the inherited attributes and methods, not only the name of the base class. All inherited are tracked, if B:A and C:B, info of A is included in C. This data is stored in attribute Bases in a RecordInfo. Previously tracked inheritance data, stored in Parents and VParents, hasn't been removed to reduce review load.
Differential revision: https://reviews.llvm.org/D66238
llvm-svn: 369075
show more ...
|
#
6a29ae4b |
| 15-Aug-2019 |
Diego Astiazaran <diegoaat97@gmail.com> |
[clang-doc] Fix bitcode writer for access specifiers
Bitcode writer was not emitting the corresponding record for the Access attribute of a FunctionInfo. This has been added. AS_none was being used
[clang-doc] Fix bitcode writer for access specifiers
Bitcode writer was not emitting the corresponding record for the Access attribute of a FunctionInfo. This has been added. AS_none was being used as the default value for any AcesssSpecifier attribute (in FunctionInfo and MemberTypeInfo), this has been changed to AS_public because this is the enum value that evaluates to 0. The bitcode writer doesn't write values that are 0 so if an attribute was set to AS_public, this value is not written and after reading the bitcode it would have the default value which is AS_none. This is why the default value is now AS_public.
Differential Revision: https://reviews.llvm.org/D66151
llvm-svn: 369063
show more ...
|
#
6169a730 |
| 14-Aug-2019 |
Diego Astiazaran <diegoaat97@gmail.com> |
[clang-doc] Add missing check in tests
Path is now checked when comparing two Infos in the unit tests.
Differential Revision: https://reviews.llvm.org/D66124
llvm-svn: 368912
|
Revision tags: llvmorg-9.0.0-rc2 |
|
#
e27f778a |
| 12-Aug-2019 |
Diego Astiazaran <diegoaat97@gmail.com> |
[clang-doc] Generate HTML links for children namespaces/records
Path is now stored in the references to the child while serializing, then this path is used to generate the relative path in the HTML
[clang-doc] Generate HTML links for children namespaces/records
Path is now stored in the references to the child while serializing, then this path is used to generate the relative path in the HTML generator. Now some references have paths and some don't so in the reducing phase, references are now properly merged checking for empty attributes. Tests added for HTML and YAML generators, merging and serializing. computeRelativePath function had a bug when the filepath is part of the given directory; it returned a path that starts with a separator. This has been fixed.
Differential Revision: https://reviews.llvm.org/D65987
llvm-svn: 368602
show more ...
|
#
665e9676 |
| 09-Aug-2019 |
Diego Astiazaran <diegoaat97@gmail.com> |
[clang-format] Add link to source code in file definitions
Two command line options have been added to clang-doc. --repository=<string> - URL of repository that hosts code; used for links to
[clang-format] Add link to source code in file definitions
Two command line options have been added to clang-doc. --repository=<string> - URL of repository that hosts code; used for links to definition locations. --source-root=<string> - Directory where processed files are stored. Links to definition locations will only be generated if the file is in this dir.
If the file is in the source-root and a repository options is passed; a link to the source code will be rendered by the HTML generator.
Differential Revision: https://reviews.llvm.org/D65483
llvm-svn: 368460
show more ...
|
Revision tags: llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4 |
|
#
097aedc9 |
| 02-Jul-2019 |
Julie Hockett <juliehockett@google.com> |
[clang-doc] Serialize child namespaces and records
Serialization of child namespaces and records is now handled. Namespaces can have child records and child namespaces. Records can only have child r
[clang-doc] Serialize child namespaces and records
Serialization of child namespaces and records is now handled. Namespaces can have child records and child namespaces. Records can only have child records.
Committed on behalf of Diego Astiazarán (diegoaat97@gmail.com).
Differential Revision: https://reviews.llvm.org/D63911
llvm-svn: 364963
show more ...
|
#
d900ef0a |
| 28-Jun-2019 |
Julie Hockett <juliehockett@google.com> |
[clang-doc] Handle anonymous namespaces
Improves output for anonymous decls, and updates the '--public' flag to exclude everything under an anonymous namespace.
Differential Revision: https://revie
[clang-doc] Handle anonymous namespaces
Improves output for anonymous decls, and updates the '--public' flag to exclude everything under an anonymous namespace.
Differential Revision: https://reviews.llvm.org/D52847
llvm-svn: 364674
show more ...
|
Revision tags: llvmorg-8.0.1-rc3 |
|
#
b1f01e27 |
| 24-Jun-2019 |
Julie Hockett <juliehockett@google.com> |
[clang-doc] Add basic support for templates and typedef
In serialize::parseBases(...), when a base record is a template specialization, the specialization was used as the parent. It should be the ba
[clang-doc] Add basic support for templates and typedef
In serialize::parseBases(...), when a base record is a template specialization, the specialization was used as the parent. It should be the base template so there is only one file generated for this record. When the specialized template is implicitly declared the reference USR corresponded to the GlobalNamespace's USR, this will now be the base template's USR.
More information about templates will be added later.
In serialize::emiInfo(RecorDecl*, ...), typedef records were not handled and the name was empty. This is now handled and a IsTypeDef attribute is added to RecordInfo struct.
In serialize::emitInfo(CXXMethodDecl*, ...), template specialization is handled like in serialize::parseBases(...).
Bitcode writer and reader are modified to handle the new attribute of RecordInfo.
Submitted on behalf of Diego Astiazarán (diegoaat97@gmail.com) Differential Revision: https://reviews.llvm.org/D63367
llvm-svn: 364222
show more ...
|
Revision tags: llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1, llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1 |
|
#
2946cd70 |
| 19-Jan-2019 |
Chandler Carruth <chandlerc@gmail.com> |
Update the file headers across all of the LLVM projects in the monorepo to reflect the new license.
We understand that people may be surprised that we're moving the header entirely to discuss the ne
Update the file headers across all of the LLVM projects in the monorepo to reflect the new license.
We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach.
Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository.
llvm-svn: 351636
show more ...
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1 |
|
#
68049b1a |
| 16-Oct-2018 |
Julie Hockett <juliehockett@google.com> |
[clang-doc] Add unit tests for serialization
Adds unit tests for the Serialize library.
This is part of a move to convert clang-doc's tests to a more maintainable unit test framework, with a smalle
[clang-doc] Add unit tests for serialization
Adds unit tests for the Serialize library.
This is part of a move to convert clang-doc's tests to a more maintainable unit test framework, with a smaller number of integration tests to maintain and more granular failure feedback.
Differential Revision: https://reviews.llvm.org/D53081
llvm-svn: 344650
show more ...
|