diff options
author | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-29 17:27:57 +0000 |
---|---|---|
committer | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-29 17:27:57 +0000 |
commit | fa233610fcbee7f3e67375962e6effe96c2b19e2 (patch) | |
tree | ae3bf4ef61f7e71d609b714e200c82e7e441cba2 /gcc/doc/cpp.texi | |
parent | 4d1f4307480c700e251e01b4931f8935db4a04cc (diff) | |
download | gcc-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.texi | 13 |
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: <% %> <: :> %: %:%: |