In the declaration for an entity, attributes appertaining to that
entity can appear at the start of the declaration and after the
declarator-id for that declaration.
— end note]
[Example 1: [[noreturn]]void f [[noreturn]](); // OK — end example]
Unless otherwise stated, utterances in
[dcl.dcl] about components in, of, or contained by a
declaration or subcomponent thereof refer only to those components of
the declaration that are not nested within scopes nested within
the declaration.
If the value of the expression when
so converted is true, the declaration has no
effect.
Otherwise, the program is ill-formed, and the resulting
diagnostic message ([intro.compliance]) shall include the text of
the string-literal, if one is supplied,
except that characters not in the basic
source character set are not required to appear in
the diagnostic message.
[Example 3: static_assert(sizeof(int)==sizeof(void*), "wrong pointer size");
— end example]