From 33d11b9745bad90547e56cf97fa59f57849ebabd Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 4 May 2012 16:38:27 +0000 Subject: [PATCH] Enable -Wunused-local-typedefs when -Wall or -Wunused is on Now that the libstdc++ testsuite is run with -ftrack-macro-location by default, this patch triggers the -Wunused-local-typedefs warning when -Wunused (and -Wall) is turned on. The patch has been reviewed and accepted[1] a while ago, but was waiting for the -ftrack-macro-expansion work to go in first. Bootstrapped and tested again on x86_64-unknown-linux-gnu against trunk. Applied to the mainline. [1]: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00605.html gcc/ * opts.c (finish_options): Activate -Wunused-local-typedefs if -Wunused is activated. * doc/invoke.texi: Update blurb of -Wunused-local-typedefs. From-SVN: r187167 --- gcc/ChangeLog | 7 +++++++ gcc/doc/invoke.texi | 1 + gcc/opts.c | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2e3fa0c05f51..d372a4f13898 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2012-05-04 Dodji Seketeli + + Enable -Wunused-local-typedefs when -Wall or -Wunused is on + * opts.c (finish_options): Activate -Wunused-local-typedefs if + -Wunused is activated. + * doc/invoke.texi: Update blurb of -Wunused-local-typedefs. + 2012-05-04 Andreas Krebbel * config/s390/s390.md (*movmem_short, *clrmem_short) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 5550c71fd214..86698fcaf998 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -3622,6 +3622,7 @@ To suppress this warning use the @samp{unused} attribute @item -Wunused-local-typedefs @r{(C, Objective-C, C++ and Objective-C++ only)} @opindex Wunused-local-typedefs Warn when a typedef locally defined in a function is not used. +This warning is enabled by @option{-Wall}. @item -Wunused-parameter @opindex Wunused-parameter diff --git a/gcc/opts.c b/gcc/opts.c index 22c7590f1bdd..b6c786f950e2 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -835,6 +835,10 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set, if (opts->x_warn_unused_value == -1) opts->x_warn_unused_value = opts->x_warn_unused; + /* Wunused-local-typedefs is enabled by -Wunused or -Wall. */ + if (opts->x_warn_unused_local_typedefs == -1) + opts->x_warn_unused_local_typedefs = opts->x_warn_unused; + /* This replaces set_Wextra. */ if (opts->x_warn_uninitialized == -1) opts->x_warn_uninitialized = opts->x_extra_warnings;