В N3291 "7.6.1. (3/5) Синтаксис и семантика атрибутов [decl.attr.grammar]" относительно того, как атрибуты записаны в исходном коде, который я читаю
Использование токена атрибута условно поддерживается с поведением, определяемым реализацией.
и
Для атрибута-токена , не указанного в этом международном стандарте, поведение определяется реализацией.
Означает ли это, что спецификации атрибутов, такие как
[[ dllexport ]]
[[ hiding ]]
[[ unused ]]
[[ vendor::attrib ]]
может жаловаться на стандартный соответствующий компилятор ?Итак, он может сообщить об ошибке и остановить компиляцию?
Я бы надеялся, что компилятор должен игнорировать атрибуты , которые он не знает, как их обрабатывать.Хорошо, это может быть опасно, потому что опечатки в атрибутах могут быть пропущены, например, [[ noretrun ]]
или [[ carrys_dependencie ]]
: -)
Но особенно здесь помогут пространства имен, верно?Когда я компилирую [[ gcc::mips ]]
на компиляторе Microsoft , он должен игнорировать это, а не отклонять его, верно?