static void setup_core_dumping (void);
static void compile_file (void);
-/* Nonzero to dump debug info whilst parsing (-dy option). */
-static int set_yydebug;
-
/* True if we don't need a backend (e.g. preprocessing only). */
static bool no_backend;
to optimize in process_options (). */
#define AUTODETECT_VALUE 2
-/* Name to use as base of names for dump output files. */
-
-const char *dump_base_name;
-
-/* Directory used for dump output files. */
-
-const char *dump_dir_name;
-
-/* Name to use as a base for auxiliary output files. */
-
-const char *aux_base_name;
-
/* Prefix for profile data files */
const char *profile_data_prefix;
int flag_print_asm_name;
enum graph_dump_types graph_dump_format;
-/* Name for output file of assembly code, specified with -o. */
-
-const char *asm_file_name;
-
/* True if this is the lto front end. This is used to disable
gimple generation and lowering passes that are normally run on the
output of a front end. These passes must be bypassed for lto since
bool in_lto_p = false;
-/* Nonzero if we should write GIMPLE bytecode for link-time optimization. */
-
-int flag_generate_lto;
-
/* The FUNCTION_DECL for the function currently being compiled,
or 0 if between functions. */
tree current_function_decl;
/* -f flags. */
-/* Nonzero means we should be saving declaration info into a .X file. */
-
-int flag_gen_aux_info = 0;
-
-/* Specified name of aux-info file. */
-
-const char *aux_info_file_name;
-
-/* Nonzero if we are compiling code for a shared library, zero for
- executable. */
-
-int flag_shlib;
-
/* Generate code for GNU or NeXT Objective-C runtime environment. */
#ifdef NEXT_OBJC_RUNTIME
int flag_next_runtime = 0;
#endif
-/* Set to the default thread-local storage (tls) model to use. */
-
-enum tls_model flag_tls_default = TLS_MODEL_GLOBAL_DYNAMIC;
-
-/* Set the default for excess precision. */
-
-enum excess_precision flag_excess_precision_cmdline = EXCESS_PRECISION_DEFAULT;
-
-/* Nonzero means change certain warnings into errors.
- Usually these are warnings about failure to conform to some standard. */
-
-int flag_pedantic_errors = 0;
-
/* Nonzero means make permerror produce warnings instead of errors. */
int flag_permissive = 0;
/* Call the parser, which parses the entire file (calling
rest_of_compilation for each function). */
- lang_hooks.parse_file (set_yydebug);
+ lang_hooks.parse_file ();
/* Compilation is now finished except for writing
what's left of the symbol table output. */
case 'x':
rtl_dump_and_exit = 1;
break;
- case 'y':
- set_yydebug = 1;
- break;
case 'D': /* These are handled by the preprocessor. */
case 'I':
case 'M':
filename = concat (aux_base_name, ".", ext, NULL);
file = fopen (filename, "w");
if (!file)
- fatal_error ("can't open %s for writing: %m", filename);
+ fatal_error ("can%'t open %s for writing: %m", filename);
free (filename);
return file;
}
flag_var_tracking_uninit = 0;
}
+ /* The debug hooks are used to implement -fdump-go-spec because it
+ gives a simple and stable API for all the information we need to
+ dump. */
+ if (flag_dump_go_spec != NULL)
+ debug_hooks = dump_go_spec_init (flag_dump_go_spec, debug_hooks);
+
/* If the user specifically requested variable tracking with tagging
uninitialized variables, we need to turn on variable tracking.
(We already determined above that variable tracking is feasible.) */
/* Parse the options and do minimal processing; basically just
enough to default flags appropriately. */
decode_options (&global_options, &global_options_set,
- save_decoded_options, save_decoded_options_count);
+ save_decoded_options, save_decoded_options_count,
+ UNKNOWN_LOCATION, global_dc);
init_local_tick ();