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 /libcpp/internal.h | |
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 'libcpp/internal.h')
-rw-r--r-- | libcpp/internal.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/libcpp/internal.h b/libcpp/internal.h index 830f07b..6110e5c 100644 --- a/libcpp/internal.h +++ b/libcpp/internal.h @@ -360,8 +360,7 @@ struct cpp_reader /* File and directory hash table. */ struct htab *file_hash; struct htab *dir_hash; - struct file_hash_entry *file_hash_entries; - unsigned int file_hash_entries_allocated, file_hash_entries_used; + struct file_hash_entry_pool *file_hash_entries; /* Negative path lookup hash table. */ struct htab *nonexistent_file_hash; |