if (! (config->flags & OPT_FLAG_ENABLED))
return false;
-
old_irg = current_ir_graph;
current_ir_graph = irg;
for (i = get_irp_n_irgs() - 1; i >= 0; --i) {
ir_graph *irg = get_irp_irg(i);
- current_ir_graph = irg;
-
do_irg_opt(irg, "local");
do_irg_opt(irg, "gcse");
do_irg_opt(irg, "opt-load-store");
#if 0 // TODO
bufpos = buffer;
bufend = buffer + len;
+
+ /* place a virtual \n at the beginning so the lexer knows that we're
+ * at the beginning of a line */
+ c = '\n';
#else
(void)buffer;
(void)len;
panic("builtin lexing not done yet");
#endif
-
- /* place a virtual \n at the beginning so the lexer knows that we're
- * at the beginning of a line */
- c = '\n';
}
void exit_lexer(void)
eat(':');
if (token.type == '}') {
- /* TODO only warn? */
- if (warning.other && false) {
- warningf(HERE, "label at end of compound statement");
- statement->label.statement = create_empty_statement();
- } else {
- errorf(HERE, "label at end of compound statement");
- statement->label.statement = create_invalid_statement();
- }
+ errorf(HERE, "label at end of compound statement");
+ statement->label.statement = create_invalid_statement();
} else if (token.type == ';') {
/* Eat an empty statement here, to avoid the warning about an empty
* statement after a label. label:; is commonly used to have a label