From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27050 invoked by alias); 27 May 2002 14:56:08 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 26937 invoked by uid 71); 27 May 2002 14:56:04 -0000 Resent-Date: 27 May 2002 14:56:03 -0000 Resent-Message-ID: <20020527145603.26936.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, benhur@inf.ufsm.br Received:(qmail 24506 invoked by uid 61); 27 May 2002 14:49:04 -0000 Message-Id:<20020527144903.24504.qmail@sources.redhat.com> Date: Mon, 27 May 2002 07:56:00 -0000 From: benhur@inf.ufsm.br Reply-To: benhur@inf.ufsm.br To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: objc/6834: gcc 3.1 wrongly compiles some GNUstep code X-SW-Source: 2002-05/txt/msg00876.txt.bz2 List-Id: >Number: 6834 >Category: objc >Synopsis: gcc 3.1 wrongly compiles some GNUstep code >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Mon May 27 07:56:02 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Benhur Stein >Release: gcc version 3.1 >Organization: >Environment: Linux (gentoo 1a, 2.4.18), Pentium III >Description: This is the code to swap bytes in a 2-byte integer, existing in GNUstep. The generated code converts 0x0456 into 0x0408 instead of 0x5604. The same file, renamed from y.m to y.c generates good code. This used to work in gcc 3.0.4. Without -O2, the code compiles OK. Compiler output: bash-2.05a$ gcc -v -save-temps -O2 y.m Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/specs Configured with: /var/tmp/portage/gcc-3.1-r2/work/gcc-3.1/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share/gcc-3.1 --enable-shared --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --target=i686-pc-linux-gnu --enable-threads=posix --disable-checking --with-local-prefix=/usr/local --with-system-zlib --enable-shared --enable-nls --without-included-gettext Thread model: posix gcc version 3.1 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/cpp0 -lang-objc -v -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ y.m y.mi GNU CPP version 3.1 (cpplib) (i386 Linux/ELF) ignoring nonexistent directory "/usr/i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/include /usr/include End of search list. /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/cc1obj -fpreprocessed y.mi -quiet -dumpbase y.m -O2 -version -o y.s GNU CPP version 3.1 (cpplib) (i386 Linux/ELF) GNU Objective-C version 3.1 (i686-pc-linux-gnu) compiled by GNU C version 3.1. /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../../../i686-pc-linux-gnu/bin/as -V -Qy -o y.o y.s GNU assembler version 2.11.92.0.12.3 (i686-pc-linux-gnu) using BFD version 2.11.92.0.12.3 20011121 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/collect2 -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../../crt1.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/crtbegin.o -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1 -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../.. y.o -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/crtend.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../../crtn.o bash-2.05a$ >How-To-Repeat: gcc -O2 y.mi ./a.out prints 456 408 (0x456 is input and 0x408 is output to the function) mv y.mi y.i gcc -O2 y.i ./a.out prints 456 5604 (the correct output) >Fix: compile without -O2; put a call to a bogus function in the beginning of the GSSwapI16 function. >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="y.mi.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="y.mi.bz2" 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 F3JFOFCQdnZ4qw==