aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/cpp.texi
diff options
context:
space:
mode:
authorNeil Booth <neil@cat.daikokuya.demon.co.uk>2001-07-29 17:27:57 +0000
committerNeil Booth <neil@gcc.gnu.org>2001-07-29 17:27:57 +0000
commit6d18adbc2c00b2919cbf6b59219a2287e6feecd7 (patch)
treeae3bf4ef61f7e71d609b714e200c82e7e441cba2 /gcc/doc/cpp.texi
parent0068fd9637aa304ba7b27d720719bd589a7755ce (diff)
downloadgcc-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.texi13
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: <% %> <: :> %: %:%: