// { dg-do compile } // Origin: , // // c++/13243: Template parameters of non integral or enumeration type can't be // used for integral constant expressions. ADDR_EXPR and INDIRECT_REF are // invalid too. template class foo {}; template class bar {}; template void dep5(bar *); template void dep6(bar *); // { dg-error "" "integral or enumeration" } template void dep7(bar *); template void dep8(foo< *PI > *); // { dg-error "" "integral or enumeration" } template void dep9(foo< *PI > *); // { dg-error "" "integral or enumeration" } template void dep9a(foo< sizeof(*PI) > *); template void dep10(foo< PI[0] > *); // { dg-error "" "integral or enumeration" } template void dep11(foo< *&I > *); // { dg-error "" "constant-expression" } template void dep12(foo< (&I)[4] > *); // { dg-error "" "constant-expression" }