incubator-stdcxx-dev mailing list archives

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