Я пишу библиотеку C++11 и хочу, чтобы она работала со всеми компиляторами, поддерживающими C++11. Я не хочу случайно написать код, который не является стандартным (например, использует языковые расширения, такие как VLA или блоки). Как я могу заставить clang отключить все языковые расширения, чтобы я мог писать только соответствующий код?
Как я могу заставить clang выдавать ошибки, если код строго не соответствует стандарту?
Ответы (1)
Попробуйте один из этих:
-pedantic: Warn on language extensions.
-pedantic-errors: Error on language extensions.
person
Igor Oks
schedule
14.01.2012
-pedantic-errors
с GCC, я думаю, что также принята clang), но без языковых расширений некоторые из стандартных заголовков не могут быть реализованы, поэтому, если вы полностью отключите все расширения, вы можете больше не используйте эти заголовки... - person   schedule 14.01.2012-pedantic-errors
или-Werror
), поэтому нет проблем со стандартными заголовками, если вы включите-pedantic-errors
. - person Richard Smith   schedule 18.01.2012