This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/52116] New: pragma GCC diagnostic only acts on some lines


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52116

             Bug #: 52116
           Summary: pragma GCC diagnostic only acts on some lines
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: b.r.longbons@gmail.com


Created attachment 26567
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26567
two and a half testcases

The attachment has two cases, but I think it might be the same bug. The second
case is much easier to understand.

Case 1. Wrapping a warning location in _Pragma("GCC diagnostic ignored
\"-Wshadow\"") does not work (sometimes). This precludes error suppression
during macro expansion. Oddly, it suppresses as expected (mostly) if both are
on the same line. (Although it behaves oddly if one is "warning" and one is
"ignored")

Case 2:
If an error has multiple locations, such as "-Wshadow", it will still be
reported at the original location, if it is suppressed at the new location.

This leads to a confusing, isolated message:
error: shadowed declaration is here [-Werror=shadow]

Tested: Debian GCC 4.6.2-11, GCC trunk r183363


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]