CHECK_CXX_SOURCE_COMPILES(
"
#include <iostream>
#include <optional>
#include <tuple>
#if __cplusplus < 201703L && !defined(_MSC_VER) && !defined(__INTEL_COMPILER)
# error \"insufficient support for C++17\"
#endif
//check for some C++17 features that we use in our headers:
using std::apply;
using std::optional;
[[nodiscard]] int test_nodiscard()
{
return 1;
}
int main()
{
const unsigned int n=1;
switch (n)
{
case 1:
std::cout << n;
[[fallthrough]];
case 2:
std::cout << n;
}
[[maybe_unused]] int i = test_nodiscard();
constexpr bool flag = false;
if constexpr(flag)
return 1;
return 0;
}
"
DEAL_II_HAVE_CXX17_FEATURES)