mirror of
https://git.FreeBSD.org/src.git
synced 2024-10-18 02:19:39 +00:00
Some fixes so we can build libstdc++ with clang:
o Make the value_type, vector_type, iterator, __mutex_type types of free_list class so we can access them o In some cases template keywords must be inserted to treat classes as dependent template names o Remove two 'inline' keywords where they do not make sense Submitted by: Dimitry Andric <dimitry at andric.com> Reviewed by: trema
This commit is contained in:
parent
4fbdc85400
commit
1fdc87e76d
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=211755
@ -549,11 +549,13 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
||||
*/
|
||||
class free_list
|
||||
{
|
||||
public:
|
||||
typedef size_t* value_type;
|
||||
typedef __detail::__mini_vector<value_type> vector_type;
|
||||
typedef vector_type::iterator iterator;
|
||||
typedef __mutex __mutex_type;
|
||||
|
||||
private:
|
||||
struct _LT_pointer_compare
|
||||
{
|
||||
bool
|
||||
|
@ -382,7 +382,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
||||
{
|
||||
_Rope_RopeLeaf<_CharT, _Alloc>* __l
|
||||
= (_Rope_RopeLeaf<_CharT, _Alloc>*)this;
|
||||
__l->_Rope_RopeLeaf<_CharT, _Alloc>::~_Rope_RopeLeaf();
|
||||
__l->template _Rope_RopeLeaf<_CharT, _Alloc>::~_Rope_RopeLeaf();
|
||||
_L_deallocate(__l, 1);
|
||||
break;
|
||||
}
|
||||
@ -390,7 +390,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
||||
{
|
||||
_Rope_RopeConcatenation<_CharT,_Alloc>* __c
|
||||
= (_Rope_RopeConcatenation<_CharT, _Alloc>*)this;
|
||||
__c->_Rope_RopeConcatenation<_CharT, _Alloc>::
|
||||
__c->template _Rope_RopeConcatenation<_CharT, _Alloc>::
|
||||
~_Rope_RopeConcatenation();
|
||||
_C_deallocate(__c, 1);
|
||||
break;
|
||||
@ -399,7 +399,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
||||
{
|
||||
_Rope_RopeFunction<_CharT, _Alloc>* __f
|
||||
= (_Rope_RopeFunction<_CharT, _Alloc>*)this;
|
||||
__f->_Rope_RopeFunction<_CharT, _Alloc>::~_Rope_RopeFunction();
|
||||
__f->template _Rope_RopeFunction<_CharT, _Alloc>::~_Rope_RopeFunction();
|
||||
_F_deallocate(__f, 1);
|
||||
break;
|
||||
}
|
||||
@ -407,7 +407,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
||||
{
|
||||
_Rope_RopeSubstring<_CharT, _Alloc>* __ss =
|
||||
(_Rope_RopeSubstring<_CharT, _Alloc>*)this;
|
||||
__ss->_Rope_RopeSubstring<_CharT, _Alloc>::
|
||||
__ss->template _Rope_RopeSubstring<_CharT, _Alloc>::
|
||||
~_Rope_RopeSubstring();
|
||||
_S_deallocate(__ss, 1);
|
||||
break;
|
||||
@ -433,7 +433,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
||||
{
|
||||
size_t __old_len = __r->_M_size;
|
||||
_CharT* __new_data = (_CharT*)
|
||||
_Data_allocate(_S_rounded_up_size(__old_len + __len));
|
||||
_Rope_rep_base<_CharT, _Alloc>::_Data_allocate(_S_rounded_up_size(__old_len + __len));
|
||||
_RopeLeaf* __result;
|
||||
|
||||
uninitialized_copy_n(__r->_M_data, __old_len, __new_data);
|
||||
@ -817,7 +817,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
||||
if (__result_len > __lazy_threshold)
|
||||
goto lazy;
|
||||
__section = (_CharT*)
|
||||
_Data_allocate(_S_rounded_up_size(__result_len));
|
||||
_Rope_rep_base<_CharT, _Alloc>::_Data_allocate(_S_rounded_up_size(__result_len));
|
||||
try
|
||||
{ (*(__f->_M_fn))(__start, __result_len, __section); }
|
||||
catch(...)
|
||||
|
@ -180,11 +180,11 @@ _GLIBCXX_END_LDBL_NAMESPACE
|
||||
template class messages_byname<C>;
|
||||
|
||||
// ctype
|
||||
inline template class __ctype_abstract_base<C>;
|
||||
template class __ctype_abstract_base<C>;
|
||||
template class ctype_byname<C>;
|
||||
|
||||
// codecvt
|
||||
inline template class __codecvt_abstract_base<C, char, mbstate_t>;
|
||||
template class __codecvt_abstract_base<C, char, mbstate_t>;
|
||||
template class codecvt_byname<C, char, mbstate_t>;
|
||||
|
||||
// collate
|
||||
|
Loading…
Reference in New Issue
Block a user