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:[EMAIL PROTECTED] Sent: Tuesday, February 07, 2006 3:47 PM To: [email protected] 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
