pro64-support
[Top] [All Lists]

RE: C++ compiler assertion errors

To: "Nelson H. F. Beebe" <beebe@xxxxxxxxxxxxx>, pro64-support@xxxxxxxxxxx
Subject: RE: C++ compiler assertion errors
From: "Chan, Sun C" <sun.c.chan@xxxxxxxxx>
Date: Sat, 28 Apr 2001 19:01:48 -0700
Sender: owner-pro64-support@xxxxxxxxxxx

> -----Original Message-----
> From: Nelson H. F. Beebe [mailto:beebe@xxxxxxxxxxxxx]
> Sent: Saturday, April 28, 2001 3:35 PM
> To: lia64-sim@xxxxxxxxxxxxxxxxx; pro64-support@xxxxxxxxxxx;
> gcc-bugs@xxxxxxxxxxx
> Cc: beebe@xxxxxxxxxxxxx
> Subject: C++ compiler assertion errors
>       % c++ -fno-implicit-templates -O2 -ansi   -I. 
> -I./../include -I./../generic \
>               -DSP_HAVE_BOOL -DSP_ANSI_CLASS_INST 
> -DSP_MULTI_BYTE   -c parseMode.cxx
>       parseMode.cxx: In method `void Parser::compileModes 
> (const Mode *, int, const Dtd *)':
>       parseMode.cxx:403: Internal compiler error in 
> `scan_region', at except.c:2757
>       Please submit a full bug report.
>       See 
> <URL:http://www.gnu.org/software/gcc/faq.html#bugreport> for 
> instructions.
> 

This is clearly a frontend error, with full instruction on how to report bug

>       % sgiCC -ansi   -I. -I./../include -I./../generic 
> -DSP_HAVE_BOOL \
>               -DSP_ANSI_CLASS_INST -DSP_MULTI_BYTE   -c ParserApp.cxx
>       ### Assertion failure at line 1164 of ../../g++fe/wfe_decl.cxx:
>       ### Compiler Error during Writing WHIRL file phase:
>       ### unexpected tree code ptrmem_cst
>       sgiCC INTERNAL ERROR:  
> /usr/lib/gcc-lib/ia64-sgi-linux/sgicc-1.0/gfecc returned 
> non-zero status 1
> 

This is a bug in translating gccIR to Whirl. Bug is at SGI's court. I
suggest 
you cpp the source, reduce that to, hopefully a minimum, test case. I'm sure
Murthy will get to it very quickly.

> Attempts to switch compilers allow the compilations to proceed, but
> unresolved references at link time prevent completion of the builds.
> 
> When I attempt a build without -DSP_ANSI_CLASS_INST, I get another
> failure:
> 
>       % g++  -I. -I./../include  -DSP_HAVE_BOOL 
> -DSP_MULTI_BYTE   -o nsgmls \
>               nsgmls.o SgmlsEventHandler.o RastEventHandler.o 
> StringSet.o \
>               nsgmls_inst.o  ../lib/libsp.a -lm
>       nsgmls.o: In function 
> `XRastEventHandler::XRastEventHandler(SgmlParser *, char 
> const *, String<unsigned short> const &, OutputCodingSystem 
> const *, CmdLineApp *, Messenger *)':
>       nsgmls.o(.text+0x25b2): undefined reference to 
> `ErrnoMessageArg::ErrnoMessageArg(int)'
>       nsgmls.o: In function `XRastEventHandler::truncateOutput(void)':
>       nsgmls.o(.text+0x2d82): undefined reference to 
> `ErrnoMessageArg::ErrnoMessageArg(int)'
>       nsgmls.o(.text+0x3072): undefined reference to 
> `ErrnoMessageArg::ErrnoMessageArg
> 
> This failure is peculiar, because the preprocessed code shows that the
> missing function is indeed defined as a public inline member function
> (after prettyprinting with "astyle --style=ansi"):
>

I've seen these kind of failures when there is inconsistent optimize options
used that does not ended up inlining all functions as intended.
 
>       % sgiCC -I. 
> -I/nue/local/build/groff-1.16.1/src/utils/addftinfo \
>               -I/nue/local/build/groff-1.16.1/src/include \
>               -I/nue/local/build/groff-1.16.1/src/include 
> -DHAVE_STDLIB_H=1 \
>               -DHAVE_UNISTD_H=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 \
>               -DHAVE_SYS_DIR_H=1 -DHAVE_STRING_H=1 
> -DHAVE_STRINGS_H=1 \
>               -DHAVE_MATH_H=1 -DRET_TYPE_SRAND_IS_VOID=1 
> -DHAVE_SYS_NERR=1 \
>               -DHAVE_SYS_ERRLIST=1 -DHAVE_CC_LIMITS_H=1 
> -DRETSIGTYPE=void \
>               -DHAVE_STRUCT_EXCEPTION=1 -DHAVE_UNISTD_H=1 
> -DHAVE_GETPAGESIZE=1 \
>               -DHAVE_FMOD=1 -DHAVE_STRTOL=1 -DHAVE_GETCWD=1 
> -DHAVE_STRERROR=1 \
>               -DHAVE_PUTENV=1 -DHAVE_RENAME=1 
> -DHAVE_MKSTEMP=1 -DHAVE_STRCASECMP=1 \
>               -DHAVE_STRNCASECMP=1 -DHAVE_STRSEP=1 -DHAVE_STRDUP=1 \
>               -DSYS_SIGLIST_DECLARED=1 -g -O1 -c addftinfo.cc
> 
>       ### Assertion failure at line 1164 of ../../g++fe/wfe_decl.cxx:
>       ### Compiler Error during Writing WHIRL file phase:
>       ### unexpected tree code ptrmem_cst
>       sgiCC INTERNAL ERROR:  
> /usr/lib/gcc-lib/ia64-sgi-linux/sgicc-1.0/gfecc returned 
> non-zero status 1

Sounds line the same gccIR to Whirl translation assertion.

Sun


<Prev in Thread] Current Thread [Next in Thread>