aboutsummaryrefslogtreecommitdiff
path: root/gcc/cppfiles.c
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/cppfiles.c
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/cppfiles.c')
-rw-r--r--gcc/cppfiles.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/cppfiles.c b/gcc/cppfiles.c
index 137882b..cb6ca5e 100644
--- a/gcc/cppfiles.c
+++ b/gcc/cppfiles.c
@@ -332,7 +332,7 @@ stack_include_file (pfile, inc)
fp->sysp = sysp;
/* Initialise controlling macro state. */
- pfile->mi_state = MI_OUTSIDE;
+ pfile->mi_valid = true;
pfile->mi_cmacro = 0;
pfile->include_depth++;
@@ -748,12 +748,12 @@ _cpp_pop_file_buffer (pfile, buf)
pfile->include_depth--;
/* Record the inclusion-preventing macro, which could be NULL
- meaning no controlling macro, if we haven't got it already. */
- if (pfile->mi_state == MI_OUTSIDE && inc->cmacro == NULL)
+ meaning no controlling macro. */
+ if (pfile->mi_valid && inc->cmacro == NULL)
inc->cmacro = pfile->mi_cmacro;
/* Invalidate control macros in the #including file. */
- pfile->mi_state = MI_FAILED;
+ pfile->mi_valid = false;
inc->refcnt--;
if (inc->refcnt == 0 && DO_NOT_REREAD (inc))