Closed wg21bot closed 1 year ago
Paper: https://github.com/cplusplus/papers/issues/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).
SF | F | N | A | SA |
---|---|---|---|---|
14 | 14 | 6 | 1 | 6 |
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).
SF | F | N | A | SA |
---|---|---|---|---|
9 | 6 | 9 | 11 | 6 |
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.
SF | F | N | A | SA |
---|---|---|---|---|
3 | 7 | 16 | 6 | 4 |
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.
SF | F | N | A | SA |
---|---|---|---|---|
1 | 11 | 14 | 9 | 1 |
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).
SF | F | N | A | SA |
---|---|---|---|---|
8 | 15 | 11 | 7 | 2 |
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).
SF | F | N | A | SA |
---|---|---|---|---|
9 | 7 | 12 | 11 | 2 |
Result: No Consensus
CWG2538
CWG 2022-11-08: Approved CWG2538.
Accepted with Modifications. Attributes specified by the standard cannot be syntactically ignored; see CWG2538 for details.
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.