FDO usage: -Wcoverage-mismatch should not ignore -Wno-error
Joseph S. Myers
joseph@codesourcery.com
Fri Apr 22 00:06:00 GMT 2011
On Thu, 21 Apr 2011, Xinliang David Li wrote:
> On Thu, Apr 21, 2011 at 12:54 PM, Joseph S. Myers
> <joseph@codesourcery.com> wrote:
> > On Tue, 19 Apr 2011, Xinliang David Li wrote:
> >
> >> 2011-04-18 Neil Vachharajani <nvachhar@gmail.com>
> >>
> >> * flags.c: New flag variable.
> >> * opts.c (common_handle_options): Set flag_werror_set.
> >> * opts-global.c (decode_options): Delay Werror decision
> >> for Wcoverage-mismatch util after options are parsed.
> >
> > This patch is certainly wrong, since common_handle_option must not set any
> > global state, only state pointed to by its arguments.
> >
> > That said, setting -Werror=coverage-mismatch in decode_options at all is
> > bad because decode_options is called when optimize attributes are
> > processed; as-is, a -Wno-error=coverage-mismatch option will be overridden
> > if such attributes are used.
>
> Not sure if I understand the comment on the 'option be overriden' --
> this is not happening with the patch. As long as the the
I am referring to the state before the patch. But in general
decode_options is the wrong place for any once-only initialization.
> > So the right place to set this is probably later, in process_options. And
> > this can check global_options_set.x_warnings_are_errors to see if an
> > explicit -Werror/-Wno-error option was passed.
>
> The problem is that when warning_as_error_requested is 0, there is no
> way to tell if it is the default or it is user has specified
> -Wno-error. Maybe we should not make -Wcoverage-mismatch warnings to
I referred to global_options_set.x_warnings_are_errors, not
warning_as_error_requested.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Gcc-patches
mailing list