Как условно включить проверки в ЛИТC++

Программы на C++. Форум разработчиков
Anonymous
Как условно включить проверки в ЛИТ

Сообщение Anonymous »

Если у меня есть функция, закрытая за макросом, функция не будет скомпилирована, если макрос не определен. Однако LLVM LIT по-прежнему выполняет проверки и выдает ошибки. Есть ли способ их условно включить?
Например, предположим, что у меня есть функция, использующая std::beta

Код: Выделить всё

#ifdef __cpp_lib_math_special_functions
double do_sth(double x, double y)
{
return std::beta(x, y); //
}
#endif

// Somewhere in main
#ifdef __cpp_lib_math_special_functions
double x = do_sth(2, 3); //CHECK-EXEC: {4.00}
#endif
Но эта функция недоступна до версии C++ 17, поэтому функция не будет скомпилирована, если я установлю стандарт C++ на C++ 11. Но LLVM Lit по-прежнему анализирует строки комментариев и жалуется.
>

Подробнее здесь: https://stackoverflow.com/questions/799 ... cks-in-lit

Вернуться в «C++»