Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[intro] contains subclauses that belong in [basic] #1539

Closed
zygoloid opened this issue Mar 14, 2017 · 3 comments
Closed

[intro] contains subclauses that belong in [basic] #1539

zygoloid opened this issue Mar 14, 2017 · 3 comments
Milestone

Comments

@zygoloid
Copy link
Member

[intro] contains subclauses that belong in [basic].

This has been made more obvious by the ISO-mandated extraction of clauses 1-3. We have the broad and not-particularly-technical introductory sections "Implementation compliance", "Structure of this International Standard", "Syntax notation", and "Acknowledgments". But jammed in between we have "The C++ memory model", "The C++ object model", "Program execution", and "Multi-threaded execution and data races", which belong in [basic].

... except that paragraphs 1-5 and 8 of [intro.execution] should perhaps stay in [intro], perhaps as an "Abstract machine" subclause of [intro.compliance].

Perhaps:

  • Insert a clause "Memory and objects" at the current location of [basic.stc], with subclauses [intro.memory], [intro.object], [basic.life], [basic.stc], [basic.align]
  • Insert a "Program execution" into [basic], maybe at the end, with subclauses [intro.execution] (renamed "Sequential execution"), [intro.multithread], [basic.start]
@zygoloid zygoloid added this to the C++20 milestone Mar 14, 2017
@jensmaurer
Copy link
Member

In general, I agree, but I'd suggest that the new "Memory and objects" subclause be inserted at the front (before [basic.def]). Once you live with the fact that there are "objects" (created by forward references to various places), [intro.execution] and [intro.multithread] are fairly self-sufficient.

Further, while we're rearranging [basic], it seems we should first introduce a program [basic.link] before discussing [basic.def.odr]. Performing such a move would also nicely group all subsections dealing with names ([basic.def], [basic.scope], [basic.lookup]).

While we're at it, introducing a subsection "Expression properties" under [expr] would also offer a new home for [basic.lval].

@jensmaurer jensmaurer added the decision-required A decision of the editorial group (or the Project Editor) is required. label Nov 2, 2017
@jensmaurer
Copy link
Member

Editorial meeting consensus: do the "Perhaps" part first, then reconsider.

@jensmaurer jensmaurer removed the decision-required A decision of the editorial group (or the Project Editor) is required. label Nov 7, 2017
@jensmaurer
Copy link
Member

See also #1771 and #1730 and #574.

jensmaurer added a commit to jensmaurer/draft that referenced this issue Nov 11, 2017
jensmaurer added a commit to jensmaurer/draft that referenced this issue Nov 11, 2017
AaronBallman pushed a commit to AaronBallman/draft that referenced this issue Nov 15, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants