[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: