Add #must_tail (similar syntax to #force_inline

This commit is contained in:
gingerBill
2026-01-15 16:32:52 +00:00
parent 7f509c01f1
commit 0366cd3304
6 changed files with 105 additions and 24 deletions

View File

@@ -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; \