public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/18756] New: Optimize setting causes a double/float comparison to break
@ 2004-12-01 15:09 eda-qa at disemia dot com
  2004-12-01 15:10 ` [Bug c++/18756] " eda-qa at disemia dot com
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: eda-qa at disemia dot com @ 2004-12-01 15:09 UTC (permalink / raw)
  To: gcc-bugs

The code demonstrates a case where the optimizer breaks the correctness of the
code.  That is, without optimization the code works as intended, but with
optimization the code triggers the assertion error.

Reproduce:
Compile code: g++ -O0 dlbcomp.cc
Execute: 
Okay

Compile code: g++ -O3 dlbcomp.cc
Execute:
Okay
a.out: dlbcomp.cc:40: int main(int, char**): Assertion `b == d.scalar()' failed.
Aborted

(Code Attached)

(Sorry, I do not have access to a newer GCC build at this time)

> g++ -v -save-temps -O3 dlbcomp.cc
Reading specs from /usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/specs
Configured with: ../configure --prefix=/usr --libdir=/usr/lib
--with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info
--enable-shared --enable-threads=posix --disable-checking --enable-long-long
--enable-__cxa_atexit --enable-languages=c,c++,ada,f77,objc,java,pascal
--host=i586-mandrake-linux-gnu --with-system-zlib
Thread model: posix
gcc version 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk)
 /usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/cc1plus -E -D__GNUG__=3
-quiet -v -iprefix /usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/
-D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=1 -D_GNU_SOURCE dlbcomp.cc
-O3 dlbcomp.ii
ignoring nonexistent directory "/usr/i586-mandrake-linux-gnu/include"
ignoring nonexistent directory "/usr/i586-mandrake-linux-gnu/include"
ignoring duplicate directory "/usr/include/c++/3.3.1"
ignoring duplicate directory "/usr/include/c++/3.3.1/i586-mandrake-linux-gnu"
ignoring duplicate directory "/usr/include/c++/3.3.1/backward"
ignoring duplicate directory
"/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/c++/3.3.1
 /usr/include/c++/3.3.1/i586-mandrake-linux-gnu
 /usr/include/c++/3.3.1/backward
 /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/include
 /usr/local/include
 /usr/include
End of search list.
 /usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/cc1plus -fpreprocessed
dlbcomp.ii -quiet -dumpbase dlbcomp.cc -auxbase dlbcomp -O3 -version -o dlbcomp.s
GNU C++ version 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk) (i586-mandrake-linux-gnu)
        compiled by GNU C version 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk).
GGC heuristics: --param ggc-min-expand=47 --param ggc-min-heapsize=31972
 as -V -Qy -o dlbcomp.o dlbcomp.s
GNU assembler version 2.14.90.0.5 (i586-mandrake-linux-gnu) using BFD version
2.14.90.0.5 20030722
 /usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/collect2 --eh-frame-hdr
-m elf_i386 -dynamic-linker /lib/ld-linux.so.2
/usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/../../../crt1.o
/usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/../../../crti.o
/usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/crtbegin.o
-L/usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1
-L/usr//bin/../lib/gcc-lib -L/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1
-L/usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/../../..
-L/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/../../.. dlbcomp.o -lstdc++ -lm
-lgcc_s -lgcc -lc -lgcc_s -lgcc
/usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/crtend.o
/usr//bin/../lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/../../../crtn.o

-- 
           Summary: Optimize setting causes a double/float comparison to
                    break
           Product: gcc
           Version: 3.3.1
            Status: UNCONFIRMED
          Severity: critical
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: eda-qa at disemia dot com
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18756


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug c++/18756] Optimize setting causes a double/float comparison to break
  2004-12-01 15:09 [Bug c++/18756] New: Optimize setting causes a double/float comparison to break eda-qa at disemia dot com
@ 2004-12-01 15:10 ` eda-qa at disemia dot com
  2004-12-01 15:12 ` eda-qa at disemia dot com
  2004-12-01 15:12 ` pinskia at gcc dot gnu dot org
  2 siblings, 0 replies; 4+ messages in thread
From: eda-qa at disemia dot com @ 2004-12-01 15:10 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From eda-qa at disemia dot com  2004-12-01 15:10 -------
Created an attachment (id=7649)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7649&action=view)
Non preprocessed file


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18756


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug c++/18756] Optimize setting causes a double/float comparison to break
  2004-12-01 15:09 [Bug c++/18756] New: Optimize setting causes a double/float comparison to break eda-qa at disemia dot com
  2004-12-01 15:10 ` [Bug c++/18756] " eda-qa at disemia dot com
  2004-12-01 15:12 ` eda-qa at disemia dot com
@ 2004-12-01 15:12 ` pinskia at gcc dot gnu dot org
  2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-01 15:12 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-12-01 15:12 -------
Not a bug, just a duplicate of PR 323.

*** This bug has been marked as a duplicate of 323 ***

*** This bug has been marked as a duplicate of 323 ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18756


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug c++/18756] Optimize setting causes a double/float comparison to break
  2004-12-01 15:09 [Bug c++/18756] New: Optimize setting causes a double/float comparison to break eda-qa at disemia dot com
  2004-12-01 15:10 ` [Bug c++/18756] " eda-qa at disemia dot com
@ 2004-12-01 15:12 ` eda-qa at disemia dot com
  2004-12-01 15:12 ` pinskia at gcc dot gnu dot org
  2 siblings, 0 replies; 4+ messages in thread
From: eda-qa at disemia dot com @ 2004-12-01 15:12 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From eda-qa at disemia dot com  2004-12-01 15:12 -------
Created an attachment (id=7650)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7650&action=view)
ii file.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18756


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-12-01 15:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-01 15:09 [Bug c++/18756] New: Optimize setting causes a double/float comparison to break eda-qa at disemia dot com
2004-12-01 15:10 ` [Bug c++/18756] " eda-qa at disemia dot com
2004-12-01 15:12 ` eda-qa at disemia dot com
2004-12-01 15:12 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).