blob: a636550bc0c1389bcb42a1b645d3e914ea20dc3d [file] [log] [blame]
// { dg-do compile { target c++17 } }
void
foo ()
{
if constexpr (false)
{
#pragma omp error // { dg-bogus "'pragma omp error' encountered" }
}
else
{
#pragma omp error at(compilation) severity(warning) message("foo") // { dg-warning "'pragma omp error' encountered: foo" }
}
if constexpr (true)
{
#pragma omp error message("bar") // { dg-error "'pragma omp error' encountered: bar" }
}
else
{
#pragma omp error message("baz") // { dg-bogus "'pragma omp error' encountered" }
}
}
template <typename T>
bool
bar (T x)
{
#pragma omp error at(execution) message (x)
return false;
}
bool a = bar ("foo");
template <typename T>
bool
baz (T x)
{
#pragma omp error at(execution) message (x) // { dg-error "could not convert" }
return false;
}
bool b = baz (L"foo");