Я заметил забавное поведение с clang (я использую 3.6.0), и я не нашел никаких ссылок об этом в документации или где-либо еще. Вот небольшой пример:
int main(){
int a;
return 0;
}
Я скомпилирую его с clang++ -Wall -W -Werror -Wno-error=unused-variable main.cpp
, и у меня есть ожидаемое предупреждение:
main.cpp:2:9: warning: unused variable 'a' [-Wunused-variable]
int a;
1 warning generated.
Теперь попробуйте clang++ -Werror -Wno-error=unused-variable -Wall -W main.cpp
main.cpp:2:9: error: unused variable 'a' [-Werror,-Wunused-variable]
int a;
1 error generated.
Я что-то пропустил? Ожидается? В этом случае gcc компилирует обе строки.