OSDN Git Service

gcc:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 2 Apr 2008 19:42:53 +0000 (19:42 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 2 Apr 2008 19:42:53 +0000 (19:42 +0000)
commit34c3de48578a737fce63c51b7a6f63db5c7d43ab
treef70286f28df6c1a7f1cb8695448540d74ba1f396
parent483108791801d42d879b6aa23b1954e1f692d372
gcc:
* doc/cppopts.texi (-dU): Document.
* c-common.h (flag_dump_macros): Update comment.
* c-opts.c (handle_OPT_d): Handle -dU.
* c-ppoutput.c (macro_queue, define_queue, undef_queue,
dump_queued_macros, cb_used_define, cb_used_undef): New.
(init_pp_output): Handle -dU.
(cb_line_change): Call dump_queued_macros.
* toplev.c (decode_d_option): Accept -dU as preprocessor option.

gcc/testsuite:
* gcc.dg/cpp/cmdlne-dU-1.c, gcc.dg/cpp/cmdlne-dU-2.c,
gcc.dg/cpp/cmdlne-dU-3.c, gcc.dg/cpp/cmdlne-dU-4.c,
gcc.dg/cpp/cmdlne-dU-5.c, gcc.dg/cpp/cmdlne-dU-6.c,
gcc.dg/cpp/cmdlne-dU-7.c, gcc.dg/cpp/cmdlne-dU-8.c,
gcc.dg/cpp/cmdlne-dU-9.c, gcc.dg/cpp/cmdlne-dU-10.c,
gcc.dg/cpp/cmdlne-dU-11.c, gcc.dg/cpp/cmdlne-dU-12.c,
gcc.dg/cpp/cmdlne-dU-13.c, gcc.dg/cpp/cmdlne-dU-14.c,
gcc.dg/cpp/cmdlne-dU-15.c, gcc.dg/cpp/cmdlne-dU-16.c,
gcc.dg/cpp/cmdlne-dU-17.c, gcc.dg/cpp/cmdlne-dU-18.c,
gcc.dg/cpp/cmdlne-dU-19.c, gcc.dg/cpp/cmdlne-dU-20.c,
gcc.dg/cpp/cmdlne-dU-21.c, gcc.dg/cpp/cmdlne-dU-22.c: New tests.

libcpp:
* include/cpplib.h (struct cpp_callbacks): Add used_define,
used_undef and before_define.
(NODE_USED): Define.
* directives.c (do_define, do_undef, undefine_macros, do_ifdef,
do_ifndef, cpp_pop_definition): Handle new flag and use new
callbacks.
* expr.c (parse_defined): Handle new flag and use new callbacks.
* macro.c (enter_macro_context, _cpp_free_definition): Handle new
flag and use new callbacks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133847 138bc75d-0d04-0410-961f-82ee72b054a4
34 files changed:
gcc/ChangeLog
gcc/c-common.h
gcc/c-opts.c
gcc/c-ppoutput.c
gcc/doc/cppopts.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-10.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-11.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-12.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-13.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-14.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-15.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-16.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-17.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-18.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-19.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-20.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-21.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-22.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-5.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-6.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-8.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/cmdlne-dU-9.c [new file with mode: 0644]
gcc/toplev.c
libcpp/ChangeLog
libcpp/directives.c
libcpp/expr.c
libcpp/include/cpplib.h
libcpp/macro.c