
Hi, VACPP compiler is failing one of the test cases of the string_algo library. http://boost.sourceforge.net/regression-logs/cs-AIX-links.html#algorithm-rep... It is the check for sequence traits. It seem, that trait classes did not get instantiated. Is there something special that this compiler needs, to avoid this problem? Other compilers do not seem to have a problem. It is not possible to instantiate all trait explicitly, because the template paramteres are mostly template again. I might have forgotten something, that other compilers just ignore. Can anybody give me some hints? Thanks, Pavol.

Well the problem seems to be caused by an unsuccesfull compilation of cpp_regex_traits.o At line 236 of cpp_regex_traits.cpp for instance a std::messages<char>::catalog is casted to an int and vacpp does not like it. I'm not very familiar with localization and I could not find any indication in the standard that casting the catalog type to an int should be possible (John?,Robert?) As a last resort we could define BOOST_NO_STD_MESSAGES but this will AFAICT no justice to the vacpp compiler that _does_ provide the std::messages. (Guys, please keep me in CC if you want me to respond quickly) toon
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Pavol Droba Sent: Tuesday, March 09, 2004 3:25 PM To: Boost mailing list Subject: [boost] AIX vacpp question
Hi,
VACPP compiler is failing one of the test cases of the string_algo library.
http://boost.sourceforge.net/regression-logs/cs-AIX-links.html#algorithm -replace-vacpp It is the check for sequence traits. It seem, that trait classes did not get instantiated. Is there something special that this compiler needs, to avoid this problem? Other compilers do not seem to have a problem. It is not possible to instantiate all trait explicitly, because the template paramteres are mostly template again. I might have forgotten something, that other compilers just ignore. Can anybody give me some hints? Thanks, Pavol. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Well the problem seems to be caused by an unsuccesfull compilation of cpp_regex_traits.o At line 236 of cpp_regex_traits.cpp for instance a std::messages<char>::catalog is casted to an int and vacpp does not like it. I'm not very familiar with localization and I could not find any indication in the standard that casting the catalog type to an int should be possible (John?,Robert?)
As a last resort we could define BOOST_NO_STD_MESSAGES but this will AFAICT no justice to the vacpp compiler that _does_ provide the std::messages.
OK, this has come up before: the standard *requires* that std::messages<>::catalog is an int, and that on failure std::messages<>::open returns a negative value. However IBM in their wisdom have made std::messages<>::catalog a pointer type, now I understand why they're done this, but it makes it impossible to write portable code that manipulates std::messages IMO. John.

Well the problem seems to be caused by an unsuccesfull compilation of cpp_regex_traits.o At line 236 of cpp_regex_traits.cpp for instance a std::messages<char>::catalog is casted to an int and vacpp does not
At 07:23 AM 3/10/2004, John Maddock wrote: like
it. I'm not very familiar with localization and I could not find any indication in the standard that casting the catalog type to an int should be possible (John?,Robert?)
As a last resort we could define BOOST_NO_STD_MESSAGES but this will AFAICT no justice to the vacpp compiler that _does_ provide the std::messages.
OK, this has come up before: the standard *requires* that std::messages<>::catalog is an int, and that on failure std::messages<>::open returns a negative value. However IBM in their wisdom have made std::messages<>::catalog a pointer type, now I understand why they're done this, but it makes it impossible to write portable code that manipulates std::messages IMO.
I've been given to understand IBM is escalating consideration this issue. That doesn't imply any commitment to fix it, but at least it won't be forgotten. --Beman

At 07:13 AM 3/10/2004, Toon Knapen wrote:
Well the problem seems to be caused by an unsuccesfull compilation of cpp_regex_traits.o At line 236 of cpp_regex_traits.cpp for instance a std::messages<char>::catalog is casted to an int and vacpp does not like it. I'm not very familiar with localization and I could not find any indication in the standard that casting the catalog type to an int should be possible (John?,Robert?)
22.2.7.1 specifies catalog: typedef int catalog; There doesn't seem to be any text AFAICS that would allow any type other than int. What library and version does vacpp use? --Beman

