This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/12113] New: wrong result for comparison
- From: "eyal at eyal dot emu dot id dot au" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 31 Aug 2003 00:48:58 -0000
- Subject: [Bug c/12113] New: wrong result for comparison
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12113
Summary: wrong result for comparison
Product: gcc
Version: tree-ssa
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: eyal at eyal dot emu dot id dot au
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: 3.5-tree-ssa 20030829 (merged 20030817)
GCC host triplet: i686-pc-linux-gnu
[where can I see the definition of the avove triplet items?]
In the following program, the second printf() should print 'if=1'
but prints 'if=0'.
Compile options "-v -g -O0"
The problem was first seen about a week ago in cvs. Full details in
the run log below.
==================================================
eyal@e7:~$ cat /home/eyal/zz.c
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
static void
test (char *q)
{
printf ("'%c'\n", ((char)((*((char *)(q)+(0+24))) & 0x0ff)));
printf ("if=%d\n", 'I' == ((char)((*((char *)(q)+(0+24))) & 0x0ff)));
}
int main ()
{
char *s = "012345678901234567890123I567890";
test (s);
return (0);
}
==================================================
eyal@e7:~$ uname -a
Linux e7 2.4.22 #1 Tue Aug 26 08:12:56 EST 2003 i686 unknown
==================================================
eyal@e7:~$ /usr/local/gcc-mudflap/bin/i686-pc-linux-gnu-gcc-3.5-tree-ssa -v -g
-O0 -Wall -o /home/eyal/zz /home/eyal/zz.c
Reading specs from
/data2/usr/local/gcc-mudflap-20030829-203101/bin/../lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/specs
Configured with: ../gcc/configure --prefix=/usr/local/gcc-mudflap
--enable-languages=c
Thread model: posix
gcc version 3.5-tree-ssa 20030829 (merged 20030817)
/data2/usr/local/gcc-mudflap-20030829-203101/bin/../libexec/gcc/i686-pc-linux-gnu/3.5-tree-ssa/cc1 -quiet -v -iprefix /data2/usr/local/gcc-mudflap-20030829-203101/bin/../lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/ /home/eyal/zz.c -quiet -dumpbase zz.c -mtune=pentiumpro -auxbase zz -g -O0 -Wall -version -o /tmp/cc1uYL6H.s
ignoring nonexistent directory
"/data2/usr/local/gcc-mudflap-20030829-203101/bin/../lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/../../../../i686-pc-linux-gnu/include"
ignoring duplicate directory
"/usr/local/gcc-mudflap/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/include"
ignoring nonexistent directory
"/usr/local/gcc-mudflap/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/data2/usr/local/gcc-mudflap-20030829-203101/bin/../lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/include
/usr/local/include
/usr/local/gcc-mudflap/include
/usr/include
End of search list.
GNU C version 3.5-tree-ssa 20030829 (merged 20030817) (i686-pc-linux-gnu)
compiled by GNU C version 3.5-tree-ssa 20030829 (merged 20030817).
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64574
as -V -Qy -o /tmp/ccKFH6io.o /tmp/cc1uYL6H.s
GNU assembler version 2.12.90.0.1 (i386-linux) using BFD version 2.12.90.0.1
20020307 Debian/GNU Linux
/data2/usr/local/gcc-mudflap-20030829-203101/bin/../libexec/gcc/i686-pc-linux-gnu/3.5-tree-ssa/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o /home/eyal/zz /usr/lib/crt1.o /usr/lib/crti.o /data2/usr/local/gcc-mudflap-20030829-203101/bin/../lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/crtbegin.o -L/data2/usr/local/gcc-mudflap-20030829-203101/bin/../lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa -L/data2/usr/local/gcc-mudflap-20030829-203101/bin/../lib/gcc -L/usr/local/gcc-mudflap/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa -L/data2/usr/local/gcc-mudflap-20030829-203101/bin/../lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/../../.. -L/usr/local/gcc-mudflap/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/../../.. /tmp/ccKFH6io.o -lgcc -lgcc_eh -lc -lgcc -lgcc_eh /data2/usr/local/gcc-mudflap-20030829-203101/bin/../lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/crtend.o /usr/lib/crtn.o
============================================
eyal@e7:~$ /home/eyal/zz
'I'
if=0
============================================