How are unknown attributes supposed to be treated before C++17?

Viewed 43

cppreference says that

All attributes unknown to an implementation are ignored without causing an error.

... but that this edict was introduced in C++17. What about earlier versions of C++? Are unknown attributes supposed to be errors? Is it implementation-defined what to do with them?

1 Answers

It was implementation-defined since its introduction in C++11.

See [dcl.attr.grammar]/5:

For an attribute-token not specified in this International Standard, the behavior is implementation-defined.

Related