$NetBSD$

--- ./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); }
