1
0
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:
Rui Paulo 2010-08-24 13:38:53 +00:00
parent 4fbdc85400
commit 1fdc87e76d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=211755
3 changed files with 10 additions and 8 deletions

View File

@ -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

View File

@ -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(...)

View File

@ -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