This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
ICE - in `scan_region', at except.c:2603
- To: gcc-bugs at gcc dot gnu dot org
- Subject: ICE - in `scan_region', at except.c:2603
- From: Loring Holden <lsh at cs dot brown dot edu>
- Date: Thu, 23 Sep 1999 18:13:11 -0400 (EDT)
- Cc: lsh at cs dot brown dot edu
I'm getting an ICE when compiling the following test case from CVS sources
(as of 3:02 pm EDT, Sep. 23).
output of "g++ -c -v str_ptr.C":
Reading specs from /u/lsh/space/apps/egcs/lib/gcc-lib/sparc-sun-solaris2.7/2.96/specs
gcc version 2.96 19990922 (experimental)
/u/lsh/space/apps/egcs/lib/gcc-lib/sparc-sun-solaris2.7/2.96/cpp -lang-c++ -v -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR__=96 -D__cplusplus -Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4 -D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__sparc -D__sun -D__unix -Asystem(unix) -Asystem(svr4) -D__EXCEPTIONS -D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) str_ptr.C /var/tmp/ccragPyX.ii
GNU CPP version 2.96 19990922 (experimental) (sparc)
#include "..." search starts here:
#include <...> search starts here:
/u/lsh/space/apps/egcs/lib/gcc-lib/sparc-sun-solaris2.7/2.96/../../../../include/g++-3
/usr/local/include
/u/lsh/space/apps/egcs/lib/gcc-lib/sparc-sun-solaris2.7/2.96/../../../../sparc-sun-solaris2.7/include
/u/lsh/space/apps/egcs/lib/gcc-lib/sparc-sun-solaris2.7/2.96/include
/usr/include
End of search list.
The following default directories have been omitted from the search path:
End of omitted list.
/u/lsh/space/apps/egcs/lib/gcc-lib/sparc-sun-solaris2.7/2.96/cc1plus /var/tmp/ccragPyX.ii -quiet -dumpbase str_ptr.cc -version -o /var/tmp/ccyFsk5N.s
GNU C++ version 2.96 19990922 (experimental) (sparc-sun-solaris2.7) compiled by GNU C version 2.96 19990922 (experimental).
str_ptr.C: In function `void die_here()':
str_ptr.C:20: Internal compiler error in `scan_region', at except.c:2603
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/faq.html#bugreport> for instructions.
The source:
class STR {
public:
STR();
~STR();
};
class str_ptr : public STR {
public :
str_ptr();
str_ptr(const char *s);
str_ptr to_upper() const;
};
void
die_here()
{
str_ptr g;
char *dummy;
str_ptr viseffect = (dummy == 0) ? str_ptr() : str_ptr("blah").to_upper();
}