C2X has introduced "Attribute specifier sequence", which can be of these forms:
1) standard attribute, such as [[fallthrough]]
2) attribute with a namespace, such as [[gnu::unused]]
3) standard attribute with arguments, such as [[deprecated("reason")]]
4) attribute with both a namespace and an argument list, such as [[gnu::nonnull(1)]]
What happens when an implementation sees an attribute it doesn't recognize? Is it required to print an error, or ignore it, or print some diagnostic information?