stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicole Willson <will...@roguewave.com>
Subject RE: Any ideas on these StdLib build errors?
Date Wed, 08 Feb 2006 21:57:56 GMT
Ok, I have a test case for this ICE.  It's a very specific combination of
#include <string.h>, a specialized template class, and an array of static
struct.  So, I can see how the bug got past them.  However, I'm not sure how
to workaround this bug.  I need all of these components together.  I'll see
if I can somehow not use string.h

Nicole Willson
Consulting Engineer
Rogue Wave Software, Inc.
A Division of Quovadx
303-545-3210


-----Original Message-----
From: Martin Sebor [mailto:sebor@roguewave.com] 
Sent: Tuesday, February 07, 2006 3:47 PM
To: stdcxx-dev@incubator.apache.org
Subject: Re: Any ideas on these StdLib build errors?

Nicole Willson wrote:
> I'm not sure what I did before, but I set the cleanup to all but ch13n
>  and I no longer get any of those errors.  Now I get:
> 
> xlC -F /package/1/ppc64/compilers/ibm/va80/vac.cfg -qarch=ppc64 -q64
> -D_RWCONFIG=std64rd -I./../../../include -I./../../.. -I.. -I.
> -D_RWBUILD_std -qpic -qrtti -g -qsuppress=1540-0152:1540-2908:1500-029
> -qnotempinc  -c ../wcodecvt.cpp  
> xlC: 1501-230 Internal compiler error; please contact your Service
> Representative

Good luck! ;-)

The only way to deal with this (w/o patching the compiler) is to
whittle down the wcodecvt.cpp translation unit (TU) to a small test
case and work around the problem.

The first step is to create the TU and see if you can reproduce the
Internal compiler error (ICE). (XLC++ has a nasty habit of changing
behavior between compiling the source and the TU.)

Get the TU:

xlC -F /package/1/ppc64/compilers/ibm/va80/vac.cfg -qarch=ppc64 -q64 
-D_RWCONFIG=std64rd -I./../../../include -I./../../.. -I.. -I. 
-D_RWBUILD_std -qpic -qrtti -g -qsuppress=1540-0152:1540-2908:1500-029
-qnotempinc -E ../wcodecvt.cpp  > tu.C

Reproduce ICE:

xlC -c -qpic -qrtti -g -qarch=ppc64 -q64 tu.C

(Btw., why do you have -qarch=ppc64 there? Isn't -q64 enough?)

Then remove chunks of tu.C until the ICE disappears. The difference
between the last time you hot the ICE and the successful compilation
is where the bug is. Be sure to delete any temporary files left
behind by xlC between successive compilations to prevent them from
affecting the runs.

Martin

Mime
View raw message