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

[cpp.predefined] Footnote 152 contains "should" #1414

Open
Eelis opened this issue Jan 31, 2017 · 5 comments
Open

[cpp.predefined] Footnote 152 contains "should" #1414

Eelis opened this issue Jan 31, 2017 · 5 comments
Assignees
Labels
cwg Issue must be reviewed by CWG. lwg Issue must be reviewed by LWG.

Comments

@Eelis
Copy link
Contributor

Eelis commented Jan 31, 2017

Footnote 152 (which talks about the __cplusplus macro) reads:

It is intended that future versions of this International Standard will replace the value of this macro with a greater value. Non-conforming compilers should use a value with at most five decimal digits.

But the ISO/IEC Directives Part 2 (section 26.5) disallow "should" in footnotes:

Footnotes shall not contain requirements (e.g. use of "shall", see Table 3) or any information
considered indispensable for the use of the document, for example instructions (imperative
mood), recommendations (e.g. use of "should", see Table 4) or permission (e.g. use of "may",
see Table 5). Footnotes should be written as a statement of fact.

@Eelis Eelis changed the title Footnote 152 contains "shall" Footnote 152 contains "should" Jan 31, 2017
@Eelis
Copy link
Contributor Author

Eelis commented Jan 31, 2017

Found a few more:

Footnote 246:

Interpretation of the modifier argument is implementation-defined, but should follow POSIX conventions.

Footnote 334:

An implementation should consider alsize in making this decision.

Footnote 280 even has a "shall":

This copy constructor creates a distinct array rather than an alias. Implementations in which arrays share storage are permitted, but they shall implement a copy-on-reference mechanism to ensure that arrays are conceptually distinct.

And footnote 293 has the intriguing "should probably":

streamsize is used in most places where ISO C would use size_­t. Most of the uses of streamsize could use size_­t, except for the strstreambuf constructors, which require negative values. It should probably be the signed type corresponding to size_­t (which is what Posix.2 calls ssize_­t)

@jensmaurer
Copy link
Member

I'm not overly concerned by the use of "should" here, but it seems to me that some of the quoted footnotes should rather be notes, in particular the ones in the library section.

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

Editorial meeting consensus:

  • 152: could be a note
  • 246: should be normative LWG
  • 334: This is Annex D; ignore the issue.
  • 280: should be normative, or say "or would need to ... (do this)" LWG
  • 293: delete from the word "Most" onwards

@jensmaurer jensmaurer added lwg Issue must be reviewed by LWG. and removed decision-required A decision of the editorial group (or the Project Editor) is required. labels Mar 2, 2017
@jensmaurer jensmaurer self-assigned this Mar 25, 2018
@Eelis
Copy link
Contributor Author

Eelis commented Nov 26, 2018

Found a few more:

Footnote 85 in [expr.const]:

Nonetheless, implementations should provide consistent results, irrespective of whether the evaluation was performed during translation and/or during program execution.

Footnote 288 in [iostream.objects.overview]:

If it is possible for them to do so, implementations should initialize the objects earlier than required.

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

Editorial meeting consensus: Both are normative encouragement, make them non-notes.

  • 85: Need CWG approval.
  • 288: Don't like the phrasing; it's wrong. We mean "as early as possible". LWG.

@jensmaurer jensmaurer added cwg Issue must be reviewed by CWG. and removed decision-required A decision of the editorial group (or the Project Editor) is required. labels Feb 22, 2019
@jensmaurer jensmaurer changed the title Footnote 152 contains "should" [cpp.predefined] Footnote 152 contains "should" Sep 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cwg Issue must be reviewed by CWG. lwg Issue must be reviewed by LWG.
Projects
None yet
Development

No branches or pull requests

2 participants