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
parent fe88338516
commit 8eed196c97

View File

@ -78,7 +78,12 @@ class nsAutoPtr
*/
private:
void** begin_assignment();
void**
begin_assignment()
{
assign(0);
return NS_REINTERPRET_CAST(void**, &mRawPtr);
}
void
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
// This is the broken version for IRIX, which can't handle the version below.
@ -521,7 +518,12 @@ class nsAutoArrayPtr
*/
private:
void** begin_assignment();
void**
begin_assignment()
{
assign(0);
return NS_REINTERPRET_CAST(void**, &mRawPtr);
}
void
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
// This is the broken version for IRIX, which can't handle the version below.
@ -965,8 +959,21 @@ class nsRefPtr
*/
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
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
// This is the broken version for IRIX, which can't handle the version below.