Spec-Zone.ru › GCC 10

Следующая: Синтаксис атрибутов, Предыдущая: Атрибуты перечислителей, Вверх: Расширения для семейства языков C [Оглавление][Индекс]

6.38 Атрибуты операторов ¶

GCC позволяет задавать атрибуты для операторов присваивания. Подробности о точном синтаксисе использования атрибутов см. в Синтаксисе атрибутов. Другие атрибуты доступны для функций (см. Объявление атрибутов функций), переменных (см. Указание атрибутов переменных), меток (см. Атрибуты меток), перечислителей (см. Атрибуты перечислителей) и типов (см. Указание атрибутов типов).

В этом примере используется атрибут оператора fallthrough для указания того, что предупреждение -Wimplicit-fallthrough не должно выдаваться:

switch (cond)
  {
  case 1:
    bar (1);
    __attribute__((fallthrough));
  case 2:
    …
  }
fallthrough

Атрибут fallthrough с пустым оператором служит оператором безусловного перехода. Он указывает компилятору, что переход к другой метке case или пользовательской метке в операторе switch является преднамеренным, и поэтому предупреждение -Wimplicit-fallthrough не должно срабатывать. Атрибут fallthrough может быть указан не более одного раза в списке атрибутов и не может быть смешан с другими атрибутами. Он может использоваться только в операторе switch (в противном случае компилятор выдаст ошибку), после предыдущего оператора и перед логически следующим case-меткой или пользовательской меткой.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.5.0/gcc/Statement-Attributes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API