OSDN Git Service

* cpplib.c: Include symcat.h. Add 'origin' field to struct
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 1 Apr 2000 22:55:25 +0000 (22:55 +0000)
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 1 Apr 2000 22:55:25 +0000 (22:55 +0000)
commitef33b55ced214e3bdacfc9a65fc57d30921df971
treea3327cb688c6ff2c7d9052ffeb7c1c2b56f14d18
parentac05f7dcfbb95b2ae0f8082f424c9adfada4baed
* cpplib.c: Include symcat.h.  Add 'origin' field to struct
directive.  Add origin values to DIRECTIVE_TABLE.  Generate
the strings and function names on the fly.  Take the #sccs
entry out of the table if SCCS_DIRECTIVE is not defined.
(_cpp_handle_directive): Decide if the # was at the beginning
of the line here.  Issue -pedantic warnings for extended
directives here.  Warn about K+R directives with the #
indented, and C89/extended directives with the # not indented,
here.
(do_import, do_include_next, do_warning, do_ident, do_sccs,
do_assert, do_unassert): Don't issue pedantic warning here.

* cpphash.h: Add CPP_WTRADITIONAL macro.
* cpplib.h (struct cpp_options): Rename warn_stringify to
warn_traditional; update comments.
* cppinit.c (handle_option): Set warn_traditional not
warn_stringify.
* cpphash.c: Replace CPP_OPTION (pfile, warn_stringify) with
CPP_WTRADITIONAL (pfile).
* cpplex.c (_cpp_lex_token): Don't decide if directives should
be ignored in -traditional mode here.

* cpplex.c: Copy ISTABLE macros from cppinit.c, and adapt them
to initialize speccase[] and trigraph_map[].  Delete all
references to pfile->input_speccase.  Always treat '?' as a
special character.  Remove table-initialization code from
_cpp_init_input_buffer.

* cpplib.h (struct cpp_reader): Remove input_speccase field.
* cppinit.c (cpp_cleanup): Don't free input_speccase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32860 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cpphash.c
gcc/cpphash.h
gcc/cppinit.c
gcc/cpplex.c
gcc/cpplib.c
gcc/cpplib.h
gcc/testsuite/gcc.dg/cpp-tradwarn1.c [new file with mode: 0644]