summaryrefslogtreecommitdiff
path: root/gcc/doc/cpp.texi
diff options
context:
space:
mode:
authorneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-29 17:27:57 +0000
committerneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-29 17:27:57 +0000
commitfa233610fcbee7f3e67375962e6effe96c2b19e2 (patch)
treeae3bf4ef61f7e71d609b714e200c82e7e441cba2 /gcc/doc/cpp.texi
parent4d1f4307480c700e251e01b4931f8935db4a04cc (diff)
downloadgcc-fa233610fcbee7f3e67375962e6effe96c2b19e2.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44459 138bc75d-0d04-0410-961f-82ee72b054a4
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 47ec9cde9d8..319f73510d8 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: <% %> <: :> %: %:%: