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.

Reply via email to