diff options
author | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-11-01 03:19:59 +0000 |
---|---|---|
committer | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-11-01 03:19:59 +0000 |
commit | 3d719176f291b7cb5062128775dfb60532c2c9a9 (patch) | |
tree | 41415caad9e50c09c36657a0aef8906cbc763069 /gcc/c-opts.c | |
parent | c535f36ca8457060a697a1f81410ac7172a018d8 (diff) | |
download | gcc-3d719176f291b7cb5062128775dfb60532c2c9a9.tar.gz |
* c-opts.c (finish_options): Change to returns boolean - false iff
the call to cpp_find_main_file fails.
(c_common_init): Skip preprocess_file if finish_options failed.
(c_common_parse_file): Break if finish_options failed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73170 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-opts.c')
-rw-r--r-- | gcc/c-opts.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/gcc/c-opts.c b/gcc/c-opts.c index b15f31ce78e..4473eaf49d3 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -108,7 +108,7 @@ static void sanitize_cpp_opts (void); static void add_prefixed_path (const char *, size_t); static void push_command_line_include (void); static void cb_file_change (cpp_reader *, const struct line_map *); -static void finish_options (const char *); +static bool finish_options (const char *); #ifndef STDC_0_IN_SYSTEM_HEADERS #define STDC_0_IN_SYSTEM_HEADERS 0 @@ -1183,8 +1183,8 @@ c_common_init (void) if (flag_preprocess_only) { - finish_options (in_fnames[0]); - preprocess_file (parse_in); + if (finish_options (in_fnames[0])) + preprocess_file (parse_in); return false; } @@ -1220,7 +1220,8 @@ c_common_parse_file (int set_yydebug ATTRIBUTE_UNUSED) cpp_undef_all (parse_in); } - finish_options(in_fnames[file_index]); + if (! finish_options(in_fnames[file_index])) + break; if (file_index == 0) pch_init(); c_parse_file (); @@ -1387,8 +1388,8 @@ add_prefixed_path (const char *suffix, size_t chain) /* Handle -D, -U, -A, -imacros, and the first -include. TIF is the input file to which we will return after processing all - the includes. */ -static void + the includes. Returns true on success. */ +static bool finish_options (const char *tif) { if (!cpp_opts->preprocessed) @@ -1441,8 +1442,10 @@ finish_options (const char *tif) include_cursor = 0; this_input_filename = tif; - cpp_find_main_file (parse_in, this_input_filename); + if (! cpp_find_main_file (parse_in, this_input_filename)) + return false; push_command_line_include (); + return true; } /* Give CPP the next file given by -include, if any. */ |