--- toplev.c.orig 2008-07-13 16:33:36.000000000 -0600 +++ toplev.c 2009-07-21 21:26:48.000000000 -0600 @@ -1035,6 +1035,9 @@ init_final (main_input_filename); coverage_init (aux_base_name); + if (flag_syntax_only) + ffi_init (asm_out_file, main_input_filename); + timevar_push (TV_PARSE); /* Call the parser, which parses the entire file (calling @@ -2120,6 +2123,8 @@ input_filename = ""; input_line = 0; #endif + if (flag_syntax_only) + ffi_early_init (); if (lang_hooks.init () == 0) return 0; input_location = save_loc;