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.
- Replies:
- Re: C++ compatibility Pelaia II, Tom
- References:
- Fwd: C++ compatibility Andrew Johnson
- Navigate by Date:
- Prev:
Fwd: C++ compatibility Andrew Johnson
- Next:
Re: C++ compatibility Pelaia II, Tom
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
<2011>
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
- Navigate by Thread:
- Prev:
Fwd: C++ compatibility Andrew Johnson
- Next:
Re: C++ compatibility Pelaia II, Tom
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
<2011>
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
|