OSDN Git Service

* cpphash.h (struct definition): Move file, line, col members...
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 23 Apr 2000 17:03:31 +0000 (17:03 +0000)
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 23 Apr 2000 17:03:31 +0000 (17:03 +0000)
commitda2bd80d25bb0abb39d006fe4b7f6285cdbc12a1
treedce0dfebe9bc09562c88a4bc2be4eecd8f6147d6
parent99c7b888d070a31f4a0883bb470ab5cca5892d46
* cpphash.h (struct definition): Move file, line, col members...
(struct hashnode): ... here.  Also add 'disabled' flag.
(enum node_type): Add T_VOID, T_XCONST, T_FMACRO, and
T_IDENTITY.  Remove T_DISABLED.
Update prototypes.

* cpphash.c (_cpp_dump_definition): Split out dump_DEFINITION.
(collect_expansion): Split into collect_objlike_expansion and
collect_funlike_expansion.
(_cpp_macroexpand): Split out scan_arguments, stringify, and
funlike_macroexpand.
(_cpp_compare_defs): Rename compare_defs, make static.
(_cpp_make_hashnode): Initialize hp->disabled.
(macro_cleanup): Adjust for new token types.  Clear
m->disabled.
(_cpp_create_definition): Move code here to determine what
sort of macro it is, and code to check for redefinitions, from
do_define.  Implement a few simple cases without creating a
full DEFINITION.
(_cpp_macroexpand, special_symbol, _cpp_dump_definition):
Handle the simple cases.
(push_macro_expansion): Set buf->has_escapes and hp->disabled
here.

* cppinit.c (builtin_array): Change MCONST to XCONST
everywhere.
* cpplex.c (maybe_macroexpand): Handle IDENTITY macros here;
fix check for disabled and function-like macros.
* cpplib.c (do_define): Move most logic to
_cpp_create_definition.
(do_undef): Handle new special token types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33355 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cpphash.c
gcc/cpphash.h
gcc/cppinit.c
gcc/cpplex.c
gcc/cpplib.c