OK, so this forced me to #define BOOST_NO_STD_MESSAGES In boost/config/stdlib/vacpp.hpp ;-( Algorithm/string/regex_test now succesfully compiles with vacpp. Toon
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Beman Dawes Sent: Wednesday, March 10, 2004 1:41 PM To: boost@lists.boost.org Cc: 'Robert Klarer' Subject: RE: [boost] AIX vacpp question
At 07:13 AM 3/10/2004, Toon Knapen wrote:
Well the problem seems to be caused by an unsuccesfull compilation of >cpp_regex_traits.o >At line 236 of cpp_regex_traits.cpp for instance a std::messages<char>::catalog is casted to an int and vacpp does not like >it. I'm not very familiar with localization and I could not find any >indication in the standard that casting the catalog type to an int >should be possible (John?,Robert?)
22.2.7.1 specifies catalog:
typedef int catalog;
There doesn't seem to be any text AFAICS that would allow any type other than int. What library and version does vacpp use?
--Beman
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/bo> ost

Beman Dawes wrote: [...]
22.2.7.1 specifies catalog:
typedef int catalog;
There doesn't seem to be any text AFAICS that would allow any type other than int. What library and version does vacpp use?
Dinkum C++ Library. It appears that in the AIX version they use "typedef nl_catd catalog;", not http://www.ibm.com/support/docview.wss?uid=swg27002104&aid=1 <quote> class messages_base { typedef int catalog; }; The class describes a type common to all specializations of template class messages (page 221). The type catalog is a synonym for type int that describes the possible return values from messages::do_open. </quote> as documented (and required by the C++ standard). IIUC, the "real problem" is that under POSIX nl_catd doesn't need to be an int. regards, alexander.

Hi, I don't get it. The string_algo test case that is failing has nothing to do with regex stuff. To which problem exactly are refering to? I don't see it in th regression logs... Pavol On Wed, Mar 10, 2004 at 01:13:56PM +0100, Toon Knapen wrote:
Well the problem seems to be caused by an unsuccesfull compilation of cpp_regex_traits.o At line 236 of cpp_regex_traits.cpp for instance a std::messages<char>::catalog is casted to an int and vacpp does not like it. I'm not very familiar with localization and I could not find any indication in the standard that casting the catalog type to an int should be possible (John?,Robert?)
As a last resort we could define BOOST_NO_STD_MESSAGES but this will AFAICT no justice to the vacpp compiler that _does_ provide the std::messages.
(Guys, please keep me in CC if you want me to respond quickly)
toon
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Pavol Droba Sent: Tuesday, March 09, 2004 3:25 PM To: Boost mailing list Subject: [boost] AIX vacpp question
Hi,
VACPP compiler is failing one of the test cases of the string_algo library.
http://boost.sourceforge.net/regression-logs/cs-AIX-links.html#algorithm -replace-vacpp
It is the check for sequence traits. It seem, that trait classes did not get instantiated. Is there something special that this compiler needs, to avoid this problem? Other compilers do not seem to have a problem.
It is not possible to instantiate all trait explicitly, because the template paramteres are mostly template again.
I might have forgotten something, that other compilers just ignore. Can anybody give me some hints?
Thanks,
Pavol. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

