Fix bustage on Sun Workshop compiler (nebiros tinderbox). r=darin

This commit is contained in:
dbaron%dbaron.org 2003-05-16 00:52:17 +00:00
Родитель fe88338516
Коммит 8eed196c97
1 изменённых файлов: 27 добавлений и 37 удалений

Просмотреть файл

@ -78,7 +78,12 @@ class nsAutoPtr
*/ */
private: private:
void** begin_assignment(); void**
begin_assignment()
{
assign(0);
return NS_REINTERPRET_CAST(void**, &mRawPtr);
}
void void
assign( T* newPtr ) assign( T* newPtr )
@ -230,14 +235,6 @@ class nsAutoPtr
} }
}; };
template <class T>
void**
nsAutoPtr<T>::begin_assignment()
{
assign(0);
return NS_REINTERPRET_CAST(void**, &mRawPtr);
}
#ifdef CANT_RESOLVE_CPP_CONST_AMBIGUITY #ifdef CANT_RESOLVE_CPP_CONST_AMBIGUITY
// This is the broken version for IRIX, which can't handle the version below. // This is the broken version for IRIX, which can't handle the version below.
@ -521,7 +518,12 @@ class nsAutoArrayPtr
*/ */
private: private:
void** begin_assignment(); void**
begin_assignment()
{
assign(0);
return NS_REINTERPRET_CAST(void**, &mRawPtr);
}
void void
assign( T* newPtr ) assign( T* newPtr )
@ -673,14 +675,6 @@ class nsAutoArrayPtr
} }
}; };
template <class T>
void**
nsAutoArrayPtr<T>::begin_assignment()
{
assign(0);
return NS_REINTERPRET_CAST(void**, &mRawPtr);
}
#ifdef CANT_RESOLVE_CPP_CONST_AMBIGUITY #ifdef CANT_RESOLVE_CPP_CONST_AMBIGUITY
// This is the broken version for IRIX, which can't handle the version below. // This is the broken version for IRIX, which can't handle the version below.
@ -965,8 +959,21 @@ class nsRefPtr
*/ */
private: private:
void assign_with_AddRef( T* );
void** begin_assignment(); void
assign_with_AddRef( T* rawPtr )
{
if ( rawPtr )
rawPtr->AddRef();
assign_assuming_AddRef(rawPtr);
}
void**
begin_assignment()
{
assign_assuming_AddRef(0);
return NS_REINTERPRET_CAST(void**, &mRawPtr);
}
void void
assign_assuming_AddRef( T* newPtr ) assign_assuming_AddRef( T* newPtr )
@ -1130,23 +1137,6 @@ class nsRefPtr
} }
}; };
template <class T>
void
nsRefPtr<T>::assign_with_AddRef( T* rawPtr )
{
if ( rawPtr )
rawPtr->AddRef();
assign_assuming_AddRef(rawPtr);
}
template <class T>
void**
nsRefPtr<T>::begin_assignment()
{
assign_assuming_AddRef(0);
return NS_REINTERPRET_CAST(void**, &mRawPtr);
}
#ifdef CANT_RESOLVE_CPP_CONST_AMBIGUITY #ifdef CANT_RESOLVE_CPP_CONST_AMBIGUITY
// This is the broken version for IRIX, which can't handle the version below. // This is the broken version for IRIX, which can't handle the version below.