diff options
| author | Krzesimir Nowak <qdlacz@gmail.com> | 2026-02-15 16:37:14 +0100 |
|---|---|---|
| committer | Krzesimir Nowak <qdlacz@gmail.com> | 2026-02-15 16:37:14 +0100 |
| commit | a84179de1fdf9674bd25a9cebb672bf190d4bade (patch) | |
| tree | eae402fb27e8e0d2f22d6ddc2534cbfbb3e78899 /src | |
| parent | 730e6ce0d4b483cd01a51c6345c37972ef5fd4b3 (diff) | |
Do not allow duplicate #partial directives on switch statement
Diffstat (limited to 'src')
| -rw-r--r-- | src/parser.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/parser.cpp b/src/parser.cpp index 159eb65f8..fe42739b8 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -5427,9 +5427,15 @@ gb_internal Ast *parse_stmt(AstFile *f) { s = parse_stmt(f); switch (s->kind) { case Ast_SwitchStmt: + if (s->SwitchStmt.partial) { + syntax_error(token, "#partial already applied to a switch statement"); + } s->SwitchStmt.partial = true; break; case Ast_TypeSwitchStmt: + if (s->TypeSwitchStmt.partial) { + syntax_error(token, "#partial already applied to a switch statement"); + } s->TypeSwitchStmt.partial = true; break; case Ast_EmptyStmt: |