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.