Опция компилятора 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;
}

0

Решение

Да, используя -fms-extensions опция командной строки.
MSVC только предупреждает об этом, поэтому в режиме совместимости clang MSVC код скомпилируется, а ошибка будет заменена эквивалентным предупреждением.

Подробнее о режиме совместимости MSVC в документации к Clang,
Вот.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector