diff options
Diffstat (limited to 'src/parser.cpp')
| -rw-r--r-- | src/parser.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/parser.cpp b/src/parser.cpp index c30ca4779..c32af2427 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -2952,6 +2952,7 @@ AstNode *parse_field_list(AstFile *f, isize *name_count_, u32 allowed_flags, Tok default_value = parse_expr(f, false); if (!allow_default_parameters) { syntax_error(f->curr_token, "Default parameters are only allowed for procedures"); + default_value = nullptr; } } @@ -2959,12 +2960,10 @@ AstNode *parse_field_list(AstFile *f, isize *name_count_, u32 allowed_flags, Tok syntax_error(f->curr_token, "Default parameters can only be applied to single values"); } - #if defined(NO_DEFAULT_STRUCT_VALUES) if (allowed_flags == FieldFlag_Struct && default_value != nullptr) { syntax_error(default_value, "Default parameters are not allowed for structs"); default_value = nullptr; } - #endif if (type != nullptr && type->kind == AstNode_Ellipsis) { if (seen_ellipsis) syntax_error(type, "Extra variadic parameter after ellipsis"); |