diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2026-01-15 16:32:52 +0000 |
|---|---|---|
| committer | gingerBill <gingerBill@users.noreply.github.com> | 2026-01-15 16:32:52 +0000 |
| commit | 0366cd3304b3910a397c4989e46bee4c575adeec (patch) | |
| tree | f75675c69bcafcd7020e97cfd17565d31eae7c4b /src/parser.hpp | |
| parent | 7f509c01f1c912e2d4ccf5d8f1a029167fff107e (diff) | |
Add `#must_tail` (similar syntax to `#force_inline`
Diffstat (limited to 'src/parser.hpp')
| -rw-r--r-- | src/parser.hpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/parser.hpp b/src/parser.hpp index 71b61d95f..30b11c730 100644 --- a/src/parser.hpp +++ b/src/parser.hpp @@ -263,12 +263,17 @@ struct ForeignFileWorkerData { -enum ProcInlining { - ProcInlining_none = 0, - ProcInlining_inline = 1, +enum ProcInlining : u8 { + ProcInlining_none = 0, + ProcInlining_inline = 1, ProcInlining_no_inline = 2, }; +enum ProcTailing : u8 { + ProcTailing_none = 0, + ProcTailing_must_tail = 1, +}; + enum ProcTag { ProcTag_bounds_check = 1<<0, ProcTag_no_bounds_check = 1<<1, @@ -441,6 +446,7 @@ struct AstSplitArgs { Ast *body; \ u64 tags; \ ProcInlining inlining; \ + ProcTailing tailing; \ Token where_token; \ Slice<Ast *> where_clauses; \ DeclInfo *decl; \ @@ -486,6 +492,7 @@ AST_KIND(_ExprBegin, "", bool) \ Token close; \ Token ellipsis; \ ProcInlining inlining; \ + ProcTailing tailing; \ bool optional_ok_one; \ bool was_selector; \ AstSplitArgs *split_args; \ |