diff options
author | Per Bothner <pbothner@apple.com> | 2003-08-09 22:14:07 +0000 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 2003-08-09 15:14:07 -0700 |
commit | 4169c321d07546a66be69a0d4c448862c971d640 (patch) | |
tree | 128dea28dd9ac999f2887671bb6668d7a150269c /gcc | |
parent | 3d93cdfa884d3308eabaafa46e7bfda27c2234b8 (diff) | |
download | gcc-4169c321d07546a66be69a0d4c448862c971d640.zip gcc-4169c321d07546a66be69a0d4c448862c971d640.tar.gz gcc-4169c321d07546a66be69a0d4c448862c971d640.tar.bz2 |
cppinit.c (cpp_read_main_file): Split out source-independent initialization to separate function ...
* cppinit.c (cpp_read_main_file): Split out source-independent
initialization to separate function ...
(cpp_post_options): New function.
* cppfiles.c (cpp_stack_file): Rename public name to ...
(_cpp_stack_file): New internal function name.
* cpplib.h: Update accordingly.
* cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
(cpp_read_main_file): Don't initialize line here.
* c-opts.c (c_common_post_options): Call cpp_post_options.
(c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
* fix-header.c (read_scan_file): Call cpp_post_options.
From-SVN: r70279
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 14 | ||||
-rw-r--r-- | gcc/c-opts.c | 3 | ||||
-rw-r--r-- | gcc/cppfiles.c | 2 | ||||
-rw-r--r-- | gcc/cppinit.c | 19 | ||||
-rw-r--r-- | gcc/cpplib.h | 8 | ||||
-rw-r--r-- | gcc/fix-header.c | 1 |
6 files changed, 34 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6ebb836..dda02bb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2003-08-09 Per Bothner <pbothner@apple.com> + + * cppinit.c (cpp_read_main_file): Split out source-independent + initialization to separate function ... + (cpp_post_options): New function. + * cppfiles.c (cpp_stack_file): Rename public name to ... + (_cpp_stack_file): New internal function name. + * cpplib.h: Update accordingly. + * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here. + (cpp_read_main_file): Don't initialize line here. + * c-opts.c (c_common_post_options): Call cpp_post_options. + (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file. + * fix-header.c (read_scan_file): Call cpp_post_options. + 2003-08-09 Per Bothner <per@bothner.com> * c-decl.c (SCOPE_LIST_APPEND): Remove bogus line continuation. diff --git a/gcc/c-opts.c b/gcc/c-opts.c index e2a3043..462ca24 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -1126,6 +1126,7 @@ c_common_post_options (const char **pfilename) } cpp_get_callbacks (parse_in)->file_change = cb_file_change; + cpp_post_options (parse_in); /* NOTE: we use in_fname here, not the one supplied. */ *pfilename = cpp_read_main_file (parse_in, in_fnames[0]); @@ -1196,7 +1197,7 @@ c_common_parse_file (int set_yydebug ATTRIBUTE_UNUSED) /* Reset cpplib's macros and start a new file. */ cpp_undef_all (parse_in); - cpp_stack_file (parse_in, in_fnames[file_index]); + cpp_read_main_file (parse_in, in_fnames[file_index]); } finish_options(in_fnames[file_index]); diff --git a/gcc/cppfiles.c b/gcc/cppfiles.c index 4c3608b..22e9524 100644 --- a/gcc/cppfiles.c +++ b/gcc/cppfiles.c @@ -696,7 +696,7 @@ dir_name_of_file (_cpp_file *file) /* Push an input buffer with the contents of FNAME, the empty string for standard input. Return true if a buffer was stacked. */ bool -cpp_stack_file (cpp_reader *pfile, const char *fname) +_cpp_stack_file (cpp_reader *pfile, const char *fname) { struct cpp_dir *dir = &pfile->no_search_path; diff --git a/gcc/cppinit.c b/gcc/cppinit.c index 4ef7e24..07abea8 100644 --- a/gcc/cppinit.c +++ b/gcc/cppinit.c @@ -170,6 +170,7 @@ cpp_create_reader (enum c_lang lang, hash_table *table) /* Initialize the line map. Start at logical line 1, so we can use a line number of zero for special states. */ linemap_init (&pfile->line_maps); + pfile->line = 1; /* Initialize lexer state. */ pfile->state.save_comments = ! CPP_OPTION (pfile, discard_comments); @@ -434,11 +435,9 @@ cpp_add_dependency_target (cpp_reader *pfile, const char *target, int quote) } /* This is called after options have been parsed, and partially - processed. Setup for processing input from the file named FNAME, - or stdin if it is the empty string. Return the original filename - on success (e.g. foo.i->foo.c), or NULL on failure. */ -const char * -cpp_read_main_file (cpp_reader *pfile, const char *fname) + processed. */ +void +cpp_post_options (cpp_reader *pfile) { sanity_checks (pfile); @@ -447,7 +446,14 @@ cpp_read_main_file (cpp_reader *pfile, const char *fname) /* Mark named operators before handling command line macros. */ if (CPP_OPTION (pfile, cplusplus) && CPP_OPTION (pfile, operator_names)) mark_named_operators (pfile); +} +/* Setup for processing input from the file named FNAME, + or stdin if it is the empty string. Return the original filename + on success (e.g. foo.i->foo.c), or NULL on failure. */ +const char * +cpp_read_main_file (cpp_reader *pfile, const char *fname) +{ if (CPP_OPTION (pfile, deps.style) != DEPS_NONE) { if (!pfile->deps) @@ -457,8 +463,7 @@ cpp_read_main_file (cpp_reader *pfile, const char *fname) deps_add_default_target (pfile->deps, fname); } - pfile->line = 1; - if (!cpp_stack_file (pfile, fname)) + if (! _cpp_stack_file (pfile, fname)) return NULL; /* Set this here so the client can change the option if it wishes, diff --git a/gcc/cpplib.h b/gcc/cpplib.h index 57fc0b1..b6f58a9 100644 --- a/gcc/cpplib.h +++ b/gcc/cpplib.h @@ -533,13 +533,13 @@ extern void cpp_set_callbacks (cpp_reader *, cpp_callbacks *); too. If there was an error opening the file, it returns NULL. */ extern const char *cpp_read_main_file (cpp_reader *, const char *); -/* Stacks a new file. It will return false if there was an error - opening the file. */ -extern bool cpp_stack_file (cpp_reader *, const char *); - /* Set up built-ins like __FILE__. */ extern void cpp_init_builtins (cpp_reader *, int); +/* This is called after options have been parsed, and partially + processed. */ +extern void cpp_post_options (cpp_reader *); + /* Set up translation to the target character set. */ extern void cpp_init_iconv (cpp_reader *); diff --git a/gcc/fix-header.c b/gcc/fix-header.c index 0c55481..0f5f8c0 100644 --- a/gcc/fix-header.c +++ b/gcc/fix-header.c @@ -602,6 +602,7 @@ read_scan_file (char *in_fname, int argc, char **argv) options = cpp_get_options (scan_in); options->inhibit_warnings = 1; options->inhibit_errors = 1; + cpp_post_options (scan_in); if (! cpp_read_main_file (scan_in, in_fname)) exit (FATAL_EXIT_CODE); |