directives.c (lex_macro_node_from_str): New.
libcpp/ * directives.c (lex_macro_node_from_str): New. (cpp_push_definition, cpp_pop_definition): New. * include/cpplib.h (cpp_push_definition, cpp_pop_definition): Declare. gcc/ * c-pragma.c (struct def_pragma_macro_value): New. (struct def_pragma_macro): New. (pushed_macro_table): New. (dpm_hash, dpm_eq): New. (handle_pragma_push_macro, handle_pragma_pop_macro): New. (init_pragma): Install them. * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): New. Co-Authored-By: Kai Tietz <kai.tietz@onevision.com> From-SVN: r123370
This commit is contained in:
parent
6c7ac15dc6
commit
121de39fc0
7 changed files with 259 additions and 0 deletions
|
@ -704,6 +704,9 @@ extern void cpp_assert (cpp_reader *, const char *);
|
|||
extern void cpp_undef (cpp_reader *, const char *);
|
||||
extern void cpp_unassert (cpp_reader *, const char *);
|
||||
|
||||
extern cpp_macro *cpp_push_definition (cpp_reader *, const char *);
|
||||
extern void cpp_pop_definition (cpp_reader *, const char *, cpp_macro *);
|
||||
|
||||
/* Undefine all macros and assertions. */
|
||||
extern void cpp_undef_all (cpp_reader *);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue