https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124459

Nathaniel Shead <nshead at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
                 CC|                            |nshead at gcc dot gnu.org
   Last reconfirmed|                            |2026-03-12

--- Comment #2 from Nathaniel Shead <nshead at gcc dot gnu.org> ---
Confirmed.  It looks like the macro expansion locations have all been folded
into the same place, and the check for

          location_t pragloc = p->location;
          if (!linemap_location_before_p (line_table, pragloc, loc))
            continue;

in option_classifier::update_effective_level_from_pragmas passes for both the
pop and the actual pragma, so we think that we've already popped the diagnostic
during instantiation.

Interestingly the way the pragma location gets rendered in the module is 'M:',
i.e. the abstract location for the module itself.  I don't think this is
especially helpful in any case.

Reply via email to