[cpp-threads] static locals
Kevlin Henney
kevlin at curbralan.com
Sun May 29 12:29:42 BST 2005
In message <000901c5642e$28f8bbb0$6401a8c0 at pdimov2>, Peter Dimov
<pdimov at mmltd.net> writes
>
>My opinion is that all local statics should be synchronized (as in the
>IA64 ABI) and that __async volatile should not be introduced. So... if
>I take a step back I see no need for new syntactic additions. ;-)
In other words, referring to the categories I introduced, no need for
(1), and therefore no need for (2) ;-> However, it is unlikely that this
view will be shared by others, which means that (1) is likely to be a
non-empty set, and therefore there will need to be something in (2).
>That aside, static is a storage class, but volatile is a cv qualifier;
>adding arbitrary "attributes" to cv qualifiers and into the type system
>would be a big change.
Adding a thread-sensible memory model is also a big change, as is adding
new keywords or recycling existing ones. What I have proposed is a
smaller and regular change -- it makes little difference whether we are
talking about specifiers or qualifiers given that neither generally
supports the syntax suggested.
Importantly, there is no sense of "arbitrary": the scope of what is
added is constrained by (1). If an implementation wants to use that
syntax to add its own extensions, it is free to do so -- the current
option of adding keywords in arbitrary places lacks any kind of
regularity -- but what I have suggested should not be mistaken for a
fully extensible annotation framework in the language -- if someone
wants to do that, that would be a separate project.
Kevlin
--
____________________________________________________________
Kevlin Henney phone: +44 117 942 2990
mailto:kevlin at curbralan.com mobile: +44 7801 073 508
http://www.curbralan.com fax: +44 870 052 2289
Curbralan: Consultancy + Training + Development + Review
____________________________________________________________
More information about the cpp-threads
mailing list