В некоторых заголовочных файлах, которые я не могу изменить, у меня есть следующий набор определений:
#define FLAG1 (0x0000_0001)
#define FLAG2 (0x0000_0002)
...
Затем в своем коде я использую их в switch:
switch (aaa) {
case FLAG1:
....
case FLAG2:
....
}
В результате Coverity сообщает о 2 дефектах на каждой этикетке:
RW.EXP_RPAREN:
Event exp_rparen: expected a ")"
RW.CASE_LABEL_CONFLICT:
Event case_label_conflict: case label value has already appeared in
this switch at line XX
Что не так с этими ярлыками дел? Это нарушает стандарты C?