Lines Matching defs:stmt
198 static struct storage *x86_statement(struct statement *stmt);
1484 static void emit_if_conditional(struct statement *stmt)
1490 val = x86_expression(stmt->if_conditional);
1494 x86_statement(stmt->if_true);
1497 if (stmt->if_false) {
1499 x86_statement(stmt->if_false);
1534 static struct storage *emit_return_stmt(struct statement *stmt)
1537 struct expression *expr = stmt->ret_value;
1705 static void emit_case_statement(struct statement *stmt)
1707 emit_labelsym(stmt->case_label, NULL);
1708 x86_statement(stmt->case_statement);
1711 static void emit_switch_statement(struct statement *stmt)
1713 struct storage *val = x86_expression(stmt->switch_expression);
1718 emit_move(val, REG_EAX, stmt->switch_expression->ctype, "begin case");
1725 FOR_EACH_PTR(stmt->switch_case->symbol_list, sym) {
1726 struct statement *case_stmt = sym->stmt;
1784 x86_statement(stmt->switch_statement);
1786 if (stmt->switch_break->used)
1787 emit_labelsym(stmt->switch_break, NULL);
1847 struct statement *stmt = type->stmt;
1848 if (stmt) {
1850 x86_statement(stmt);
1910 static void emit_loop(struct statement *stmt)
1912 struct statement *pre_statement = stmt->iterator_pre_statement;
1913 struct expression *pre_condition = stmt->iterator_pre_condition;
1914 struct statement *statement = stmt->iterator_statement;
1915 struct statement *post_statement = stmt->iterator_post_statement;
1916 struct expression *post_condition = stmt->iterator_post_condition;
1925 x86_symbol_decl(stmt->iterator_syms);
1955 if (stmt->iterator_continue->used)
1981 if (have_bottom || stmt->iterator_break->used)
1990 static struct storage *x86_statement(struct statement *stmt)
1992 if (!stmt)
1994 switch (stmt->type) {
1998 return emit_return_stmt(stmt);
2000 x86_symbol_decl(stmt->declaration);
2006 FOR_EACH_PTR(stmt->stmts, s) {
2014 return x86_expression(stmt->expression);
2016 emit_if_conditional(stmt);
2020 emit_case_statement(stmt);
2023 emit_switch_statement(stmt);
2027 emit_loop(stmt);
2034 printf(".L%p:\n", stmt->label_identifier);
2035 x86_statement(stmt->label_statement);
2039 if (stmt->goto_expression) {
2040 struct storage *val = x86_expression(stmt->goto_expression);
2042 } else if (!strcmp("break", show_ident(stmt->goto_label->ident))) {
2047 } else if (!strcmp("continue", show_ident(stmt->goto_label->ident))) {
2053 struct storage *labelsym = new_labelsym(stmt->goto_label);