http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51806
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2012-01-10 CC| |jsm28 at gcc dot gnu.org AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-01-10 10:03:17 UTC --- Confirmed. It seems that -Werror is a C-family frontend specific option, despite being annotated as 'common'. Only c_common_handle_option has case OPT_Werror: global_dc->warning_as_error_requested = value; break; and thus properly adjusts the diagnostic machinery of the middle-end. But -Werror=... seems to be handled fine (thus, in your case -Werror=uninitialized). That seems inconsistent at least. It looks like the OPT_Werror handling above should move to common_handle_option instead. Joseph?