Hello Herbert,
Commented: //namespace _STL //{ // /** @internal */ // template<class T, class U> // inline ::rtl::Allocator<U> & __stl_alloc_rebind (::rtl::Allocator<T> & a, U const *) // { // return (::rtl::Allocator<U>&)(a); // } //} in C:\source\aoo-trunk\main\sal\inc\rtl\allocator.hxx *The next problem is with undeclared identifiers:* Entering /cygdrive/c/source/aoo-trunk/main/sal/osl/all Compiling: sal/osl/all/debugbase.cxx C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(64) : error C20 65: '_Hash_compare' : undeclared identifier C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(183) : see reference to class template instantiation 'std::tr1::unordered_set<_Kty,_Has her,_Keyeq,_Alloc>' being compiled C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(64) : error C29 74: 'std::tr1::_Uset_traits' : invalid template argument for '_Tr', type expecte d C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(20) : s ee declaration of 'std::tr1::_Uset_traits' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(64) : error C29 75: 'std::tr1::_Uset_traits' : invalid template argument for '_Mfl', expected co mpile-time constant expression C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(20) : s ee declaration of 'std::tr1::_Uset_traits' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(64) : error C29 77: 'stdext::_Hash' : too many template arguments C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(64) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(64) : error C21 43: syntax error : missing ',' before '>' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(67) : error C21 43: syntax error : missing ';' before '<' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(67) : error C44 30: missing type specifier - int assumed. Note: C++ does not support default-int C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(67) : error C22 38: unexpected token(s) preceding ';' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(69) : error C20 65: '_Mytraits' : undeclared identifier C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(69) : error C32 03: '_Uset_traits' : unspecialized class template can't be used as a template ar gument for template parameter '_Traits', expected a real type C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(69) : error C29 55: 'std::tr1::_Uset_traits' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(20) : s ee declaration of 'std::tr1::_Uset_traits' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(73) : error C21 46: syntax error : missing ';' before identifier 'key_compare' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(73) : error C44 30: missing type specifier - int assumed. Note: C++ does not support default-int C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(73) : error C22 08: '_Hash<_Traits>::_Traits::key_compare' : no members defined using this type C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(202) : error C2 065: '_Hash_compare' : undeclared identifier C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(339) : see reference to class template instantiation 'std::tr1::unordered_multiset<_Kty ,_Hasher,_Keyeq,_Alloc>' being compiled C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(202) : error C2 974: 'std::tr1::_Uset_traits' : invalid template argument for '_Tr', type expect ed C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(20) : s ee declaration of 'std::tr1::_Uset_traits' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(202) : error C2 975: 'std::tr1::_Uset_traits' : invalid template argument for '_Mfl', expected c ompile-time constant expression C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(20) : s ee declaration of 'std::tr1::_Uset_traits' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(202) : error C2 977: 'stdext::_Hash' : too many template arguments C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(202) : error C2 955: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(202) : error C2 143: syntax error : missing ',' before '>' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(205) : error C2 143: syntax error : missing ';' before '<' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(205) : error C4 430: missing type specifier - int assumed. Note: C++ does not support default-in t C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(205) : error C2 238: unexpected token(s) preceding ';' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(207) : error C2 065: '_Mytraits' : undeclared identifier C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(207) : error C3 203: '_Uset_traits' : unspecialized class template can't be used as a template a rgument for template parameter '_Traits', expected a real type C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(207) : error C2 955: 'std::tr1::_Uset_traits' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(20) : s ee declaration of 'std::tr1::_Uset_traits' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(211) : error C2 146: syntax error : missing ';' before identifier 'key_compare' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(211) : error C4 430: missing type specifier - int assumed. Note: C++ does not support default-in t C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(211) : error C2 208: '_Hash<_Traits>::_Traits::key_compare' : no members defined using this type C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(64) : error C20 39: '_Hash_compare' : is not a member of 'stdext' C:/source/aoo-trunk/main/solver/410/ wntmsci12.pro/inc/stl\hash_set(56) : see reference to class template instantiation 'std::tr1::unordered_set<_Kty,_Ha sher,_Keyeq,_Alloc>' being compiled with [ _Kty=const void *, _Hasher=osl::detail::VoidPtrHash, _Keyeq=std::equal_to<const void *>, _Alloc=rtl::Allocator<const void *> ] ../../inc\osl/diagnose.hxx(104) : see reference to class template instan tiation 'std::hash_set<__K,__H,__E,__A>' being compiled with [ __K=const void *, __H=osl::detail::VoidPtrHash, __E=std::equal_to<const void *>, __A=rtl::Allocator<const void *> ] C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(64) : error C20 65: '_Hash_compare' : undeclared identifier C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(64) : error C22 75: '_Kty' : illegal use of this type as an expression C:/source/aoo-trunk/main/solver/410/ wntmsci12.pro/inc/stl\hash_set(56) : see declaration of '_Kty' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(64) : error C29 77: 'stdext::_Hash' : too many template arguments C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(64) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(64) : error C21 43: syntax error : missing ',' before '>' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(67) : error C20 39: '_Hash_compare' : is not a member of 'stdext' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(67) : error C21 43: syntax error : missing ';' before '<' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(67) : error C44 30: missing type specifier - int assumed. Note: C++ does not support default-int C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(67) : error C22 38: unexpected token(s) preceding ';' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(69) : error C20 65: '_Mytraits' : undeclared identifier C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(69) : error C32 03: '_Uset_traits' : unspecialized class template can't be used as a template ar gument for template parameter '_Traits', expected a real type C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(69) : error C29 55: 'std::tr1::_Uset_traits' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(20) : s ee declaration of 'std::tr1::_Uset_traits' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(73) : error C21 46: syntax error : missing ';' before identifier 'key_compare' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(73) : error C44 30: missing type specifier - int assumed. Note: C++ does not support default-int C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(73) : error C22 08: '_Hash<_Traits>::_Traits::key_compare' : no members defined using this type C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(76) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(77) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(78) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(79) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(80) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(81) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(82) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(83) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(84) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(88) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(90) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' C:/PROGRA~2/MICROS~1.0/VC/include\../../VC/include/unordered_set(91) : error C29 55: 'stdext::_Hash' : use of class template requires template argument list C:/PROGRA~2/MICROS~1.0/VC/include\xhash(147) : see declaration of 'stdex t::_Hash' ../../inc\osl/diagnose.hxx(98) : fatal error C1903: unable to recover from previ ous error(s); stopping compilation dmake: Error code 2, while making '../../wntmsci12.pro/obj/debugbase.obj' 1 module(s): sal Thank you, Vadim. 2013/12/9 Herbert Duerr <h...@apache.org> > Hello Vadim, > > I'm replying on the mailing list, because this may be of interest to a > wider audience. > > > On 06.12.2013 18:58, Vadim Yedzinovich wrote: > >> Get preprocess output to debugbase.i file (you can see it in attached >> file)... >> > > Got it, thanks! > > As I can see basic_string comes from namespace std templates definitions >> like: >> #line 13 "C:/PROGRA~2/MICROS~1.0/VC/include\\xstring" >> namespace std { >> [...] >> > > The basic_strings being defined in the std namespace is fine. That's where > it belongs so this is good. > > namespace _STL comes from allocator.hxx: >> #line 32 "../../inc\\rtl/allocator.hxx" >> namespace _STL >> [...] >> > > The _STL namespace is only mentioned at that one location, so I wonder how > basic_string is now expected in that namespace? > > [...] >> >> Sorry, but a the monemt I've no idea how to resolve this problem. >> > > The few lines mentioning _STL in allocator.hxx should be obsolete > nowadays, anyway. Could you try out whether deleting them (the "namespace > _STL" from start to closing and all that it encloses) helps? > > Herbert >