cparser.bootstrap: $(CPARSEROS)
@echo "===> LD $@"
- $(Q)$(CC) $(CPARSEROS) $(LFLAGS) -o $@
+ $(Q)./build/cparser $(CPARSEROS) $(LFLAGS) -o $@
cparser.bootstrap2: $(CPARSEROS2)
@echo "===> LD $@"
- $(Q)$(CC) $(CPARSEROS2) $(LFLAGS) -o $@
+ $(Q)./cparser.bootstrap $(CPARSEROS2) $(LFLAGS) -o $@
build/%.o: %.c
@echo '===> CC $<'
static ir_node *current_switch_cond;
static bool saw_default_label;
static ir_node **imature_blocks;
+static bool constant_folding;
static const declaration_t *current_function_decl;
static ir_node *current_function_name;
tarval *const one = get_mode_one(mode);
tarval * tv_next = get_tarval_null(mode);
+ bool constant_folding_old = constant_folding;
+ constant_folding = true;
+
declaration_t *declaration = type->declaration->next;
for (; declaration != NULL; declaration = declaration->next) {
if (declaration->storage_class != STORAGE_CLASS_ENUM_ENTRY)
tv_next = tarval_add(tv_next, one);
}
+ constant_folding = constant_folding_old;
+
return ir_type_int;
}
return new_SymConst(mode, sym, symconst_type_align);
}
-static bool constant_folding;
-
static void init_ir_types(void);
long fold_constant(const expression_t *expression)
{