2 // { dg-do compile { target c++11 } }
5 template<unsigned size, char*(&table)[size]> void test1() { }
6 void tester1() { test1<10,table1>(); }
8 static char* table2[10];
9 template<unsigned size, char*(&table)[size]> void test2() { }
10 void tester2() { test2<10,table2>(); }
12 const char* table3[10];
13 template<unsigned size, const char*(&table)[size]> void test3() { }
14 void tester3() { test3<10,table3>(); }
16 const char* const table4[10] = {};
17 template<unsigned size, const char*const (&table)[size]> void test4() { }
18 void tester4() { test4<10,table4>(); }
20 const char* volatile table5[10] = {};
21 template<unsigned size, const char* volatile (&table)[size]> void test5() { }
22 void tester5() { test5<10,table5>(); }
24 const char* const table6[10] = {};
25 template<unsigned size, const char*const (&table)[size]> void test6() { }
26 void tester6() { test6<10,table6>(); }