On Thu, 21 Apr 2011, Xinliang David Li wrote:

> On Thu, Apr 21, 2011 at 12:54 PM, Joseph S. Myers
> <jos...@codesourcery.com> wrote:
> > On Tue, 19 Apr 2011, Xinliang David Li wrote:
> >
> >> 2011-04-18  Neil Vachharajani  <nvach...@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
jos...@codesourcery.com

Reply via email to