GCC: возможно ли отключить предупреждение "запятая в конце списка перечислителей" при использовании -pedantic? - PullRequest
8 голосов
/ 16 июня 2009

Я компилирую код C ++ и хотел бы включить опцию -pedantic.
Я использую GCC 4.0, работаю в Xcode на Mac OS X Leopard.
Например, можно использовать макросы с переменным значением и тип long long, которые обычно запрещаются при использовании -pedantic (с -Wno-variadic-macros и -Wno-long-long). Но я не смог найти ничего, чтобы отключить " запятую в конце списка перечислителей ".
Возможно ли это?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 16 июня 2009

Запятая в конце перечислителя действительна в C99, но не в C89, поэтому сработает следующее, если ваш код действителен C99

gcc -std=c99 -pedantic foo.c

Я вполне уверен, что он вообще недопустим в C ++ (согласно g ++)

Редактировать: проверено это с GCC 4.2.1 на HP-UX, и оно работает без ошибок / предупреждений foo.c

int main(int argc, char** argv) {
    enum { A, B, };
    return 0;
}


gcc -std=c99 -pedantic foo.c
2 голосов
/ 18 декабря 2012

В C ++ пока невозможно отключить его, хотя это допустимо в C ++ 11. Поэтому в будущем, когда GCC будет исправлен, -std = c ++ 11 должен отключить его.

-std = c99 работает только на C, а не на C ++ (как в вопросе).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...