// { dg-do assemble  }
// Origin: Mark Mitchell <mark@codesourcery.com>

static int strlen (const char*) { return 0; }

template <int (*)(const char*)>
void f () {}

// Check that the strlen declaration here is given internal linkage by
// using it as a non-type template argument, and expecting an error.
template void f<strlen>(); // { dg-error "" } no matching template
