diff options
author | Tom Tromey <tromey@redhat.com> | 2007-12-06 18:56:26 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2007-12-06 18:56:26 +0000 |
commit | 97f6bd406c546b1669a4231a12b62df236af2188 (patch) | |
tree | b934a2743256c5e4e95dea15cdccc9504bf5ed64 /gcc | |
parent | 3ef50b629c91af90152fb2f7747c82c6fdd8e581 (diff) | |
download | gcc-97f6bd406c546b1669a4231a12b62df236af2188.zip gcc-97f6bd406c546b1669a4231a12b62df236af2188.tar.gz gcc-97f6bd406c546b1669a4231a12b62df236af2188.tar.bz2 |
re PR c/29172 (--combine can't handle #pragma once)
gcc
PR c/29172:
* c-opts.c (c_common_parse_file): Call cpp_clear_file_cache.
libcpp
PR c/29172:
* internal.h (struct cpp_reader) <file_hash_entries>: Changed
type.
<file_hash_entries_allocated, file_hash_entries_used>: Removed.
* files.c (FILE_HASH_POOL_SIZE): New macro.
(struct file_hash_entry_pool): New.
(destroy_all_cpp_files): New function.
(allocate_file_hash_entries): Allocate a file_hash_entry_pool.
(new_file_hash_entry): Update.
(free_file_hash_entries): New function.
(_cpp_cleanup_files): Call free_file_hash_entries and
destroy_all_cpp_files.
(cpp_clear_file_cache): New function.
* include/cpplib.h (cpp_clear_file_cache): Declare.
From-SVN: r130656
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-opts.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1aec140..5af2db9c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-12-06 Tom Tromey <tromey@redhat.com> + + PR c/29172: + * c-opts.c (c_common_parse_file): Call cpp_clear_file_cache. + 2007-12-06 Richard Sandiford <rsandifo@nildram.co.uk> * config/mips/mips.c (mips_function_ok_for_sibcall): Check diff --git a/gcc/c-opts.c b/gcc/c-opts.c index 16710b6..a5c2270 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -1281,6 +1281,7 @@ c_common_parse_file (int set_yydebug) if (++i >= num_in_fnames) break; cpp_undef_all (parse_in); + cpp_clear_file_cache (parse_in); this_input_filename = cpp_read_main_file (parse_in, in_fnames[i]); /* If an input file is missing, abandon further compilation. |