Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: C++ compatibility
From: "Pelaia II, Tom" <pelaiata@ornl.gov>
To: Jeff Hill <johill@lanl.gov>
Cc: EPICS core-talk <core-talk@aps.anl.gov>
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        johill@lanl.gov
> 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:anj@aps.anl.gov]
>> 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" <pelaiata@ornl.gov>
>> To: Andrew Johnson <anj@aps.anl.gov>
>> 
>> 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 
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 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·