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 <[email protected]>
> 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
>