/* The next program is aborted with avr-gcc 4.1.2, 4.2.3, 4.3.0: result of char promotion comes out of CHAR_MIN/MAX. Options: -W -Wall -Os Know to work: 3.3.6, 3.4.6 - good code 4.0.4 - correct, but not the best 4.1.2, 4.2.3, 4.3.0 - without optimization only */
#include <limits.h> void abort (void); void exit (int); void foo (int i) { static int n; if (i < CHAR_MIN || i > CHAR_MAX) abort (); if (++n > 1000) exit (0); } int main () { char c; for (c = 0; ; c++) foo (c); } -- Summary: [avr] result of char promotion comes out of CHAR_MIN/MAX Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dmixm at marine dot febras dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35634