Запятая в конце перечислителя действительна в 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