aboutsummaryrefslogtreecommitdiff
path: root/gcc/cppexp.c
diff options
context:
space:
mode:
authorNeil Booth <neil@daikokuya.co.uk>2002-07-23 22:57:49 +0000
committerNeil Booth <neil@gcc.gnu.org>2002-07-23 22:57:49 +0000
commita69cbaac60d73feb37e6c17abd6f84991dc791a0 (patch)
treed7305615fe0d53e288982b583d2c9c637deb2699 /gcc/cppexp.c
parentb841421a28b7e7c616e58cae4b5e36599f288b7f (diff)
downloadgcc-a69cbaac60d73feb37e6c17abd6f84991dc791a0.zip
gcc-a69cbaac60d73feb37e6c17abd6f84991dc791a0.tar.gz
gcc-a69cbaac60d73feb37e6c17abd6f84991dc791a0.tar.bz2
cppexp.c (parse_defined): Mark macro used.
* cppexp.c (parse_defined): Mark macro used. * cpphash.h (struct cpp_macro): New member "used". (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New. (struct cpp_reader): New member. * cppinit.c (cpp_finish_options): Set first_unused_line. (cpp_finish): Warn of unused macros if requested. (OPT_TABLE): New switches. (cpp_handle_option): Handle them. * cpplib.c (do_undef): Warn if macro unused. (do_ifdef, do_ifndef): Mark macro used. * cpplib.h (struct cpp_options): New member. * cppmacro.c (_cpp_warn_if_unused_macro): New. (enter_macro_context): Mark macro used. (_cpp_create_definition): Mark macro unused; warn if unused when redefined. * cpptrad.c (scan_out_logcial_line, push_replacement_text): Mark macros used. * doc/cppopts.texi: Update. testsuite: * gcc.dg/cpp/trad/Wunused.c, gcc.dg/cpp/trad/Wunused.h, gcc.dg/cpp/Wunused.c, gcc.dg/cpp/Wunused.h: New tests. From-SVN: r55692
Diffstat (limited to 'gcc/cppexp.c')
-rw-r--r--gcc/cppexp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cppexp.c b/gcc/cppexp.c
index b66fea9..5690436 100644
--- a/gcc/cppexp.c
+++ b/gcc/cppexp.c
@@ -501,6 +501,8 @@ parse_defined (pfile)
cpp_error (pfile, DL_WARNING,
"this use of \"defined\" may not be portable");
+ _cpp_mark_macro_used (node);
+
/* A possible controlling macro of the form #if !defined ().
_cpp_parse_expr checks there was no other junk on the line. */
pfile->mi_ind_cmacro = node;