Movatterモバイル変換


[0]ホーム

URL:


Issue 1949 - WG21 CWG Issues
Title
“sequenced after” instead of “sequenced before”
Status
cd4
Section
6.10.1 [intro.execution]
Submitter
Richard Smith

Created on2014-06-18.00:00:00 last changed109 months ago

Messages

msg6062 (view)
Date: 2015-10-15.00:00:00

[Moved to DR at the October, 2015 meeting.]

msg5442 (view)
Date: 2015-05-15.00:00:00

Proposed resolution (May, 2015):

  1. Change 6.10.1 [intro.execution] paragraph 13 as follows:

  2. Sequenced before is an asymmetric, transitive,pair-wise relation between evaluations executed by a singlethread (6.10.2 [intro.multithread]), which induces a partialorder among those evaluations. Given any twoevaluationsA andB, ifA is sequencedbeforeB(or, equivalently,Bissequenced afterA), then the executionofA shall precede the executionofB. IfA is not sequenced beforeB...
  3. Change 6.10.2 [intro.multithread] paragraph 14 as follows:

  4. An evaluationAhappens before anevaluationB(or,equivalently,Bhappens afterA)if:...
  5. Change 6.10.1 [intro.execution] paragraph 15 as follows:

  6. ...Every evaluation in the calling function (including otherfunction calls) that is not otherwise specifically sequencedbefore or after the execution of the body of the calledfunction is indeterminately sequenced with respect to theexecution of the called functionFor each functioninvocationF, for every evaluationA that occurswithinF and every evaluationB that does not occurwithinF but is evaluated on the same thread and as partof the same signal handler (if any), eitherA issequenced beforeB orB is sequenced beforeA.9[Note: ifA andB would not otherwise be sequenced then they areindeterminately sequenced. —end note]Several contexts...
  7. Change 6.10.3.2 [basic.start.static] paragraph 4 as follows:

  8. It is implementation-defined whether the dynamicinitialization of a non-local variable with static storagedurationis donehappens before thefirst statement ofmain. If the initialization isdeferred tosome point in timehappenafter the first statement ofmain, itshalloccurhappens before the first odr-use(6.3 [basic.def.odr]) of any function or variable...
  9. Change 6.10.3.2 [basic.start.static] paragraph 5 as follows:

  10. It is implementation-defined whether the dynamicinitialization of a non-local variable with static or threadstorage duration isdonesequencedbefore the first statement of the initial function of thethread. If the initialization is deferred to some point intimesequenced after the first statement of theinitial function of the thread, itshalloccuris sequenced before the first odr-use(6.3 [basic.def.odr]) of any variable with threadstorage duration defined in the same translation unit as thevariable to be initialized.
  11. Change 8.6.4 [stmt.for] paragraph 1 as follows:

  12. ...[Note: Thus the first statement specifiesinitialization for the loop; the condition(8.5 [stmt.select]) specifies atest,madesequenced before eachiteration, such that the loop is exited when the conditionbecomesfalse; the expression often specifiesincrementing that isdonesequencedafter each iteration. —end note]
  13. Add the following as a new paragraph at the end ofClause 14 [except]:

  14. In this section, “before” and “after”refer to the “sequenced before” relation(6.10.1 [intro.execution]).
msg5179 (view)
Date: 2014-06-18.00:00:00

The term “sequenced after” is used in both the core andlibrary clauses instead of the more-correct “sequencedbefore.”

History
DateUserActionArgs
2017-02-06 00:00:00adminsetstatus: dr -> cd4
2015-11-10 00:00:00adminsetmessages: +msg6062
2015-11-10 00:00:00adminsetstatus: ready -> dr
2015-05-25 00:00:00adminsetmessages: +msg5442
2015-05-25 00:00:00adminsetstatus: drafting -> ready
2014-06-18 00:00:00admincreate

[8]ページ先頭

©2009-2026 Movatter.jp