summaryrefslogtreecommitdiff
path: root/decls_cgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'decls_cgen.c')
-rw-r--r--decls_cgen.c34
1 files changed, 14 insertions, 20 deletions
diff --git a/decls_cgen.c b/decls_cgen.c
index 80b6a38..5b2603b 100644
--- a/decls_cgen.c
+++ b/decls_cgen.c
@@ -138,16 +138,6 @@ static void cgen_sdecls_stmt(CGenerator *g, Statement *s) {
if (r->flags & RET_HAS_EXPR)
cgen_sdecls_expr(g, &r->expr);
} break;
- case STMT_INCLUDE: {
- Include *i = s->inc;
- if (i->inc_file && (i->inc_file->flags & INC_FILE_CGEND_SDECLS)) {
- /* already generated */
- } else {
- if (i->inc_file) i->inc_file->flags |= INC_FILE_CGEND_SDECLS;
- arr_foreach(i->stmts, Statement, sub)
- cgen_sdecls_stmt(g, sub);
- }
- } break;
case STMT_BREAK:
if (!s->referring_to->c.break_lbl) {
s->referring_to->c.break_lbl = ++g->lbl_counter;
@@ -166,6 +156,13 @@ static void cgen_sdecls_stmt(CGenerator *g, Statement *s) {
case STMT_USE:
cgen_sdecls_expr(g, &s->use->expr);
break;
+ case STMT_INLINE_BLOCK:
+ arr_foreach(s->inline_block, Statement, sub)
+ cgen_sdecls_stmt(g, sub);
+ break;
+ case STMT_INCLUDE:
+ assert(0);
+ break;
}
}
@@ -386,16 +383,6 @@ static void cgen_decls_stmt(CGenerator *g, Statement *s) {
if (r->flags & RET_HAS_EXPR)
cgen_decls_expr(g, &r->expr);
} break;
- case STMT_INCLUDE: {
- Include *i = s->inc;
- if (i->inc_file && (i->inc_file->flags & INC_FILE_CGEND_DECLS)) {
- /* already generated */
- } else {
- if (i->inc_file) i->inc_file->flags |= INC_FILE_CGEND_DECLS;
- arr_foreach(i->stmts, Statement, sub)
- cgen_decls_stmt(g, sub);
- }
- } break;
case STMT_BREAK:
case STMT_CONT:
case STMT_MESSAGE:
@@ -406,6 +393,13 @@ static void cgen_decls_stmt(CGenerator *g, Statement *s) {
case STMT_USE:
cgen_sdecls_expr(g, &s->use->expr);
break;
+ case STMT_INLINE_BLOCK:
+ arr_foreach(s->inline_block, Statement, sub)
+ cgen_decls_stmt(g, sub);
+ break;
+ case STMT_INCLUDE:
+ assert(0);
+ break;
}
}