Full-featured C++ STL now available!
Hi all,
I've ported the STLport library to Symbian OS 9.x. C++ applications on Symbian can now benefit from a full-featured STL implementation! The library works on both S60 and UIQ variants, downloads are available here: [url]http://marcoplusplus.blogspot.com/2007/05/stlport-for-symbian-os-released.html[/url]
Cheers,
Marco
Re: Full-featured C++ STL now available!
up!
let's keep this visible for one more day...
Re: Full-featured C++ STL now available!
[QUOTE=polo78]Hi all,
I've ported the STLport library to Symbian OS 9.x. C++ applications on Symbian can now benefit from a full-featured STL implementation! The library works on both S60 and UIQ variants, downloads are available here: [url]http://marcoplusplus.blogspot.com/2007/05/stlport-for-symbian-os-released.html[/url]
Cheers,
Marco[/QUOTE]
Ok, I am trying to get it to work with ARMV5, but at this moment stlport triggers a bug in armv5 in locale_catalog.cpp. In particular, if I do not comment-out this code
_Locale_ctype* _STLP_CALL __acquire_ctype(const char* name, _Locale_name_hint* hint) {
return __REINTERPRET_CAST(_Locale_ctype*, __acquire_category(name, hint,
_Locale_extract_ctype_name, _Loc_ctype_create, _Loc_ctype_default,
ctype_hash()));
}
_Locale_numeric* _STLP_CALL __acquire_numeric(const char* name, _Locale_name_hint* hint) {
return __REINTERPRET_CAST(_Locale_numeric*, __acquire_category(name, hint,
_Locale_extract_numeric_name, _Loc_numeric_create, _Loc_numeric_default,
numeric_hash()));
}
_Locale_time* _STLP_CALL __acquire_time(const char* name, _Locale_name_hint* hint) {
return __REINTERPRET_CAST(_Locale_time*, __acquire_category(name, hint,
_Locale_extract_time_name, _Loc_time_create, _Loc_time_default,
time_hash()));
}
_Locale_collate* _STLP_CALL __acquire_collate(const char* name, _Locale_name_hint* hint) {
return __REINTERPRET_CAST(_Locale_collate*, __acquire_category(name, hint,
_Locale_extract_collate_name, _Loc_collate_create, _Loc_collate_default,
collate_hash()));
}
_Locale_monetary* _STLP_CALL __acquire_monetary(const char* name, _Locale_name_hint* hint) {
return __REINTERPRET_CAST(_Locale_monetary*, __acquire_category(name, hint,
_Locale_extract_monetary_name, _Loc_monetary_create, _Loc_monetary_default,
monetary_hash()));
}
_Locale_messages* _STLP_CALL __acquire_messages(const char* name, _Locale_name_hint* hint) {
return __REINTERPRET_CAST(_Locale_messages*, __acquire_category(name, hint,
_Locale_extract_messages_name, _Loc_messages_create, _Loc_messages_default,
messages_hash()));
}
the ARMV5 compiler generates this message
Internal fault
[0x90cb::220435] in _ZNSt5slistISt4pairIKSsSO_IPvjEESaIS5_EE14_M_create_nodeERKS4_
There is also a problem in num_put_float.cpp, function __format_float().
switch (flags & ios_base::floatfield) {
case ios_base::scientific:
__group_pos = __format_float_scientific( buf, bp, decpt, sign, x == 0.0,
flags, precision, islong);
The ARMV5 compiler thinks that x == 0.0 is a double argument. It wants a bool there so ith generates an error. Doing bool( x == 0.0) fixes this.
This error happens twice.
Sander van der Wal
[url]www.mBrainSoftware.com[/url]
Re: Full-featured C++ STL now available!
Thanks for your feedback. The library has only been ported to GCCE and WINSCW toolchains, I've never tried to compile it for the ARMV5 target, so no surprise it isn't working out of the box. Does the library compiles and links correctly with your changes? If yes, do the test programs produce expected results (as stated in STATUS.txt) ?
Re: Full-featured C++ STL now available!
I haven't looked at that, because of the compiler crash. I am hoping somebody with more knowledge of this compiler knows why it is crashing and propose a fix. In the mean time we'll must make do with the GCCE version copied to the armv5 release folder.