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
[dcl.attr.grammar] Add note about the semantic ignorability of standard attributes CWG2695 #6076
Conversation
That's the first poll at cplusplus/papers#1212 (comment). |
@@ -8505,6 +8505,9 @@ | |||
the rules specifying to which entity or statement the attribute can apply or | |||
the syntax rules for the attribute's \grammarterm{attribute-argument-clause}, if any. | |||
\end{note} | |||
\begin{note} | |||
The \grammarterm{attribute}s specified in \ref{dcl.attr} have optional semantics: given a well-formed program, removing all instances of a particular such \grammarterm{attribute} results in a program whose observable behavior is a conforming realization of the original program. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The \grammarterm{attribute}s specified in \ref{dcl.attr} have optional semantics: given a well-formed program, removing all instances of a particular such \grammarterm{attribute} results in a program whose observable behavior is a conforming realization of the original program. | |
The \grammarterm{attribute}s specified in \ref{dcl.attr} have optional semantics: given a well-formed program, removing all instances of any one of those \grammarterm{attribute}s results in a program whose set of possible executions ([intro.abstract]) for a given input is a subset of those of the original program for the same input, absent implementation-defined guarantees with respect to that \grammarterm{attribute}. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
([intro.abstract])
should be \iref{intro.abstract}
.
@tkoeppe , I'm going to turn this into a core issue. |
Sounds good, thank you! |
On 2023-02-06 in Issaquah, EWG had consensus on the following poll:
The semantic ignorability of standard attributes in general should be explicitly stated in the C++26 standard (Question 2 in paper P2552R1, Option 2a).
SF/F/N/A/SA 8/18/1/2/0 Consensus
EWG directed me to draft wording, which I presented to EWG on 2023-06-08.
Following that, EWG directed me to create a PR against the C++ draft, containing this draft wording, since this is a clarifying note with no normative changes and can be handled editorially.