Ast_Init is not Ast_Binary with TK_Comma
This commit is contained in:
22
ccodegen.cpp
22
ccodegen.cpp
@@ -108,6 +108,17 @@ gen_expr(Ast_Expr *ast){
|
||||
else gen(".");
|
||||
gen_expr(node->right);
|
||||
}
|
||||
else if(node->op == TK_Comma){
|
||||
Sym *sym = resolved_get(node);
|
||||
Ast_Atom *atom = (Ast_Atom *)node->left;
|
||||
assert(atom->kind == AST_ATOM);
|
||||
gen_simple_decl(sym->type, atom->intern_val);
|
||||
if(node->right){
|
||||
gen(" = ");
|
||||
gen_expr(node->right);
|
||||
}
|
||||
gen(";");
|
||||
}
|
||||
else{
|
||||
gen("(");
|
||||
gen_expr(node->left);
|
||||
@@ -236,17 +247,6 @@ gen_ast(Ast *ast){
|
||||
BREAK();
|
||||
}
|
||||
|
||||
CASE(INIT, Init){
|
||||
Sym *sym = resolved_get(node);
|
||||
gen_simple_decl(sym->type, node->ident->intern_val);
|
||||
if(node->expr){
|
||||
gen(" = ");
|
||||
gen_expr(node->expr);
|
||||
}
|
||||
gen(";");
|
||||
BREAK();
|
||||
}
|
||||
|
||||
CASE(IF, If){
|
||||
For(node->ifs){
|
||||
if(it->init) gen_ast(it->init);
|
||||
|
||||
Reference in New Issue
Block a user