re PR preprocessor/16366 (Preprocessor option -remap causes memory corruption)
2004-07-16 Andris Pavenis <pavenis@latnet.lv> PR preprocessor/16366 * internal.h (struct cpp_reader): New field dir_hash. * files.c (make_cpp_dir): Use dir_hash, not file_hash. (_cpp_init_files, _cpp_cleanup_files): Update for new field. From-SVN: r84821
This commit is contained in:
parent
043fdfc83e
commit
a23ee064e2
|
@ -1,3 +1,10 @@
|
||||||
|
2004-07-16 Andris Pavenis <pavenis@latnet.lv>
|
||||||
|
|
||||||
|
PR preprocessor/16366
|
||||||
|
* internal.h (struct cpp_reader): New field dir_hash.
|
||||||
|
* files.c (make_cpp_dir): Use dir_hash, not file_hash.
|
||||||
|
(_cpp_init_files, _cpp_cleanup_files): Update for new field.
|
||||||
|
|
||||||
2004-07-04 Neil Booth <neil@duron.akihabara.co.uk>
|
2004-07-04 Neil Booth <neil@duron.akihabara.co.uk>
|
||||||
|
|
||||||
PR preprocessor/16192
|
PR preprocessor/16192
|
||||||
|
|
|
@ -884,7 +884,7 @@ make_cpp_dir (cpp_reader *pfile, const char *dir_name, int sysp)
|
||||||
cpp_dir *dir;
|
cpp_dir *dir;
|
||||||
|
|
||||||
hash_slot = (struct file_hash_entry **)
|
hash_slot = (struct file_hash_entry **)
|
||||||
htab_find_slot_with_hash (pfile->file_hash, dir_name,
|
htab_find_slot_with_hash (pfile->dir_hash, dir_name,
|
||||||
htab_hash_string (dir_name),
|
htab_hash_string (dir_name),
|
||||||
INSERT);
|
INSERT);
|
||||||
|
|
||||||
|
@ -984,6 +984,8 @@ _cpp_init_files (cpp_reader *pfile)
|
||||||
{
|
{
|
||||||
pfile->file_hash = htab_create_alloc (127, file_hash_hash, file_hash_eq,
|
pfile->file_hash = htab_create_alloc (127, file_hash_hash, file_hash_eq,
|
||||||
NULL, xcalloc, free);
|
NULL, xcalloc, free);
|
||||||
|
pfile->dir_hash = htab_create_alloc (127, file_hash_hash, file_hash_eq,
|
||||||
|
NULL, xcalloc, free);
|
||||||
allocate_file_hash_entries (pfile);
|
allocate_file_hash_entries (pfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -992,6 +994,7 @@ void
|
||||||
_cpp_cleanup_files (cpp_reader *pfile)
|
_cpp_cleanup_files (cpp_reader *pfile)
|
||||||
{
|
{
|
||||||
htab_delete (pfile->file_hash);
|
htab_delete (pfile->file_hash);
|
||||||
|
htab_delete (pfile->dir_hash);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Enter a file name in the hash for the sake of cpp_included. */
|
/* Enter a file name in the hash for the sake of cpp_included. */
|
||||||
|
|
|
@ -334,6 +334,7 @@ struct cpp_reader
|
||||||
|
|
||||||
/* File and directory hash table. */
|
/* File and directory hash table. */
|
||||||
struct htab *file_hash;
|
struct htab *file_hash;
|
||||||
|
struct htab *dir_hash;
|
||||||
struct file_hash_entry *file_hash_entries;
|
struct file_hash_entry *file_hash_entries;
|
||||||
unsigned int file_hash_entries_allocated, file_hash_entries_used;
|
unsigned int file_hash_entries_allocated, file_hash_entries_used;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue