Possible language changes

Ben Hutchings ben at decadentplace.org.uk
Thu Sep 2 21:12:13 BST 2004


I skimmed through the language part of the standard, looking for
anything that might be affected by concurrency:

1.3 [intro.defs] We may need to add definitions of "thread" and other
terms.

1.9/6-11 [intro.execution] We need to change the specification of the
sequencing of operations and the definition of observable behaviour to
allow for concurrency and synchronisation.  We may wish to specify
more precise semantics for volatile.

2.11 [lex.key] We may wish to add keywords.

3.6.1, 3.6.3 [basic.start.main, basic.start.term] We should either
specify what happens if main exits or if exit() or abort() is called
while multiple threads exist, or else state that this results in
undefined behaviour.

3.6.2/3 [basic.start.init] We should specify that static
initialisation at namespace scope is always synchronised if done while
multiple threads exist.

6 [stmt.stmt] We may wish to add synchronisation statements.

6.7/4 [stmt.dcl] We should specify static initialisation at local
scope in such a way that it can be or is always synchronised.

7 [dcl.dcl] We may wish to add some new form of declaration.

15 [except] We must change some parts of this slightly to allow for
concurrency, including at least 15.1/7, 15.1/8, 15.2/1, 15.2/2,
15.5.3

-- 
Ben Hutchings
Lowery's Law:
             If it jams, force it. If it breaks, it needed replacing anyway.



More information about the cpp-threads mailing list