https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71603
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |diagnostic, easyhack Status|UNCONFIRMED |NEW Last reconfirmed| |2016-06-21 CC| |manu at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- We only record the kind of warning, not any variables associated to it: See diagnostic_classify_diagnostic(). This will need changes in: /* Each time a diagnostic's classification is changed with a pragma, we record the change and the location of the change in an array of these structs. */ struct diagnostic_classification_change_t { location_t location; int option; diagnostic_t kind; }; to record the 'arg' and save/restore it. It is not a small change but it looks pretty straight-forward. However, we do not make any attempt to follow the chain of dependencies for a 'pop'. That could be a bit more intricate to accomplish since we only want to restore to the previous state, not reset to the default.