aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2007-12-06 18:56:26 +0000
committerTom Tromey <tromey@gcc.gnu.org>2007-12-06 18:56:26 +0000
commit97f6bd406c546b1669a4231a12b62df236af2188 (patch)
treeb934a2743256c5e4e95dea15cdccc9504bf5ed64 /gcc
parent3ef50b629c91af90152fb2f7747c82c6fdd8e581 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/c-opts.c1
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.