blob: cf73166dc3a5bba5775551348ccc5ce45e996b55 [file] [log] [blame]
// { dg-do compile { target c++17 } }
#include <typeinfo>
struct S { int m; static int s; } s;
template<int* p> class X { };
template<const char *s> class Y {};
template<const std::type_info &> class Z {};
X<&s.m> x7; // { dg-error "3:.& s.S::m. is not a valid template argument" "" { target c++17_down } }
Y<"foo"> y1; // { dg-error "string literal" }
Z<typeid(p)> z1; // { dg-error "" }
void f()
{
Y<__func__> y; // { dg-error "" }
}