The Cirrus MaverickCrunch code generator has never worked. For example: #include <stdio.h> main() { int i; double d; for (i=3, d=3; i<=5; i++, d++) { printf("%g", d); if (d < 4.0) printf(" lt"; if (d > 4.0) printf(" gt"); if (d <= 4.0) printf(" le"); if (d >= 4.0) printf(" ge"); putchar('\n'); } }
should output 3 lt le 4 le ge 5 gt ge but outputs 3 lt le 4 le ge 5 lt gt le ge There is a set of patches to cleanly fix code generation in EABI environment under http://martinwguy.co.uk/martin/crunch as weel as description of the Maverick's other problems and how they are addressed. -- Summary: ep9312/maverick code generation is broken Product: gcc Version: 4.3.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: martinwguy at yahoo dot it GCC target triplet: arm-linux-gnueabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38692