Bug#241255: gcc-3.3: miscompiles loop with bitfield counter
Package: gcc-3.3
Version: 1:3.3.3-5
Severity: normal
this is new in gcc/g++ 3.3.3-5; it worked in 3.3.3-3 (i think, not
sure about the -3 part).
the following minimal test program triggers an endless loop (it should
exit immediately):
--------------------------
#include <stdio.h>
static struct {
int count:4;
} test;
int main()
{
while (test.count--)
puts("the impossible happened");
return 0;
}
--------------------------
if count is no bitfield or if it is an unsigned bitfield, everything
seems fine.
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.4.25
Locale: LANG=C, LC_CTYPE=de_DE
Versions of packages gcc-3.3 depends on:
ii binutils 2.14.90.0.7-6 The GNU assembler, linker and bina
ii cpp-3.3 1:3.3.3-5 The GNU C preprocessor
ii gcc-3.3-base 1:3.3.3-5 The GNU Compiler Collection (base
ii libc6 2.3.2.ds1-11 GNU C Library: Shared libraries an
ii libgcc1 1:3.3.3-5 GCC support library
-- no debconf information
Reply to: