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

[C++17 DIS comment 007] [support.start.term]p13 restore xref to C 7.22.4.5 #1719

Closed
zygoloid opened this issue Sep 6, 2017 · 7 comments
Closed
Labels
ballot-comment Response to an NB or ISO comment on a ballot
Milestone

Comments

@zygoloid
Copy link
Member

zygoloid commented Sep 6, 2017

This is unclear: C 7.22.4.5 says that it's implementation-defined whether standard file buffers are flushed. Did this change between C99 and C11? Perhaps we should delete the note instead?

@zygoloid zygoloid added the ballot-comment Response to an NB or ISO comment on a ballot label Sep 6, 2017
@zygoloid zygoloid modified the milestone: C++17 IS Sep 6, 2017
@tkoeppe
Copy link
Contributor

tkoeppe commented Sep 7, 2017

I haven't traced the change back yet, but it seems that the original reference was inappropriate there (7.22.4.5 is _Exit, not quick_exit); a "see also" cannot appear in that place, and we already have the reference to 7.22.4 right below that covers the entire set of exit functions.

@tkoeppe
Copy link
Contributor

tkoeppe commented Sep 7, 2017

I deleted the reference in faba9f7, mostly because a "see also" isn't allowed there, and I figured that the reference was not helpful.

@tkoeppe
Copy link
Contributor

tkoeppe commented Sep 7, 2017

Suggested response: REJECT, explanation: The cross-reference was incorrect and not helpful, and a cross-reference may not appear inline anyway. A better reference to 7.22.4 as a whole is provided (in the correct form) in the very next paragraph.

@jensmaurer
Copy link
Member

@tkoeppe: Agreed.

@zygoloid
Copy link
Member Author

I think this misses the point.

Here's the rest of the note to which the xref was attached:

[ Note: The standard file buffers are not flushed. — end note ]

But quick_exit calls _Exit(status), which per p2 "has the semantics specified in the C standard library"; in C11 7.22.4.5, we find: "Whether open streams with unwritten buffered data are flushed, open streams are closed, or temporary files are removed is implementation-defined."

So the xref to C's spec for _Exit was appropriate, but the problem is that the note is simply wrong.

Suggested response: ACCEPTED WITH MODIFICATION. The note containing the cross-reference was not justified by the normative wording and has been removed.

@tkoeppe
Copy link
Contributor

tkoeppe commented Sep 12, 2017

@zygoloid: I see, makes sense.

@zygoloid
Copy link
Member Author

Note removed in 73b06fa on c++17 and 1323266 on master. Resolution: ACCEPTED WITH MODIFICATION, per above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ballot-comment Response to an NB or ISO comment on a ballot
Projects
None yet
Development

No branches or pull requests

3 participants