|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, 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, 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, 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, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
5b8337cf |
| 15-Jul-2022 |
Haojian Wu <[email protected]> |
[syntax] Some #includes cleanup, NFC.
|
|
Revision tags: 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 |
|
| #
1630e508 |
| 11-Nov-2020 |
Sam McCall <[email protected]> |
[Syntax] Tablegen literal expressions.
Non-mechanical changes: - Added FIXME to StringLiteral to cover multi-token string literals. - LiteralExpression::getLiteralToken() is gone. (It was never ca
[Syntax] Tablegen literal expressions.
Non-mechanical changes: - Added FIXME to StringLiteral to cover multi-token string literals. - LiteralExpression::getLiteralToken() is gone. (It was never called) This is because we don't codegen methods in Alternatives It's conceptually suspect if we consider multi-token string literals, though.
Differential Revision: https://reviews.llvm.org/D91277
show more ...
|
| #
ea4d24c8 |
| 03-Nov-2020 |
Sam McCall <[email protected]> |
[Syntax] Tablegen Sequence classes. NFC
Similar to the previous patch, this doesn't convert *all* the classes that could be converted. It also doesn't enforce any new invariants etc.
It *does* incl
[Syntax] Tablegen Sequence classes. NFC
Similar to the previous patch, this doesn't convert *all* the classes that could be converted. It also doesn't enforce any new invariants etc.
It *does* include some data we don't use yet: specific token types that are allowed and optional/required status of sequence items. (Similar to Dmitri's prototype). I think these are easier to add as we go than later, and serve a useful documentation purpose.
Differential Revision: https://reviews.llvm.org/D90659
show more ...
|
| #
138189ee |
| 03-Nov-2020 |
Sam McCall <[email protected]> |
[Syntax] Tablegen operator<<(NodeKind). NFC
Differential Revision: https://reviews.llvm.org/D90662
|
| #
454579e4 |
| 09-Nov-2020 |
Sam McCall <[email protected]> |
Reland [Syntax] Add minimal TableGen for syntax nodes. NFC
This reverts commit 09c6259d6d0eb51b282f6c3a28052a8146bc095b. (Fixed side-effecting code being buried in an assert)
|
| #
09c6259d |
| 09-Nov-2020 |
Sam McCall <[email protected]> |
Revert "[Syntax] Add minimal TableGen for syntax nodes. NFC"
This reverts commit 55120f74ca12faea0e90fe552c85c14485f1fd91.
Segfaults during build: http://lab.llvm.org:8011/#/builders/36/builds/1310
|
| #
55120f74 |
| 31-Oct-2020 |
Sam McCall <[email protected]> |
[Syntax] Add minimal TableGen for syntax nodes. NFC
So far, only used to generate Kind and implement classof().
My plan is to have this general-purpose Nodes.inc in the style of AST DeclNodes.inc e
[Syntax] Add minimal TableGen for syntax nodes. NFC
So far, only used to generate Kind and implement classof().
My plan is to have this general-purpose Nodes.inc in the style of AST DeclNodes.inc etc, and additionally a special-purpose backend generating the actual class definitions. But baby steps...
Differential Revision: https://reviews.llvm.org/D90540
show more ...
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4 |
|
| #
5011d431 |
| 28-Sep-2020 |
Eduardo Caldas <[email protected]> |
Migrate Declarators to use the List API
After this change all nodes that have a delimited-list are using the `List` API.
Implementation details: Let's look at a declaration with multiple declarator
Migrate Declarators to use the List API
After this change all nodes that have a delimited-list are using the `List` API.
Implementation details: Let's look at a declaration with multiple declarators: `int a, b;` To generate a declarator list node we need to have the range of declarators: `a, b`: However, the `ClangAST` actually stores them as separate declarations: `int a ;` `int b;` We solve that by appropriately marking the declarators on each separate declaration in the `ClangAST` and then for the final declarator `int b`, shrinking its range to fit to the already marked declarators.
Differential Revision: https://reviews.llvm.org/D88403
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc3 |
|
| #
87f0b51d |
| 21-Sep-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree][NFC] follow naming convention + remove auto on empty vector declaration
Differential Revision: https://reviews.llvm.org/D88004
|
| #
4c14ee61 |
| 11-Sep-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree] Rename functions to start with verb
According to LLVM coding standards: https://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly
Differential
[SyntaxTree] Rename functions to start with verb
According to LLVM coding standards: https://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly
Differential Revision: https://reviews.llvm.org/D87498
show more ...
|
| #
fda3fa82 |
| 27-Aug-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree][NFC] Append "get" to syntax Nodes accessor names
Differential Revision: https://reviews.llvm.org/D86679
|
| #
718e550c |
| 26-Aug-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree] Refactor `NodeRole`s
Previously a NodeRole would generally be prefixed with the `NodeKind`, we remove this prefix, as it we redundant and made tests more noisy.
Differential Revision:
[SyntaxTree] Refactor `NodeRole`s
Previously a NodeRole would generally be prefixed with the `NodeKind`, we remove this prefix, as it we redundant and made tests more noisy.
Differential Revision: https://reviews.llvm.org/D86636
show more ...
|
| #
dc3d4743 |
| 26-Aug-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree] Migrate `ParamatersAndQualifiers` to use the new List API
Fix: Add missing `List::getTerminationKind()`, `List::canBeEmpty()`, `List::getDelimiterTokenKind()` for `CallArguments`.
Diff
[SyntaxTree] Migrate `ParamatersAndQualifiers` to use the new List API
Fix: Add missing `List::getTerminationKind()`, `List::canBeEmpty()`, `List::getDelimiterTokenKind()` for `CallArguments`.
Differential Revision: https://reviews.llvm.org/D86600
show more ...
|
| #
2de2ca34 |
| 25-Aug-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree] Add support for `CallExpression`
* Generate `CallExpression` syntax node for all semantic nodes inheriting from `CallExpr` with call-expression syntax - except `CUDAKernelCallExpr`. * I
[SyntaxTree] Add support for `CallExpression`
* Generate `CallExpression` syntax node for all semantic nodes inheriting from `CallExpr` with call-expression syntax - except `CUDAKernelCallExpr`. * Implement all the accessors * Arguments of `CallExpression` have their own syntax node which is based on the `List` base API
Differential Revision: https://reviews.llvm.org/D86544
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc2 |
|
| #
85c15f17 |
| 20-Aug-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree] Add support for `this`
Differential Revision: https://reviews.llvm.org/D86298
|
| #
ba32915d |
| 19-Aug-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree] Add support for `MemberExpression`
Differential Revision: https://reviews.llvm.org/D86227
|
| #
fdbd5996 |
| 07-Aug-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree] Implement `NestedNameSpecifier` using the `List` base API
|
| #
a90c78ac |
| 04-Aug-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree] Implement the List construct.
We defined a List construct to help with the implementation of list-like grammar rules. This is a first implementation of this API.
Differential Revision:
[SyntaxTree] Implement the List construct.
We defined a List construct to help with the implementation of list-like grammar rules. This is a first implementation of this API.
Differential Revision: https://reviews.llvm.org/D85295
show more ...
|
| #
8abb5fb6 |
| 04-Aug-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree] Use simplified grammar rule for `NestedNameSpecifier` grammar nodes
This is our grammar rule for nested-name-specifiers: globalbal-specifier: /*empty*/ simple-template-specifier: te
[SyntaxTree] Use simplified grammar rule for `NestedNameSpecifier` grammar nodes
This is our grammar rule for nested-name-specifiers: globalbal-specifier: /*empty*/ simple-template-specifier: template_opt simple-template-id name-specifier: global-specifier decltype-specifier identifier simple-template-specifier nested-name-specifier: list(name-specifier, ::, non-empty, terminated)
It is a relaxed version of C++ [expr.prim.id] and quite simpler to map to our API.
TODO: refine name specifiers, `simple-template-name-specifier` and decltype-name-specifier` are token soup for now.
show more ...
|
| #
ba41a0f7 |
| 06-Aug-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree][NFC] remove redundant namespace-specifiers
Differential Revision: https://reviews.llvm.org/D85427
|
|
Revision tags: llvmorg-11.0.0-rc1 |
|
| #
860cbbdd |
| 23-Jul-2020 |
Eduardo Caldas <[email protected]> |
[SyntaxTree] Add support for `LiteralExpression`
We use inheritance to model the grammar's disjunction rule: literal: integer-literal character-literal floating-point-literal string-literal
[SyntaxTree] Add support for `LiteralExpression`
We use inheritance to model the grammar's disjunction rule: literal: integer-literal character-literal floating-point-literal string-literal boolean-literal pointer-literal user-defined-literal
Differential Revision: https://reviews.llvm.org/D85186
show more ...
|
|
Revision tags: llvmorg-12-init |
|
| #
1db5b348 |
| 09-Jul-2020 |
Eduardo Caldas <[email protected]> |
Add kinded UDL for raw literal operator and numeric literal operator template
|
|
Revision tags: llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
| #
f33c2c27 |
| 15-Jun-2020 |
Eduardo Caldas <[email protected]> |
Fix crash on `user defined literals`
Summary: Given an UserDefinedLiteral `1.2_w`: Problem: Lexer generates one Token for the literal, but ClangAST references two source locations Fix: Ignore the op
Fix crash on `user defined literals`
Summary: Given an UserDefinedLiteral `1.2_w`: Problem: Lexer generates one Token for the literal, but ClangAST references two source locations Fix: Ignore the operator and interpret it as the underlying literal. e.g.: `1.2_w` token generates syntax node IntegerLiteral(1.2_w)
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82157
show more ...
|
| #
fdbd7833 |
| 01-Jul-2020 |
Eduardo Caldas <[email protected]> |
Add parenthesized expression to SyntaxTree
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82960
|
| #
7b404b6d |
| 22-Jun-2020 |
Eduardo Caldas <[email protected]> |
Add `FloatingLiteral` to SyntaxTree
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D82318
|