Проверьте все битовые поля в C одновременно

Допустим, у меня есть структура C, определенная как

struct data {
    /* some memebers */

    int flag_a:1;
    int flag_b:1;
    int flag_c:1;

    /* some other members */
}

Есть ли способ воспользоваться преимуществами битовых полей, представляемых в памяти как одно целое, и записать условиеs.flag_a | s.flag_b | s.flag_c как более простое выражение, такое какs.flags?

Или умный компилятор, такой как GCC, сможет это сделать?

Редактировать: Чтобы прояснить ситуацию: я ищу портативный способ проверки всех устанавливаемых флагов без явного тестирования каждого из них в отдельности.

Ответы на вопрос(2)

Ваш ответ на вопрос