g++ -v -save-temps -fPIC -I/u01/hsm/local/include/c++/3.2 -c -g -I. -I/opt/local/share/include -I/opt/local/share/include -L/opt/local/share/lib -I/u01/hsm/apps/petsc/petsc-2.1.3 -I/u01/hsm/apps/petsc/petsc-2.1.3/bmake/linux -I/u01/hsm/apps/petsc/petsc-2.1.3/include -I/u01/hsm/apps/petsc/petsc-2.1.3/src/sys/src/mpiuni -DPETSC_HAVE_X11 -DPETSC_USE_DEBUG -DPETSC_USE_LOG -DPETSC_USE_BOPT_g -DPETSC_USE_STACK -D__SDIR__="" Cell.cc > & error.txt Reading specs from /u01/hsm/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/specs Configured with: /u01/hsm/apps/gcc_3.2_source/gcc-3.2/configure --prefix=/u01/hsm/local Thread model: posix gcc version 3.2 /u01/hsm/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/cpp0 -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -v -I/u01/hsm/local/include/c++/3.2 -I. -I/opt/local/share/include -I/opt/local/share/include -I/u01/hsm/apps/petsc/petsc-2.1.3 -I/u01/hsm/apps/petsc/petsc-2.1.3/bmake/linux -I/u01/hsm/apps/petsc/petsc-2.1.3/include -I/u01/hsm/apps/petsc/petsc-2.1.3/src/sys/src/mpiuni -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__GXX_ABI_VERSION=102 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_GNU_SOURCE -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ -D__PIC__ -D__pic__ -DPETSC_HAVE_X11 -DPETSC_USE_DEBUG -DPETSC_USE_LOG -DPETSC_USE_BOPT_g -DPETSC_USE_STACK -D__SDIR__= Cell.cc Cell.ii GNU CPP version 3.2 (cpplib) (i386 Linux/ELF) ignoring nonexistent directory "/u01/hsm/local/i686-pc-linux-gnu/include" ignoring duplicate directory "/opt/local/share/include" cpp0: warning: changing search order for system directory "/u01/hsm/local/include/c++/3.2" cpp0: warning: as it has already been specified as a non-system directory ignoring duplicate directory "/u01/hsm/local/include/c++/3.2" #include "..." search starts here: #include <...> search starts here: /u01/hsm/local/include/c++/3.2 . /opt/local/share/include /u01/hsm/apps/petsc/petsc-2.1.3 /u01/hsm/apps/petsc/petsc-2.1.3/bmake/linux /u01/hsm/apps/petsc/petsc-2.1.3/include /u01/hsm/apps/petsc/petsc-2.1.3/src/sys/src/mpiuni /u01/hsm/local/include/c++/3.2/i686-pc-linux-gnu /u01/hsm/local/include/c++/3.2/backward /usr/local/include /u01/hsm/local/include /u01/hsm/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include /usr/include End of search list. /u01/hsm/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/cc1plus -fpreprocessed Cell.ii -quiet -dumpbase Cell.cc -g -version -fPIC -o Cell.s GNU CPP version 3.2 (cpplib) (i386 Linux/ELF) GNU C++ version 3.2 (i686-pc-linux-gnu) compiled by GNU C version 3.2. Cell.cc: In member function `Point2D Cell::OLVector() const': Cell.cc:100: Internal compiler error in resolve_offset_ref, at cp/init.c:1886 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions. Release: 3.2 Environment: System: Linux linuxserv1 2.4.7-10smp #1 SMP Thu Sep 6 17:09:31 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: /u01/hsm/apps/gcc_3.2_source/gcc-3.2/configure --prefix=/u01/hsm/local
Responsible-Changed-From-To: unassigned->gdr Responsible-Changed-Why: Mine.
State-Changed-From-To: open->closed State-Changed-Why: Fixed in GCC-3.3
From: Gabriel Dos Reis <gdr@integrable-solutions.net> To: Reichelt <reichelt@igpm.rwth-aachen.de> Cc: gcc-gnats@gcc.gnu.org, dwelter@sfwmd.gov, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org Subject: Re: c++/7737: g++ ver 3.2 Internal Compiler Error Date: 28 Aug 2002 15:04:40 +0200 Reichelt <reichelt@igpm.rwth-aachen.de> writes: | Hi, | | the problem can be demonstrated with the following code snippet: | | -----------------------------snip here---------------------------- | struct A { void foo(); }; | void bar () { &(A::foo); } | -----------------------------snip here---------------------------- You're right, I fixed this very bug a while ago (but it didn't make it into 3.2). -- Gaby
From: Reichelt <reichelt@igpm.rwth-aachen.de> To: gcc-gnats@gcc.gnu.org, dwelter@sfwmd.gov, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org Cc: Subject: Re: c++/7737: g++ ver 3.2 Internal Compiler Error Date: Wed, 28 Aug 2002 15:21:50 +0200 Hi, the problem can be demonstrated with the following code snippet: -----------------------------snip here---------------------------- struct A { void foo(); }; void bar () { &(A::foo); } -----------------------------snip here---------------------------- which is in fact illegal code. One should write "&A::foo" instead of "&(A::foo)". In the original code you have to replace "&(Wall::...Flow)" by "&Wall::...Flow" in the functions "Cell::OLVector()", "Cell::GWVector()" and "Cell::TotalVector()" to make things compile. The failures of gcc with the code snippet are quite interesting: * With gcc 2.95.x the code compiles using "g++ -c" (even with "-pedantic" turned on), which is wrong. * With gcc 3.0.x I get the error message PR7737.cc: In function `void bar()': PR7737.cc:2: warning: statement cannot resolve address of overloaded function which is bogus * With 3.1 and 3.2 I get an ICE: PR7737.cc: In function `void bar()': PR7737.cc:2: Internal compiler error in resolve_offset_ref, at cp/init.c:1886 However with the main trunk (gcc 3.3 20020816) I get the right diagnostic: PR7737.cc: In function `void bar()': PR7737.cc:2: error: parenthesis around 'A::foo()' cannot be used to form a pointer-to-member-function Greetings, Volker Reichelt http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7737
*** Bug 11294 has been marked as a duplicate of this bug. ***