[Bug c++/77299] [9/10/11/12 Regression] No warning for unused "INT64_MAX" and similar constants due macro tracking from system headers

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 22 09:58:01 GMT 2021


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

--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
This has regression repeatedly.

GCC 5 warned about all the unused statements:

unused.C: In function 'int main()':
unused.C:5:12: warning: statement has no effect [-Wunused-value]
   INT64_MIN; // no warning
            ^
unused.C:6:12: warning: statement has no effect [-Wunused-value]
   INT64_MIN; // no warning
            ^
unused.C:7:12: warning: statement has no effect [-Wunused-value]
   INT64_MAX; // -Wunused-value
            ^
unused.C:8:12: warning: statement has no effect [-Wunused-value]
   INT64_MAX; // -Wunused-value
            ^
unused.C:9:4: warning: statement has no effect [-Wunused-value]
   1; // -Wunused-value
    ^
unused.C:10:4: warning: statement has no effect [-Wunused-value]
   0; // -Wunused-value
    ^
unused.C:11:16: warning: statement has no effect [-Wunused-value]
   INT64_MIN + 0; // -Wunused-value
                ^

GCC 6 lost the first two warnings:

unused.C: In function 'int main()':
unused.C:7:12: warning: statement has no effect [-Wunused-value]
   INT64_MAX; // -Wunused-value
            ^
unused.C:8:12: warning: statement has no effect [-Wunused-value]
   INT64_MAX; // -Wunused-value
            ^
unused.C:9:4: warning: statement has no effect [-Wunused-value]
   1; // -Wunused-value
    ^
unused.C:10:4: warning: statement has no effect [-Wunused-value]
   0; // -Wunused-value
    ^
unused.C:11:13: warning: statement has no effect [-Wunused-value]
   INT64_MIN + 0; // -Wunused-value
             ^

Then GCC 9 lost the next two:

unused.C: In function 'int main()':
unused.C:9:3: warning: statement has no effect [-Wunused-value]
    9 |   1; // -Wunused-value
      |   ^
unused.C:10:3: warning: statement has no effect [-Wunused-value]
   10 |   0; // -Wunused-value
      |   ^
unused.C:11:13: warning: statement has no effect [-Wunused-value]
   11 |   INT64_MIN + 0; // -Wunused-value
      |             ^


More information about the Gcc-bugs mailing list