// PR c++/19989 // Don't instantiate a function template if it would generate an // array of size zero. // { dg-do compile } template struct cl { const static int value = T; }; template void fn (char (*) [cl::value] = 0 ); // { dg-message "candidate" } void foo (void) { fn<0> (); // { dg-error "no matching function" } }