Главная » C++ » Опция компилятора Clang для обработки ошибки спецификации исключения как предупреждения
Опция компилятора Clang для обработки ошибки спецификации исключения как предупреждения
Есть ли способ рассматривать ошибку несоответствия исключений как предупреждение в Clang?
source_file.cpp: 12: 18: ошибка: спецификация исключения для переопределяющей функции более слабая, чем базовая версия
виртуальная пустота Func () {}
Я получаю сообщение об ошибке в Google Mock для функций, которые указывают спецификатор исключений. Смотря на https://github.com/google/googletest/pull/681 и другие проблемы, о которых сообщалось, не уверен, будет ли это исправлено в макете Google, поэтому, по крайней мере, для тестового кода, если это возможно, я бы хотел отключить это.
//clang 3.8.0
#include <iostream>
struct A
{
virtual void Func() throw() {}
};
struct B : public A
{
virtual void Func(){}
};
int main()
{
B b;
return 0;
}
Да, используя -fms-extensions опция командной строки.
MSVC только предупреждает об этом, поэтому в режиме совместимости clang MSVC код скомпилируется, а ошибка будет заменена эквивалентным предупреждением.
Подробнее о режиме совместимости MSVC в документации к Clang, Вот.