pkgsrc/security/sfs/patches/patch-ae
agc 94df3e688c Update sfs to 0.7.2nb7
+ add support for gcc4
2006-10-21 11:53:13 +00:00

35 lines
1.1 KiB
Text

$NetBSD: patch-ae,v 1.1 2006/10/21 11:53:13 agc Exp $
--- ./async/refcnt.h.orig 2002-09-21 00:05:21.000000000 +0100
+++ ./async/refcnt.h
@@ -408,6 +408,8 @@ template<class T>
class ref : public refpriv, public refops<T> {
friend class refpriv;
+ refops<T>::p;
+
friend ref<T> mkref<T> (T *);
ref (T *pp, refcount *cc) : refpriv (cc) { p = pp; inc (); }
@@ -455,6 +457,8 @@ template<class T>
class ptr : public refpriv, public refops <T> {
friend class refpriv;
+ refops<T>::p;
+
void inc () const { if (c) (rinc (c)); }
void dec () const { if (c) (rdec (c)); }
@@ -509,10 +513,11 @@ public:
template<class T>
struct bssptr : ptr<T> {
+
// Don't initialize (assume we were 0 initialized in the BSS)
bssptr () : ptr<T> (__bss_init ()) {}
// Override the effects of destruction
- ~bssptr () { assert (globaldestruction); if (*this != NULL) Xleak (); }
+ ~bssptr () { assert (globaldestruction); if (*this != NULL) this->Xleak (); }
ptr<T> &operator= (refpriv::privtype *p) { return ptr<T>::operator= (p); }
template<class U> ptr<T> &operator= (const ptr<U> &r)
{ return ptr<T>::operator= (r); }