aboutsummaryrefslogtreecommitdiff
path: root/libcpp/internal.h
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2004-09-09 19:16:56 +0000
committerZack Weinberg <zack@gcc.gnu.org>2004-09-09 19:16:56 +0000
commit21b11495d75df8fd0e5b23f0176f6aa676875055 (patch)
treee54413e76af5e0dcfeb68d4c3f3c4ea1d44ceec0 /libcpp/internal.h
parentb49ce401c20c43ae693407fdd9218fdb2e576d4f (diff)
downloadgcc-21b11495d75df8fd0e5b23f0176f6aa676875055.zip
gcc-21b11495d75df8fd0e5b23f0176f6aa676875055.tar.gz
gcc-21b11495d75df8fd0e5b23f0176f6aa676875055.tar.bz2
cpplib.h (TTYPE_TABLE): Remove CPP_ and SPELL_ prefixes throughout.
2004-09-09 Matt Austern <austern@apple.com> Zack Weinberg <zack@codesourcery.com> * include/cpplib.h (TTYPE_TABLE): Remove CPP_ and SPELL_ prefixes throughout. Add entry for PRAGMA. Remove unnecessary "= 0" from EQ. (enum cpp_ttype): Adjust OP and TK definitions to restore prefixes, via token-paste. (CPP_LAST_EQ, CPP_FIRST_DIGRAPH, CPP_LAST_PUNCTUATOR, CPP_LAST_CPP_OP): Change from #defines to additional cpp_ttype enumerators. (struct cpp_options): Add defer_pragmas. (cpp_handle_deferred_pragma): Prototype new interface. * internal.h (struct cpp_reader): Add directive_result. * directives.c (struct pragma_entry): Add is_internal field; give boolean fields type bool. (start_directive): Initialize pfile->directive_result.type. (_cpp_do__Pragma): Likewise. (run_directive): Do not crash if pfile->buffer->prev is NULL. (insert_pragma_entry): Add 'internal' argument; set new->is_internal from it. (register_pragma): New static function, bulk of former cpp_register_pragma here; add 'internal' argument, pass along to insert_pragma_entry. (cpp_register_pragma): Now a wrapper around register_pragma which always passes false for 'internal' argument. (_cpp_init_internal_pragmas): Call register_pragma directly, passing true for 'internal'. (do_pragma): If CPP_OPTION (pfile, defer_pragmas) and this isn't an internal pragma, save text till the end of the line as a CPP_PRAGMA token instead of executing the pragma. (cpp_handle_deferred_pragma): New interface. * lex.c (token_spellings): Adjust OP and TK definitions to match changes to cpplib.h. (_cpp_lex_token): Check for a directive-result token and return it if present. (cpp_token_val_index): Handle CPP_PRAGMA. * macro.c (cpp_builtin_macro_text): Correct comment. (builtin_macro): Handle directive-result tokens from _cpp_do__Pragma. From-SVN: r87247
Diffstat (limited to 'libcpp/internal.h')
-rw-r--r--libcpp/internal.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/libcpp/internal.h b/libcpp/internal.h
index 53b02f8..dc1e8fb 100644
--- a/libcpp/internal.h
+++ b/libcpp/internal.h
@@ -322,6 +322,9 @@ struct cpp_reader
/* If in_directive, the directive if known. */
const struct directive *directive;
+ /* Token generated while handling a directive, if any. */
+ cpp_token directive_result;
+
/* Search paths for include files. */
struct cpp_dir *quote_include; /* "" */
struct cpp_dir *bracket_include; /* <> */