-
Notifications
You must be signed in to change notification settings - Fork 4
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
GB-055 9.12.1p6 [dcl.attr.grammar] Ignoring standard attributes #430
Comments
Paper: cplusplus/papers#1212 (updated draft https://isocpp.org/files/papers/D2552R1.pdf) |
From D2552R1, we support the adoption of the proposed wording for option 1.A on Syntactic ignorability: Specify that standard attributes cannot be syntactically ignored for C++23 (= adopt proposed resolution for CWG2538 as recommended by CWG).
Result: Consensus From D2552R1, we support the adoption of the proposed wording for option 1.B on Syntactic ignorability: Specify that standard attributes can be syntactically ignored for C++23 (= parsed as a balanced-token-sequence and then skipped entirely; argument clause and appertainment do not need to be syntax checked; entities inside the argument clause do not need to be ODR-used).
Result: No Consensus From D2552R1, we want to adopt wording for option 2.A on Semantic ignorability: Specify that standard attributes are meant to be semantically ignorable, and what this means exactly, normatively in the C++ standard, for C++23.
Result: No Consensus From D2552R1, we want to adopt wording for option 2.B on Semantic ignorability: Specify this in a separate new Standing Document (SD) instead. This SD might also contain other design principles for new language features.
Result: No Consensus From D2552R1, we would want to adopt wording for option 3.A on __has_cpp_attribute: Specify that __has_cpp_attribute should return a positive value for a standard attribute only if an an implementation has a useful implementation of its semantics (GCC behaviour).
Result: No Consensus From D2552R1, we would want to adopt wording for option 3.B on __has_cpp_attribute: Specify that __has_cpp_attribute should also return a positive value for a standard attribute if an implementation can syntax-parse it, even if it does not implement any useful semantics (Clang and ICC behaviour).
Result: No Consensus |
It is unclear whether implementations can ignore standard attributes.
The standard states: "Any attribute-token that is not recognized by the implementation is ignored."
It is unclear whether this applies to attributes listed in the standard itself.
See CWG2538 and P2552R0.
The text was updated successfully, but these errors were encountered: