Package: g++-3.0
Version: 1:3.0.4-7
Severity: important

The following bug report owes a lot to John Eaton's work.  I reported a
problem with the octave2.1 package on the ia64 platform to him, the upstream
authors.  Bdale kindly provided an account on ia64 for John. 

There appear to (still) be some issues with g++-3.0 on ia64. Under some
optimisation switches, the executable is built, but segfaults. Under others,
g++-3.-0 dies.

The latter problem is detailed here. I quote from an email by John to
me. Note that the code in question is really part of GNU Octave, a program we
have successfully built hundreds of times on different platforms.


-----------------------------------------------------------------------------
From: "John W. Eaton" <[EMAIL PROTECTED]>
Date: Wed, 24 Apr 2002 13:03:07 -0500
To: Dirk Eddelbuettel <[EMAIL PROTECTED]>
Subject: internal compiler error on ia64

OK, let's start with this one.

Here is the source file (pared down and simplified from what we really
have in lo-mappers.cc):

  #include <complex>

  extern std::complex<double> acosh (const std::complex<double>& x);

  std::complex<double>
  acos (const std::complex<double>& x)
  {
    return (std::real (x)) ? acosh (x) : acosh (x);
  }

Here is the compile command and result:

  g++-3.0 -v -save-temps -c  -g foo-3.cc -o foo-3.o
  Reading specs from /usr/lib/gcc-lib/ia64-linux/3.0.4/specs
  Configured with: ../src/configure -v 
--enable-languages=c,c++,java,f77,proto,objc --prefix=/usr 
--infodir=/share/info --mandir=/share/man --enable-shared --with-gnu-as 
--with-gnu-ld --with-system-zlib --enable-long-long --enable-nls 
--without-included-gettext --disable-checking --enable-threads=posix 
--enable-java-gc=boehm --with-cpp-install-dir=bin --enable-objc-gc ia64-linux
  Thread model: posix
  gcc version 3.0.4
   /usr/lib/gcc-lib/ia64-linux/3.0.4/cpp0 -lang-c++ -D__GNUG__=3 
-D__GXX_DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -v -D__GNUC__=3 
-D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=4 -D__ia64 -D__ia64__ -D__linux 
-D__linux__ -D_LONGLONG -Dlinux -Dunix -D__LP64__ -D__ELF__ -D__ia64 -D__ia64__ 
-D__linux -D__linux__ -D_LONGLONG -D__linux__ -D__unix__ -D__LP64__ -D__ELF__ 
-D__linux -D__unix -Asystem=linux -Acpu=ia64 -Amachine=ia64 -D__NO_INLINE__ 
-D__STDC_HOSTED__=1 -D_GNU_SOURCE -D__LONG_MAX__=9223372036854775807L foo-3.cc 
foo-3.ii
  GNU CPP version 3.0.4 (cpplib) (IA-64) Linux
  #include "..." search starts here:
  #include <...> search starts here:
   /usr/include/g++-v3
   /usr/include/g++-v3/ia64-linux
   /usr/include/g++-v3/backward
   /usr/local/include
   /usr/lib/gcc-lib/ia64-linux/3.0.4/include
   /usr/ia64-linux/include
   /usr/include
  End of search list.
   /usr/lib/gcc-lib/ia64-linux/3.0.4/cc1plus -fpreprocessed foo-3.ii -quiet 
-dumpbase foo-3.cc -g -version -o foo-3.s
  GNU CPP version 3.0.4 (cpplib) (IA-64) Linux
  GNU C++ version 3.0.4 (ia64-linux)
          compiled by GNU C version 3.0.4.
  foo-3.cc: In function `std::complex<double> acos(const 
std::complex<double>&)':
  foo-3.cc:8: Internal compiler error in change_address, at emit-rtl.c:1624
  Please submit a full bug report,
  with preprocessed source if appropriate.
  See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
-----------------------------------------------------------------------------

I have not included the complete source file, which can be downloaded from
       http://www.che.wisc.edu/~jwe/foo-3.ii
 

Dirk 

-- 
Good judgement comes from experience; experience comes from bad judgement. 
                                                            -- Fred Brooks


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]


Reply via email to