diff options
author | Neil Booth <neil@cat.daikokuya.demon.co.uk> | 2001-07-29 17:27:57 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2001-07-29 17:27:57 +0000 |
commit | 6d18adbc2c00b2919cbf6b59219a2287e6feecd7 (patch) | |
tree | ae3bf4ef61f7e71d609b714e200c82e7e441cba2 /gcc/doc/cpp.texi | |
parent | 0068fd9637aa304ba7b27d720719bd589a7755ce (diff) | |
download | gcc-6d18adbc2c00b2919cbf6b59219a2287e6feecd7.zip gcc-6d18adbc2c00b2919cbf6b59219a2287e6feecd7.tar.gz gcc-6d18adbc2c00b2919cbf6b59219a2287e6feecd7.tar.bz2 |
cppexp.c (parse_defined): Always record the macro name.
* cppexp.c (parse_defined): Always record the macro name.
(lex): Don't worry about identifiers, or special-case
CPP_NOT here.
(_cpp_parse_expr): Figure out at the end of the routine
whether we saw a valid !defined() expression.
* cppfiles.c (stack_include_file): Update for mi_valid.
(_cpp_pop_file_buffer): Similarly.
* cpplex.c (_cpp_lex_token): Similarly.
* cpphash.h (enum mi_state, enum mi_ind, mi_state,
mi_if_not_defined, mi_lexed): Remove.
(mi_valid): New.
* cpplib.c (do_if): Simplify.
(do_endif, push_conditional, _cpp_handle_directive): Update
for renaming of mi_state to mi_valid.
* cpp.texi: Add index entries for digraphs, and add comment
that C++ refers to them as alternative tokens.
From-SVN: r44459
Diffstat (limited to 'gcc/doc/cpp.texi')
-rw-r--r-- | gcc/doc/cpp.texi | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi index 47ec9cd..319f735 100644 --- a/gcc/doc/cpp.texi +++ b/gcc/doc/cpp.texi @@ -536,15 +536,18 @@ be removed in GCC 3.1. You may use continued lines instead, or string constant concatenation. @xref{Differences from previous versions}. @cindex punctuators +@cindex digraphs +@cindex alternative tokens @dfn{Punctuators} are all the usual bits of punctuation which are meaningful to C and C++. All but three of the punctuation characters in ASCII are C punctuators. The exceptions are @samp{@@}, @samp{$}, and @samp{`}. In addition, all the two- and three-character operators are -punctuators. There are also six @dfn{digraphs}, which are merely -alternate ways to spell other punctuators. This is a second attempt to -work around missing punctuation in obsolete systems. It has no negative -side effects, unlike trigraphs, but does not cover as much ground. The -digraphs and their corresponding normal punctuators are: +punctuators. There are also six @dfn{digraphs}, which the C++ standard +calls @dfn{alternative tokens}, which are merely alternate ways to spell +other punctuators. This is a second attempt to work around missing +punctuation in obsolete systems. It has no negative side effects, +unlike trigraphs, but does not cover as much ground. The digraphs and +their corresponding normal punctuators are: @example Digraph: <% %> <: :> %: %:%: |