Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: Re: EPICS 7.0.1-pre1 (epicsException.h)
From: Michael Davidsaver <mdavidsaver@gmail.com>
To: Andrew Johnson <anj@aps.anl.gov>, core-talk@aps.anl.gov
Date: Tue, 28 Nov 2017 16:05:03 -0600
On 11/28/2017 12:45 PM, Andrew Johnson wrote:
>> diff --git a/src/client/pva/client.h b/src/client/pva/client.h
>> index 08998b3..7721adb 100644
>> --- a/src/client/pva/client.h
>> +++ b/src/client/pva/client.h
>> @@ -193,7 +193,11 @@ void registerRefTrack();
>>   */
>>  class epicsShareClass ClientChannel
>>  {
>> +#if defined __GNUC__ && __GNUC__*100+__GNUC_MINOR__ < 305
>> +public:
>> +#endif
>>      struct Impl;
>> +private:
>>      std::tr1::shared_ptr<Impl> impl;
>>      friend class ClientProvider;
>>      friend void detail::registerRefTrack();
> That looks a little strange, but could be a valid workaround to a gcc issue.

It is a workaround, and I can't think of a better one.  The issue is that the

"friend class ClientProvider;" should apply to "ClientProvider::Impl" as well.
Apparently this isn't the case for gcc 3.5.

Exposing this type isn't a practical issue as there isn't much which can be done with it.
The definition is hidden and the methods which use it remain private.

>> I was expecting a change like this to pvif (in class FieldName), so
>> I'm not clear what's going on here.
> I don't see anything comparable in pvif.h.

It's the situation where

> void method(const FieldName&);
> ...
>   method(Fieldname())

required an accessible copy ctor in older iterations of the c++ standard,
although I hope it would never actually be called.

References:
EPICS 7.0.1-pre1 Andrew Johnson
Re: EPICS 7.0.1-pre1 Dirk Zimoch
Re: EPICS 7.0.1-pre1 (epicsException.h) Dirk Zimoch
Re: EPICS 7.0.1-pre1 (epicsException.h) Andrew Johnson
Re: EPICS 7.0.1-pre1 (epicsException.h) Dirk Zimoch
Re: EPICS 7.0.1-pre1 (epicsException.h) Dirk Zimoch
Re: EPICS 7.0.1-pre1 (epicsException.h) Andrew Johnson
Re: EPICS 7.0.1-pre1 (epicsException.h) Michael Davidsaver
Re: EPICS 7.0.1-pre1 (epicsException.h) Andrew Johnson

Navigate by Date:
Prev: Re: EPICS 7.0.1-pre1 (epicsException.h) Michael Davidsaver
Next: Re: EPICS 7.0.1-pre1 -- vxWorks 6.2 Andrew Johnson
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: Re: EPICS 7.0.1-pre1 (epicsException.h) Michael Davidsaver
Next: Re: EPICS 7.0.1-pre1 (epicsException.h) Dirk Zimoch
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 29 Nov 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·