Pierre-Marie de Rodat
7d842e067c
Merge branch 'mr/pmderodat/26.1-aarch64-linux' into '26.1'
...
[26.1] $.Implementation: avoid implementation-dependent evaluation order
See merge request eng/libadalang/langkit!1480
2025-12-05 10:24:26 +00:00
Pierre-Marie de Rodat
4ac98ee9b2
$.Implementation: avoid implementation-dependent evaluation order
...
Ada does not specify the order of evaluation for call actuals. As a
consequence, in `Dump_Lexical_Env`, `Get_Env_Id` may currently be called
first on the parent env, or on the current env depending on what the
compiler thinks is best for code generation, and so the order in which
IDs are assigned may change from one platform to another or from one
compiler version to another.
Rework calls to `Get_Env_Id` so that the order is stable.
(cherry picked from commit 086c4f7df6 )
2025-12-05 09:51:26 +00:00
Pierre-Marie de Rodat
166e8738dc
Merge branch 'mr/pmderodat/26.1-ci' into '26.1'
...
[26.1] Use the same version of e3-testsuite as the Anod sandbox
See merge request eng/libadalang/langkit!1482
2025-12-05 09:50:49 +00:00
Pierre-Marie de Rodat
a695273dc8
Use the same version of e3-testsuite as the Anod sandbox
...
(cherry picked from commit cd47dbda16 )
2025-12-04 16:55:38 +01:00
Pierre-Marie de Rodat
5cc60b2541
Merge branch 'mr/pmderodat/26.1-969' into '26.1'
...
[26.1] Fix backtracking control logic for list parsers
See merge request eng/libadalang/langkit!1457
2025-10-23 12:25:09 +00:00
Pierre-Marie de Rodat
b8fef8d893
Fix backtracking control logic for list parsers
...
(cherry picked from commit b64fe233bd )
2025-10-23 12:24:51 +00:00
Pierre-Marie de Rodat
e123aec126
Merge two tests related to cut parsers
...
(cherry picked from commit c3a6bfc3a6 )
2025-10-23 12:24:51 +00:00
Pierre-Marie de Rodat
b147c5a209
Parsers: extend traceability comments in generated code
...
For each parser, clearly track the related variables in generated code,
in an attempt to make generated code easier to work for debugging
purposes.
(cherry picked from commit 4534d64e58 )
2025-10-23 12:24:51 +00:00
Pierre-Marie de Rodat
d3e1c4f9ea
Parsers: remove redundant "no backtrack" variable assignments
...
This is just a code generation cleanup, no change of behavior intended.
(cherry picked from commit a0326d4a69 )
2025-10-23 12:24:51 +00:00
Pierre-Marie de Rodat
4fe51ea99c
Parsers: strip empty lines from generated code
...
Because of the way Mako templates are written, a lot of empty lines are
included in generated code, making it hard to inspect/debug Ada code for
parsers. Post-process generated code to avoid these empty lines.
(cherry picked from commit 3a28cebd61 )
2025-10-23 12:24:51 +00:00
Pierre-Marie de Rodat
760e9b3605
Merge branch 'mr/pmderodat/26.1-967' into '26.1'
...
[26.1] Rewriting: add a debug helper for node rewriting handles
See merge request eng/libadalang/langkit!1456
2025-10-23 12:22:42 +00:00
Pierre-Marie de Rodat
1915ffd5da
Rewriting: rewriting error on unexpected unparsed tree shape
...
When applying rewriting modifications, stop with an error when the tree
obtained by parsing the unparsed rewriting tree does not have the exact
same shape as the rewriting tree itself.
(cherry picked from commit be0ff804da )
2025-10-21 16:04:05 +02:00
Pierre-Marie de Rodat
f3030db4a2
Rewriting: add a debug helper for node rewriting handles
...
(cherry picked from commit 2d724fefce )
2025-10-21 16:04:05 +02:00
Hugo Guerrier
a628a75d0d
Merge branch 'revert-19c87a0c' into 'master'
...
Revert "Merge branch 'topic/c_api/fix_c_arrays' into 'master'"
See merge request eng/libadalang/langkit!1441
v26.0.0
2025-09-19 07:31:11 +00:00
Hugo Guerrier
681b63b87a
Revert "Merge branch 'topic/c_api/fix_c_arrays' into 'master'"
...
This reverts merge request !1417
2025-09-19 07:03:48 +00:00
Hugo Guerrier
19c87a0cdc
Merge branch 'topic/c_api/fix_c_arrays' into 'master'
...
C API: Make array structs "items" a flexible array member
Closes #954
See merge request eng/libadalang/langkit!1417
2025-09-18 10:26:08 +00:00
Hugo Guerrier
0d1ee2f1c1
Make array struct 'items' a flexible array member
2025-09-18 08:46:34 +00:00
Rémi Segard
4fceac8695
Merge branch 'topic/lkt_type/fix_parenexp_infinite_recursion' into 'master'
...
Lkt: prevent ParenExpr infinite recursion when computing its context free expected type
Closes #968
See merge request eng/libadalang/langkit!1440
2025-09-17 15:27:30 +00:00
Remi Segard
bc18da5e7a
Lkt: prevent ParenExpr infinite recursion when computing its context free expected type
2025-09-17 16:10:37 +02:00
Pierre-Marie de Rodat
a1071649c1
Merge branch 'mr/pmderodat/dont-skip' into 'master'
...
Fix code generation for node-returning dont_skip subparsers
Closes #965
See merge request eng/libadalang/langkit!1437
2025-09-12 09:56:25 +00:00
Pierre-Marie de Rodat
d6182c25a6
Fix code generation for node-returning dont_skip subparsers
2025-09-12 09:35:41 +00:00
Pierre-Marie de Rodat
74383d44fc
grammar/cuts: extend to cover dont_skip parsers
2025-09-12 09:35:41 +00:00
Pierre-Marie de Rodat
920ba0ea50
grammar/cuts: remove unused source file
2025-09-12 09:35:41 +00:00
Pierre-Marie de Rodat
a3824b3fcc
Merge branch 'mr/pmderodat/dont-skip-unparsers' into 'master'
...
Unparsers: accept Prediate/dont_skip in list parsers
See merge request eng/libadalang/langkit!1438
2025-09-12 09:20:35 +00:00
Pierre-Marie de Rodat
829bf7ba39
Unparsers: accept Prediate/dont_skip in list parsers
...
This fixes an the validation pass for unparsers: `Predicate` and
`dont_skip` parsers have no influence on unparsing themselves. Not
calling `unwrap` when validating list parsers (like we do when
validating other kinds of parsers) was just an oversight.
2025-09-12 08:59:08 +00:00