https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83425
Bug ID: 83425 Summary: No warning about assignment int to unsigned Product: gcc Version: 7.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: Hi-Angel at yandex dot ru Target Milestone: --- Steps to reproduce: $ cat test.cpp int ret_int() { return -1; } int main() { unsigned foo = ret_int(); (void)foo; // suppress unused variable warning } $ g++ test.cpp -o a -Wall -Wextra -Wpedantic $ It does have a real-world significance, I actually found it because the like mistake introduced a bug for me, code like: [snip] uint bytes = purple_ssl_read(ssl, &buf[0], toread); if (bytes <= 0) { [snip]