The following code will warn for line 6 but not for line 5, however, I _think_the type of "a + a + a" is the same as the type of "a + a".
int main() { unsigned char a=0; unsigned int b =0; bool test1 =( b < a + a);//no warning, why bool test2 =( b < a + a + a);//warning if (wtf1 && wtf2) return 1; } -- Summary: Warning missing using -Wall when comparing unsigned int and sum of unsigned chars. Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: brutus at free dot fr http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45464