// { dg-do compile } template struct S { T n; void test(); void work(); }; template void S::test() { #pragma omp parallel num_threads(n) // { dg-error "must be integral" } work(); } template struct S; template struct S; template struct S; // { dg-message "required from here" }