You're right but there's another test file in the same directory that depends on regex and thus trying to compile these test programs I noticed the error being discussed here. What's strange though is that regex_test is being reported by the regression test tools as being tested succesfully although when compiling it myself it fails.
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Pavol Droba Sent: Wednesday, March 10, 2004 2:18 PM To: boost@lists.boost.org Subject: Re: [boost] AIX vacpp question
Hi,
I don't get it. The string_algo test case that is failing has nothing to do with regex stuff. To which problem exactly are refering to? I don't see it in th regression logs...
Pavol
Well the problem seems to be caused by an unsuccesfull compilation of cpp_regex_traits.o At line 236 of cpp_regex_traits.cpp for instance a std::messages<char>::catalog is casted to an int and vacpp does not like it. I'm not very familiar with localization and I could not find any indication in the standard that casting the catalog type to an int should be possible (John?,Robert?)
As a last resort we could define BOOST_NO_STD_MESSAGES but
On Wed, Mar 10, 2004 at 01:13:56PM +0100, Toon Knapen wrote: this will
AFAICT no justice to the vacpp compiler that _does_ provide the std::messages.
(Guys, please keep me in CC if you want me to respond quickly)
toon
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Pavol Droba Sent: Tuesday, March 09, 2004 3:25 PM To: Boost mailing list Subject: [boost] AIX vacpp question
Hi,
VACPP compiler is failing one of the test cases of the string_algo library.
http://boost.sourceforge.net/regression-> logs/cs-AIX-links.html#algorit
hm -replace-vacpp
It is the check for sequence traits. It seem, that trait classes did not get instantiated. Is there something special that this compiler needs, to avoid this problem? Other compilers do not seem to have a problem.
It is not possible to instantiate all trait explicitly, because the template paramteres are mostly template again.
I might have forgotten something, that other compilers just ignore. Can anybody give me some hints?
Thanks,
Pavol. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/bo> ost

I now added BOOST_NO_INCLASS_MEMBER_INIT...to boost/config/compiler/vacpp.hpp which makes boost/algorithm/string/replace compiler succesfully now.
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Toon Knapen Sent: Wednesday, March 10, 2004 4:16 PM To: boost@lists.boost.org Subject: RE: [boost] AIX vacpp question
You're right but there's another test file in the same directory that depends on regex and thus trying to compile these test programs I noticed the error being discussed here. What's strange though is that regex_test is being reported by the regression test tools as being tested succesfully although when compiling it myself it fails.
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Pavol Droba Sent: Wednesday, March 10, 2004 2:18 PM To: boost@lists.boost.org Subject: Re: [boost] AIX vacpp question
Hi,
I don't get it. The string_algo test case that is failing has nothing to do with regex stuff. To which problem exactly are refering to? I don't see it in th regression logs...
Pavol
Well the problem seems to be caused by an unsuccesfull compilation of cpp_regex_traits.o At line 236 of cpp_regex_traits.cpp for instance a std::messages<char>::catalog is casted to an int and vacpp does not like it. I'm not very familiar with localization and I could not find any indication in the standard that casting the catalog type to an int should be possible (John?,Robert?)
As a last resort we could define BOOST_NO_STD_MESSAGES but
On Wed, Mar 10, 2004 at 01:13:56PM +0100, Toon Knapen wrote: this will
AFAICT no justice to the vacpp compiler that _does_ provide the std::messages.
(Guys, please keep me in CC if you want me to respond quickly)
toon
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Pavol Droba Sent: Tuesday, March 09, 2004 3:25 PM To: Boost mailing list Subject: [boost] AIX vacpp question
Hi,
VACPP compiler is failing one of the test cases of the string_algo library.
hm -replace-vacpp
It is the check for sequence traits. It seem, that trait classes did not get instantiated. Is there something special that
http://boost.sourceforge.net/regression-> logs/cs-AIX-links.html#algorit this compiler
needs, to avoid this problem? Other compilers do not seem to have a problem.
It is not possible to instantiate all trait explicitly, because the template paramteres are mostly template again.
I might have forgotten something, that other compilers just ignore. Can anybody give me some hints?
Thanks,
Pavol. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/bo> ost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/bo> ost

Great job, So now string_algo compiles without problems on vcapp. Thanks for your help. Pavol On Wed, Mar 10, 2004 at 05:20:59PM +0100, Toon Knapen wrote:
I now added BOOST_NO_INCLASS_MEMBER_INIT...to boost/config/compiler/vacpp.hpp which makes boost/algorithm/string/replace compiler succesfully now.
participants (5)
-
Alexander Terekhov
-
Beman Dawes
-
John Maddock
-
Pavol Droba
-
Toon Knapen