On 4/4/04 12:33 AM, "joseph speigle" <joe.speigle@jklh.us> wrote: > have you tried adding a volatile keyword to the > > int volatile errno1_set = 0; > int volatile errno2_set = 0; > > that should stop while-loop optimizing for cases where the variable is > modified in a scope the compiler would be ignorant of, and precludes compiler > while-loop optimization. That would then tell you if it was a while loop > optimization problem. That cures the problem on all systems. What needs to be done to get this updated in the tip? > As for me on RH 8.0 > > gcc -v > Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs > Configured with: ../configure --prefix=/usr --mandir=/usr/share/man > --infodir=/usr/share/info --enable-shared --enable-threads=posix > --disable-checking --host=i386-redhat-linux --with-system-zlib > --enable-__cxa_atexit > Thread model: posix > gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7) > > sorry, they all run yes/no/no I don't know what is different, but I've tried it on RH 7.2, RH AS 3.0, and Mac OS X. All hang in an infinite loop with the tip version of thread_test.c, and all work if I add 'volatile' to the definitions of errno1_set and errno2_set. There's still the question of which version of the program is giving the right answers - the 7.4.2 version or the tip version? RH 7.2: [wrp@cherry thread]$ gcc -v Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs gcc version 2.96 20000731 (Red Hat Linux 7.2 2.96-112.7.2) RH AS 3.0: $ gcc -v Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux Thread model: posix gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-24) Mac OS X: % gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1495) Wes ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match