Nicole Willson wrote:
I'm having this same issue on SLES9sp2 with Visual Age 8. However,
explicitly defining _RWSTD_NO_IMPLICIT_INCLUSION does not change anything.
The macro should be defined out of the box as a result of compiling
with -qnotempinc. I wonder why you are using the option, though.
The recommended option is -qtemplateregistry.
The (I)nformational diagnostics below look similar to this VAC++ bug:
VAC++ 7.0 bogus warning 1540-2910 on undefined member and explicit
instantiation:
http://iwww.cvo.roguewave.com/bugzilla/show_bug.cgi?id=450
Here are my errors:
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 ../ti_messages.cpp
"./../../../include/string", line 157.5: 1540-2910 (I) The template
"std::basic_string<char,std::char_traits<char>,std::allocator<char>
::basic_string(const char *, unsigned long, const std::allocator<char> &)"
uses a file organization for tempinc, but tempinc is not being used.
[...]
And
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 ../ti_money_get.cpp
"./../../../include/streambuf", line 283.43: 1540-0062 (S) The incomplete
class "_Traits" must not be used as a qualifier.
The error looks familiar but I don't see anything on 1540-0062 in
Bugzilla.
"./../../../include/rw/_ioiter.h", line 137.44: 1540-0700 (I) The previous
message was produced while processing "class
std::basic_streambuf<char,std::char_traits<char> >".
make: *** [ti_money_get.o] Error 1
What do you mean by "the whole translation unit"?
The output of xlC ... -E.
Btw., since you are using xlC (as opposed to xlCcore) make sure to
avoid linking in the native C++ Standard Library (I assume that's
gcc's libstdc++).
Martin