Если у меня есть функция, закрытая за макросом, функция не будет скомпилирована, если макрос не определен. Однако 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