Неожиданный вывод из Clang - PullRequest
       12

Неожиданный вывод из Clang

1 голос
/ 21 сентября 2010

Я тестировал clang-llvm, чтобы узнать, стоит ли упоминать об этом в отделе информационных технологий моей школы, чтобы добавить его к компьютерам, на которых мы учимся. Для всех наших заданий мы должны скомпилировать, используя g++ -Wall -W -pedantic-errors *.cpp, поэтому я просто преобразовал команду в clang++ -Wall -W -pedantic-errors. Я получил вывод, который не ожидал:

Attempting to compile...
In file included from test_library.cpp:6:
In file included from ./test_library.h:64:
In file included from ./library.h:167:
./library.hpp:20:23: warning: unused variable 'e' [-Wunused-variable]
    catch(Exception & e)
                      ^

Принимая во внимание, что компилятор GCC не выдает ошибку о неиспользуемых переменных в блоке catch. Могу ли я что-нибудь сделать, чтобы Clang не волновался о неиспользуемых переменных в блоках try / catch, оставляя команду похожей на команду g ++?

Clang-LLVM (v2.7) GNU GCC (v4.4.4) Fedora 13

Ответы [ 2 ]

5 голосов
/ 21 сентября 2010

Я вроде согласен с Майком, но ради того, чтобы справиться с ситуацией, попробуйте это:

clang++ -Wall -W -pedantic-errors -Wno-unused-variable

Я не использовал llvm много, но я думаю точка[-Wunused-variable] в диагностике означает, что вы можете закрыть это предупреждение с помощью -Wno-unused-variable.

3 голосов
/ 21 сентября 2010

Что не так с перехватом исключения с помощью «catch (Exception &)», если вы не используете переменную?Вы компиляторы И ваши рецензенты кода будут счастливее.

...