EPICS Home

Experimental Physics and Industrial Control System


 
2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022 
<== Date ==> <== Thread ==>

Subject: Re: C++ compatibility
From: "Pelaia II, Tom" <[email protected]>
To: Jeff Hill <[email protected]>
Cc: EPICS core-talk <[email protected]>
Date: Sat, 12 Mar 2011 13:47:15 -0500
Hi Jeff,

Thanks for the feedback! There's no rush. 

As Andrew suspected, I was attempting to compile using Clang.

Thanks,
Tom


On Mar 11, 2011, at 9:27 PM, Jeff Hill wrote:

> Hi Tom,
> 
> I wasn’t aware of that, and it probably needs to 
> be fixed. The reference counting mutex class on the 
> cvs trunk might be a clean workaround. Also, presumably 
> the quick fix is to just use instead, a mutable 
> _pointer_.
> 
> Hopefully, I can get to this on Monday.
> 
> Jeff
> ______________________________________________________
> Jeffrey O. Hill           Email        [email protected]
> LANL MS H820              Voice        505 665 1831
> Los Alamos NM 87545 USA   FAX          505 665 5107
> 
> Message content: TSPA
> 
> With sufficient thrust, pigs fly just fine. However, this is
> not necessarily a good idea. It is hard to be sure where they
> are going to land, and it could be dangerous sitting under them
> as they fly overhead. -- RFC 1925
> 
> 
>> -----Original Message-----
>> From: Andrew Johnson [mailto:[email protected]]
>> Sent: Friday, March 11, 2011 12:39 PM
>> To: Jeff Hill; EPICS core-talk
>> Cc: Pelaia II, Tom
>> Subject: Fwd: C++ compatibility
>> 
>> Hi Jeff,
>> 
>> An issue for you from the CA client library.  Tom's right about the rule
>> (this
>> is not a recent change either, it's present in my 1998 first edition of
>> the
>> spec), but I have no idea why the restriction exists.  I'm guessing that
>> Apple's clang C++ compiler has started to check this.
>> 
>> Thanks Tom.
>> 
>> - Andrew
>> 
>> ----------  Forwarded Message  ----------
>> 
>> Subject: C++ compatibility
>> Date: Friday 11 March 2011
>> From: "Pelaia II, Tom" <[email protected]>
>> To: Andrew Johnson <[email protected]>
>> 
>> Hi Andrew,
>> 
>> I believe there is an error in some EPICS base source files in which
>> reference
>> members are declared mutable:
>> 
>> In file included from ../cac.cpp:39:
>> ../cac.h:269:5: error: 'mutable' cannot be applied to references
>>    mutable epicsMutex & mutex;
>>    ^
>> ../cac.h:270:5: error: 'mutable' cannot be applied to references
>>    mutable epicsMutex & cbMutex;
>>    ^
>> In file included from ../cac.cpp:47:
>> ../udpiiu.h:152:5: error: 'mutable' cannot be applied to references
>>    mutable epicsMutex & cbMutex;
>>    ^
>> ../udpiiu.h:153:5: error: 'mutable' cannot be applied to references
>>    mutable epicsMutex & cacMutex;
>>    ^
>> 
>> 
>> The C++ specification (section 7.1.1 item 10) explicitly forbids mutable
>> reference members:
>> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf
>> 
>> Best regards,
>> Tom
>> ___________________________________________________
>> Tom Pelaia  |  homepage: http://www.ornl.gov/~t6p
>> 
>> -----------------------------------------
>> --
>> An error is only a mistake if you don't learn from it.
>> When you learn something from it, it becomes a lesson.
> 



References:
Fwd: C++ compatibility Andrew Johnson
RE: C++ compatibility Jeff Hill

Navigate by Date:
Prev: RE: C++ compatibility Jeff Hill
Next: os independent interface to socket sendmsg/recvmsg Jeff Hill
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022 
Navigate by Thread:
Prev: RE: C++ compatibility Jeff Hill
Next: os independent interface to socket sendmsg/recvmsg Jeff Hill
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022