http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50474
--- Comment #2 from Steffen Schmidt <steffen-schmidt at siemens dot com> 2011-09-26 09:04:33 UTC --- I'm very sorry for the inconvenience, but this bug is not directly related to any CodeSourcery built GCC toolchain. It was a pure coincedence using such a toolchain. I am able to reproduce the effect with toolchain GCC 4.6.0 for MIPS built from source using MinGW: Target: mips-siemens-elf Configured with: ../../gcc-4.6.0/configure --enable-languages=c,c++ --with-arch=mips32r2 -enable-poison-system-directories --enable-interwork --enable-multilib --enable-sgxx-sde-multilibs --with-gcc --with-gnu-ld --with-gnu-as --with-stabs --disable-libmudflap --disable-libssp --disable-shared --disable-threads --disable-libgomp --disable-win32-registry --disable-nls --target=mips-siemens-elf --with-newlib --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --prefix=/build_mips_4.6.0_cloog/cross-gcc/mips-siemens-elf --with-gmp=/build_mips_4.6.0_cloog/host --with-mpfr=/build_mips_4.6.0_cloog/host --with-mpc=/build_mips_4.6.0_cloog/host --with-ppl=/build_mips_4.6.0_cloog/host --with-cloog=/build_mips_4.6.0_cloog/host --with-sysroot=/build_mips_4.6.0_cloog/cross-gcc/mips-siemens-elf Thread model: single gcc version 4.6.0 (GCC) The behaviour seems to be related to the code line if(r != !!r) When replacing the condition with the equivalent if(r != 0 && r != 1) everything seems fine. Is it worth investigating the issue further and re-open it?