cpplib.c: Include symcat.h.
authorZack Weinberg <zack@wolery.cumb.org>
Sat, 1 Apr 2000 22:55:25 +0000 (22:55 +0000)
committerZack Weinberg <zack@gcc.gnu.org>
Sat, 1 Apr 2000 22:55:25 +0000 (22:55 +0000)
commit07aa0b04f2ef60131900c2ea350d0d78e028acad
treea3327cb688c6ff2c7d9052ffeb7c1c2b56f14d18
parent9f47f030f5a96a83863009b0f7f4e313695bb156
cpplib.c: Include symcat.h.

* 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.

From-SVN: r32860
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]