www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/11/05/12:46:58

From: Davin Pearson <d DOT pearson AT EXT DOT canterbury DOT ac DOT nz>
Newsgroups: comp.os.msdos.djgpp
Subject: G++ can't optimise my code!
Date: Thu, 06 Nov 1997 02:29:44 +1200
Organization: University of Canterbury
Lines: 183
Message-ID: <346082D8.2AE3@EXT.canterbury.ac.nz>
Reply-To: d DOT pearson AT EXT DOT canterbury DOT ac DOT nz
NNTP-Posting-Host: exti141.tacacs.canterbury.ac.nz
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

This is a multi-part message in MIME format.

--------------6E35738A5B58
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I find it hard to believe that very many people seriously
use G++.  On many occaisons it has barked something like this:

cd ~/skid/
make run CCOPT=-O2
gcc -c -O2  main.cc -o main.o
axle.h: In method `void Car::evolve()':
In file included from main.cc:8:
axle.h:273: Internal compiler error.
axle.h:273: Please submit a full bug report to
`bug-g++@prep.ai.mit.edu'.
make.exe: *** [main.o] Error 1

Having just read the DJGPP FAQ on this problem, I can report having no
joy with -fno-strength-reduce, and "gcc -v" says version 2.7.2.

I have submitted a similar bug report in the past (Having tracked down
that bug to a particular construct), only to receive no
acknowledgement of my bug report!  It therefore seems that "Internal
compiler error" is a dead-end when it comes to using G++.  (The only
alternative I can think of is to try to re-work the code to avoid the
bug).

My present code was compiling fine, until I decided to try some
optimisation.  The result was the crash described above.

If only the optimisation-part of G++ is buggy, then perhaps I could
use a free-ware/gnu-ware C++ to C convertor and use the output of that
to feed into the (hopefully bugfree) GNU C compiler.  Does anyone know
of a such a program?  It would be a sad day indeed that I had to
recode in C, as I am making extensive use of operator overloading
(Allegro's fix class, and my own class for 2-dimensional vectors).


Why is G++ so bad?  Is it C++'s fault or something?  I assume that Gcc
is a lot less buggy since I have compiled some large projects with it.

Does anyone have experiences of "internal compiler errors" with
commercial C++ compilers?


Davin.

I am including my sources, so that someone else can try compiling on
another machine...  To build, type: "make".  To attempt to optimise,
type "make CCOPT=-O2" or whatever.


-- 
-------------
Davin Pearson

--------------6E35738A5B58
Content-Type: application/x-zip-compressed; name="Sk971105.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="Sk971105.zip"

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
--------------6E35738A5B58--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019