ChangeLog for libcpp
authorktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Nov 2009 18:37:19 +0000 (18:37 +0000)
committerktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Nov 2009 18:37:19 +0000 (18:37 +0000)
commit038c21f1c13e32ff37f03d9e0704e4e83fdee166
treee54ead3691775dbb1e9d31588966d79cac024672
parent2dc819f38079d8edd542d89aa14d9831f2086e5e
ChangeLog for libcpp

2009-11-11  Kai Tietz  <kai.tietz@onevision.com>

* directives.c (do_pragma_push_macro): New pragma handler.
(do_pragma_pop_macro): Likewise.
(_cpp_init_internal_pragmas): Add push_macro and
pop_macro handler to internal pragmas.
(lex_macro_node_from_str): Removed.
(cpp_push_definition): Replace lex_macro_node_from_str
by _cpp_lex_identifier.
(cpp_pop_definition): Likewise.
* internal.h (_cpp_lex_identifier): New prototype.
(def_pragma_macro): New structure.
(cpp_reader): New member pushed_macros.
* lex.c (_cpp_lex_identifier): New function.
(lex_identifier_intern): New function.
* init.c (cpp_create_reader): Initialize pushed_macros
member.
(cpp_destroy): Free elements in pushed_macros member.
* pch.c (_cpp_save_pushed_macros): New function.
(_cpp_restore_pushed_macros): Likewise.
(_cpp_restore_pushed_macros): Use _cpp_save_pushed_macros.
(cpp_read_state): Use _cpp_restore_pushed_macros.

ChangeLog for gcc

2009-11-11  Kai Tietz  <kai.tietz@onevision.com>

* config/i386/cygming.h (HANDLE_PRAGMA_PUSH_POP_MACRO):
Removed.
* c-pragma.c (def_pragma_macro_value): Likewise.
(def_pragma_macro): Likewise.
(pushed_macro_table): Likewise.
(HANDLE_PRAGMA_PUSH_POP_MACRO): Remove guarded
code.
* doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO):
Removed.

ChangeLog for gcc/testsuite

2009-11-11  Kai Tietz  <kai.tietz@onevision.com>

* g++.dg/torture/pushpop_macro.C: New testcase.
* gcc.c-torture/execute/pushpop_macro.c: New testcase.
* gcc.dg/cpp/pragma-pop_macro-1.c: Allow test for all
targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154098 138bc75d-0d04-0410-961f-82ee72b054a4
16 files changed:
gcc/ChangeLog
gcc/c-pragma.c
gcc/config/i386/cygming.h
gcc/doc/tm.texi
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pushpop_macro.C [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/pushpop_macro.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/pragma-pop_macro-1.c
gcc/testsuite/gcc.dg/pch/pushpop-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pch/pushpop-1.hs [new file with mode: 0644]
libcpp/ChangeLog
libcpp/directives.c
libcpp/init.c
libcpp/internal.h
libcpp/lex.c
libcpp/pch.c