/** use builtins for some libc functions */
bool use_builtins = false;
+/** we have extern function with const attribute. */
+bool have_const_functions = false;
+
/* to switch on printing of implicit casts */
extern bool print_implicit_casts;
default:
case 4:
set_option("strict-aliasing");
- use_builtins = true;
+ /* use_builtins = true; */
/* fallthrough */
case 3:
set_option("cond-eval");
/* preprocess and compile */
if (filetype == FILETYPE_PREPROCESSED_C) {
translation_unit_t *const unit = do_parsing(in, filename);
- if (in == preprocessed_in) {
- int pp_result = pclose(preprocessed_in);
- if (pp_result != EXIT_SUCCESS) {
- exit(EXIT_FAILURE);
- }
- }
/* prints the AST even if errors occurred */
if (mode == PrintAst) {
fprintf(stderr, "%u warning(s)\n", warning_count);
}
+ if (in == preprocessed_in) {
+ int pp_result = pclose(preprocessed_in);
+ if (pp_result != EXIT_SUCCESS) {
+ exit(EXIT_FAILURE);
+ }
+ }
+
if(mode == BenchmarkParser) {
return result;
} else if(mode == PrintFluffy) {
}
gen_firm_finish(asm_out, filename, /*c_mode=*/1,
- /*firm_const_exists=*/0);
+ have_const_functions);
if (asm_out != out) {
fclose(asm_out);
}