From 56403e8e4774dccc3819cab27bc975f48ab5f988 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Mon, 7 Dec 2020 11:36:01 +0100 Subject: [PATCH] Fix scope of tsDLList when used in other classes Use ::tsDLList to avoid resolving to privately inherited name (which was breaking builds on newer clang compilers) (cherry-picked from EPICS Base 3.15) --- src/pcas/generic/caServerI.h | 4 ++-- src/pcas/generic/casPVI.cc | 16 ++++++++-------- src/pcas/generic/casPVI.h | 18 +++++++++--------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/pcas/generic/caServerI.h b/src/pcas/generic/caServerI.h index 012233693..bfedf55ae 100644 --- a/src/pcas/generic/caServerI.h +++ b/src/pcas/generic/caServerI.h @@ -88,8 +88,8 @@ public: private: clientBufMemoryManager clientBufMemMgr; tsFreeList < casMonitor, 1024 > casMonitorFreeList; - tsDLList < casStrmClient > clientList; - tsDLList < casIntfOS > intfList; + ::tsDLList < casStrmClient > clientList; + ::tsDLList < casIntfOS > intfList; mutable epicsMutex mutex; mutable epicsMutex diagnosticCountersMutex; caServer & adapter; diff --git a/src/pcas/generic/casPVI.cc b/src/pcas/generic/casPVI.cc index 48692b99b..3a889d706 100644 --- a/src/pcas/generic/casPVI.cc +++ b/src/pcas/generic/casPVI.cc @@ -292,7 +292,7 @@ void casPVI::postEvent ( const casEventMask & select, const gdd & event ) } caStatus casPVI::installMonitor ( - casMonitor & mon, tsDLList < casMonitor > & monitorList ) + casMonitor & mon, ::tsDLList < casMonitor > & monitorList ) { epicsGuard < epicsMutex > guard ( this->mutex ); assert ( this->nMonAttached < UINT_MAX ); @@ -308,7 +308,7 @@ caStatus casPVI::installMonitor ( } casMonitor * casPVI::removeMonitor ( - tsDLList < casMonitor > & list, ca_uint32_t clientIdIn ) + ::tsDLList < casMonitor > & list, ca_uint32_t clientIdIn ) { epicsGuard < epicsMutex > guard ( this->mutex ); casMonitor * pMon = 0; @@ -365,8 +365,8 @@ void casPVI::installChannel ( chanIntfForPV & chan ) } void casPVI::removeChannel ( - chanIntfForPV & chan, tsDLList < casMonitor > & src, - tsDLList < casMonitor > & dest ) + chanIntfForPV & chan, ::tsDLList < casMonitor > & src, + ::tsDLList < casMonitor > & dest ) { epicsGuard < epicsMutex > guard ( this->mutex ); src.removeAll ( dest ); @@ -380,7 +380,7 @@ void casPVI::removeChannel ( } } -void casPVI::clearOutstandingReads ( tsDLList < casAsyncIOI > & ioList ) +void casPVI::clearOutstandingReads ( ::tsDLList < casAsyncIOI > & ioList ) { epicsGuard < epicsMutex > guard ( this->mutex ); @@ -400,7 +400,7 @@ void casPVI::clearOutstandingReads ( tsDLList < casAsyncIOI > & ioList ) } } -void casPVI::destroyAllIO ( tsDLList < casAsyncIOI > & ioList ) +void casPVI::destroyAllIO ( ::tsDLList < casAsyncIOI > & ioList ) { epicsGuard < epicsMutex > guard ( this->mutex ); while ( casAsyncIOI * pIO = ioList.get() ) { @@ -412,7 +412,7 @@ void casPVI::destroyAllIO ( tsDLList < casAsyncIOI > & ioList ) } void casPVI::installIO ( - tsDLList < casAsyncIOI > & ioList, casAsyncIOI & io ) + ::tsDLList < casAsyncIOI > & ioList, casAsyncIOI & io ) { epicsGuard < epicsMutex > guard ( this->mutex ); ioList.add ( io ); @@ -421,7 +421,7 @@ void casPVI::installIO ( } void casPVI::uninstallIO ( - tsDLList < casAsyncIOI > & ioList, casAsyncIOI & io ) + ::tsDLList < casAsyncIOI > & ioList, casAsyncIOI & io ) { { epicsGuard < epicsMutex > guard ( this->mutex ); diff --git a/src/pcas/generic/casPVI.h b/src/pcas/generic/casPVI.h index feea79d23..9732119da 100644 --- a/src/pcas/generic/casPVI.h +++ b/src/pcas/generic/casPVI.h @@ -49,21 +49,21 @@ public: caStatus attachToServer ( caServerI & cas ); aitIndex nativeCount (); bool ioIsPending () const; - void clearOutstandingReads ( tsDLList < class casAsyncIOI > &); + void clearOutstandingReads ( ::tsDLList < class casAsyncIOI > &); void destroyAllIO ( - tsDLList < casAsyncIOI > & ); + ::tsDLList < casAsyncIOI > & ); void installIO ( - tsDLList < casAsyncIOI > &, casAsyncIOI & ); + ::tsDLList < casAsyncIOI > &, casAsyncIOI & ); void uninstallIO ( - tsDLList < casAsyncIOI > &, casAsyncIOI & ); + ::tsDLList < casAsyncIOI > &, casAsyncIOI & ); void installChannel ( chanIntfForPV & chan ); void removeChannel ( - chanIntfForPV & chan, tsDLList < casMonitor > & src, - tsDLList < casMonitor > & dest ); + chanIntfForPV & chan, ::tsDLList < casMonitor > & src, + ::tsDLList < casMonitor > & dest ); caStatus installMonitor ( - casMonitor & mon, tsDLList < casMonitor > & monitorList ); + casMonitor & mon, ::tsDLList < casMonitor > & monitorList ); casMonitor * removeMonitor ( - tsDLList < casMonitor > & list, ca_uint32_t clientIdIn ); + ::tsDLList < casMonitor > & list, ca_uint32_t clientIdIn ); void deleteSignal (); void postEvent ( const casEventMask & select, const gdd & event ); caServer * getExtServer () const; @@ -84,7 +84,7 @@ public: private: mutable epicsMutex mutex; - tsDLList < chanIntfForPV > chanList; + ::tsDLList < chanIntfForPV > chanList; gddEnumStringTable enumStrTbl; caServerI * pCAS; casPV * pPV;