ICE - in `scan_region', at except.c:2603

Loring Holden lsh@cs.brown.edu
Thu Sep 23 15:14:00 GMT 1999


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();
}


More information about the Gcc-bugs mailing list