https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71613
Bug ID: 71613 Summary: Useful warnings silenced when macros from system headers are used Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: ch3root at openwall dot com Target Milestone: --- Useful warnings seem to be silenced when macros from system headers are used. For example, in the example below a warning would be useful for both enums but only one warning is shown. The same can probably happen for other warnings. Source code: ---------------------------------------------------------------------- #include <limits.h> int main() { enum { e1 = LLONG_MIN }; enum { e2 = +LLONG_MIN }; } ---------------------------------------------------------------------- Results: ---------------------------------------------------------------------- $ gcc -std=c11 -pedantic -Wall -Wextra -O3 test.c && ./a.out test.c: In function ‘main’: test.c:6:15: warning: ISO C restricts enumerator values to range of ‘int’ [-Wpedantic] enum { e2 = +LLONG_MIN }; ^ ---------------------------------------------------------------------- gcc version: gcc (GCC) 7.0.0 20160616 (experimental)