That will work. Revised patch coming up. Thanks,
David On Thu, Apr 21, 2011 at 3:59 PM, Joseph S. Myers <jos...@codesourcery.com> wrote: > 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