aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.cpp')
-rw-r--r--src/parser.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/parser.cpp b/src/parser.cpp
index 37f56d350..bf1b6163e 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -475,7 +475,7 @@ String const ast_node_strings[] = {
struct AstNode {
AstNodeKind kind;
- u32 stmt_state_flags;
+ u32 stmt_state_flags;
union {
#define AST_NODE_KIND(_kind_name_, name, ...) GB_JOIN2(AstNode, _kind_name_) _kind_name_;
AST_NODE_KINDS
@@ -629,9 +629,12 @@ AstNode *clone_ast_node(gbAllocator a, AstNode *node) {
gb_memmove(n, node, gb_size_of(AstNode));
switch (n->kind) {
- case AstNode_Ident: break;
- case AstNode_Implicit: break;
- case AstNode_BasicLit: break;
+ default: GB_PANIC("Unhandled AstNode %.*s", LIT(ast_node_strings[n->kind])); break;
+
+ case AstNode_Invalid: break;
+ case AstNode_Ident: break;
+ case AstNode_Implicit: break;
+ case AstNode_BasicLit: break;
case AstNode_BasicDirective: break;
case AstNode_Ellipsis:
n->Ellipsis.expr = clone_ast_node(a, n->Ellipsis.expr);