2000-02-17 Zack Weinberg <zack@wolery.cumb.org>
commit69461e0d90d5ee950b9e0b8ba60d4bbf3299f472
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Jul 2000 00:59:49 +0000 (18 00:59 +0000)
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Jul 2000 00:59:49 +0000 (18 00:59 +0000)
treea8929adb35764d62c4016b482a4cb4b619be00cb
parentc25f946dfdb078a45f04f77f6d2ba17241d27716
2000-02-17  Zack Weinberg  <zack@wolery.cumb.org>

* cpphash.c: Don't include hashtab.h.  Most macro-handling code
moved to cppmacro.c.
(hash_HASHNODE, eq_HASHNODE, _cpp_dump_macro_hash,
dump_hash_helper): Delete.
(expand_hash, higher_prime_number, _cpp_lookup_with_hash,
cpp_forall_identifiers): New. Implement specialized version of
Vlad's expandable hash table.
(cpp_lookup): Use new functions.
(_cpp_init_macros, _cpp_cleanup_macros): Adjust for new
implementation.
* cppmacro.c: New file.
* cppinit.c (dump_macros_helper): New.
(cpp_finish): Iterate over the identifier table directly.
* cpplex.c (parse_name): Calculate the hash of the identifier
while we scan it.  Use _cpp_lookup_with_hash when we can.

* cpphash.h: Update prototypes.
(xcnewvec, HASHSTEP): New helper macros.
* cpplib.h: Update prototypes.
* Makefile.in (LIBCPP_OBJS): Add cppmacro.o.
(cppmacro.o): New rule.
(cpphash.o): Update deps.

* cppmain.c: Do not set pfile->printer if no_output is on.

2000-02-15  Neil Booth  <neilb@earthling.net>

* cpplib.c: Change all directive-handler functions to return
void, not int.
* cpphash.h: Update typedefs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35113 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/Makefile.in
gcc/cpphash.c
gcc/cpphash.h
gcc/cppinit.c
gcc/cpplex.c
gcc/cpplib.c
gcc/cpplib.h
gcc/cppmacro.c [copied from gcc/cpphash.c with 83% similarity]
gcc/cppmain.c