6.37 Атрибуты перечислителей
GCC позволяет задавать атрибуты перечислителям. Подробнее о синтаксисе атрибутов см. в разделе Синтаксис атрибутов. Другие атрибуты доступны для функций (см. Объявление атрибутов функций), переменных (см. Указание атрибутов переменных), меток (см. Атрибуты меток), операторов (см. Атрибуты операторов) и типов (см. Указание атрибутов типов).
В этом примере используется атрибут перечислителя deprecated для обозначения того, что перечислитель oldval устарел:
enum E {
oldval __attribute__((deprecated)),
newval
};
int
fn (void)
{
return oldval;
}
-
deprecated -
Атрибут
deprecatedприводит к появлению предупреждения, если перечислитель используется где-либо в исходном файле. Это полезно для выявления перечислителей, которые планируется удалить в будущей версии программы. Предупреждение также содержит местоположение объявления устаревшего перечислителя, что позволяет пользователям легко найти дополнительную информацию о причинах устаревания перечислителя или о том, что следует использовать вместо него. Обратите внимание, что предупреждения возникают только при использовании. -
unavailable -
Атрибут
unavailableприводит к ошибке, если перечислитель используется где-либо в исходном файле. В остальном он ведет себя аналогично атрибутуdeprecated.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gcc/Enumerator-Attributes.html