6.38 Атрибуты операторов ¶
GCC позволяет устанавливать атрибуты для операторов присваивания. Подробности точного синтаксиса использования атрибутов см. в Синтаксисе атрибутов. Другие атрибуты доступны для функций (см. Определение атрибутов функций), переменных (см. Указание атрибутов переменных), меток (см. Атрибуты меток), перечислителей (см. Атрибуты перечислителей) и типов (см. Указание атрибутов типов).
В этом примере используется атрибут оператора fallthrough для указания того, что предупреждение -Wimplicit-fallthrough не должно выводиться:
switch (cond)
{
case 1:
bar (1);
__attribute__((fallthrough));
case 2:
…
}
fallthrough-
Атрибут
fallthroughс оператором присваивания используется в качестве оператора прохода. Он указывает компилятору, что проход к другому метке случая или пользовательской метке в операторе switch является намеренным, и поэтому предупреждение -Wimplicit-fallthrough не должно срабатывать. Атрибут прохода может появляться не более одного раза в каждом списке атрибутов и не может быть смешан с другими атрибутами. Он может быть использован только в операторе switch (в противном случае компилятор выдаст ошибку), после предыдущего оператора и перед логически последующей меткой случая или пользовательской меткой.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.4.0/gcc/Statement-Attributes.html