>Submitter-Id: net >Originator: Pavel Machek <[EMAIL PROTECTED]> >Organization: The Debian Project >Confidential: no >Synopsis: >Severity: non-critical >Priority: low >Category: other >Class: accepts-illegal >Release: 3.2.1 (Debian) (Debian unstable) >Environment: System: Debian GNU/Linux (unstable) Architecture: i686 host: i386-linux Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,proto,pascal,objc,ada --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.2 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-java-gc=boehm --enable-objc-gc i386-linux Thread model: posix gcc version 3.2.2 20021212 (Debian prerelease) >Description: [ Reported to the Debian BTS as report #133574. Please CC [EMAIL PROTECTED] on replies. Log of report can be found at http://bugs.debian.org/133574 ]
The following buggy code is exceeding a compiler limit, thus the code behaves undefined. There is a bug in the compiler also: the compiler should diagnose that you exceed the limit, but there is no reasonable way you could expect this code to work on the microprocessor you are using (and with the operating system you are using). #define MAXLEN 20 #define MAXTAG 10 double speedup[MAXLEN][MAXLEN][MAXLEN][MAXLEN][MAXTAG][MAXTAG][MAXTAG]; void init_speedup(void) { int i, j, k, l, o, m, n; for (i=0; i<MAXLEN; i++) for (j=0; j<MAXLEN; j++) for (k=0; k<MAXLEN; k++) for (l=0; l<MAXLEN; l++) for (o=0; o<MAXTAG; o++) for (m=0; m<MAXTAG; m++) for (n=0; n<MAXTAG; n++) speedup[i][j][k][l][o][m][n] = -1.0; } int main(void) { init_speedup(); return 0; } >How-To-Repeat: >Fix: