This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

c/5681: gcc 3.0.3 produces wrong assembler code



>Number:         5681
>Category:       c
>Synopsis:       gcc 3.0.3 produces wrong assembler code
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Wed Feb 13 04:16:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Peter van Hoof
>Release:        3.0.3
>Organization:
Queen's University Belfast
>Environment:
System: Linux archer.pst.qub.ac.uk 2.4.2-2 #1 Sun Apr 8 20:41:30 EDT 2001 i686 unknown
Architecture: i686

	<machine, os, target, libraries (multiple lines)>
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ./configure --prefix=/usr/local/gcc3
>Description:
	The compiler generates wrong assembler code in non-optimized mode,
	but works correctly in optimized mode (-O1, -O2, or -O3).
>How-To-Repeat:

archer.pst.qub.ac.uk> gcc -v -save-temps -ansi -g rtoptdepthinit.c
Reading specs from /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/specs
Configured with: ../gcc-3.0.3/configure --prefix=/usr/local/gcc3
Thread model: single
gcc version 3.0.3
 /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/cpp0 -lang-c -std=c89 -v -D__GNUC__=3 -D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=3 -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ rtoptdepthinit.c rtoptdepthinit.i
GNU CPP version 3.0.3 (cpplib) (i386 Linux/ELF)
ignoring nonexistent directory "/usr/local/gcc3/i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/include
 /usr/include
End of search list.
 /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/cc1 -fpreprocessed rtoptdepthinit.i -quiet -dumpbase rtoptdepthinit.c -ansi -g -ansi -version -o rtoptdepthinit.s
GNU CPP version 3.0.3 (cpplib) (i386 Linux/ELF)
GNU C version 3.0.3 (i686-pc-linux-gnu)
        compiled by GNU C version 3.0.3.
 as --traditional-format -V -Qy -o rtoptdepthinit.o rtoptdepthinit.s
GNU assembler version 2.10.91 (i386-redhat-linux) using BFD version 2.10.91.0.2
 /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/collect2 -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/crtbegin.o -L/usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3 -L/usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/../../.. rtoptdepthinit.o -lgcc -lc -lgcc /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/crtend.o /usr/lib/crtn.o
archer.pst.qub.ac.uk> a.out
2241 3383
3383 3383
a.out: rtoptdepthinit.c:19: RTOptDepthInit: Assertion `StopCalc.iptnu < rfield.nupper-1' failed.
Abort

The correct output would have been:

archer.pst.qub.ac.uk> gcc -O1 -ansi -g rtoptdepthinit.c
archer.pst.qub.ac.uk> a.out
2241 3383
2241 3383

begin 644 rtoptdepthinit.i.bz2
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
=Y=*]ZCOW]T8^^$JL4J+**P/_B[DBG"A(2W$$?0``
`
end

>Fix:
	Apart from using optimized mode, no workaround is known.
>Release-Note:
>Audit-Trail:
>Unformatted:
 SEND-PR: -*- send-pr -*-
 SEND-PR: Lines starting with `SEND-PR' will be removed automatically, as
 SEND-PR: will all comments (text enclosed in `<' and `>').
 SEND-PR: 
 SEND-PR: Please consult the GCC manual if you are not sure how to
 SEND-PR: fill out a problem report.
 SEND-PR: Note that the Synopsis field is mandatory.  The Subject (for
 SEND-PR: the mail) will be made the same as Synopsis unless explicitly
 SEND-PR: changed.
 SEND-PR:
 SEND-PR: Choose from the following categories:
 SEND-PR:
 SEND-PR: bootstrap c++ c debug fortran java libf2c libgcj libobjc libstdc++ middle-end objc optimization other preprocessor target web 
 SEND-PR: 
 SEND-PR:
 To: gcc-gnats@gcc.gnu.org
 Subject: gcc 3.0.3 produces wrong assembler code
 From: p.van-hoof@qub.ac.uk
 Reply-To: p.van-hoof@qub.ac.uk
 Cc: 
 X-send-pr-version: 3.113
 X-GNATS-Notify: 
 
 
 SEND-PR: Leave "Confidential" as "no"; all GCC PRs are public.
 SEND-PR: critical     GCC is completely not operational; no work-around known.
 SEND-PR: serious      GCC is not working properly; a work-around is possible.
 SEND-PR: non-critical Report indicates minor problem.
 SEND-PR: medium       The problem should be solved in the next release.
 SEND-PR: low          The problem should be solve in a future release.
 SEND-PR: doc-bug          The documentation is incorrect.
 SEND-PR: accepts-illegal  GCC fails to reject erroneous code.
 SEND-PR: rejects-legal    GCC gives an error message for correct code.
 SEND-PR: wrong-code       The machine code generated by gcc is incorrect.
 SEND-PR: ice-on-legal-code   GCC gives an Internal Compiler Error (ICE)
 SEND-PR:                     for correct code
 SEND-PR: ice-on-illegal-code GCC gives an ICE instead of reporting an error
 SEND-PR: pessimizes-code     GCC misses an important optimization opportunity
 SEND-PR: sw-bug              Software bug of some other class than above
 SEND-PR: change-request      A feature in GCC is missing.
 SEND-PR: support             I need help with gcc.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]