1 // { dg-options -std=c++17 }
2 
3 #include <typeinfo>
4 
5 struct S { int m; static int s; } s;
6 
7 template<int* p> class X { };
8 template<const char *s> class Y {};
9 template<const std::type_info &> class Z {};
10 
11 X<&s.m> x7;			// { dg-error "" }
12 Y<"foo"> y1;			// { dg-error "string literal" }
13 Z<typeid(p)> z1;		// { dg-error "" }
14 
f()15 void f()
16 {
17   Y<__func__> y;		// { dg-error "" }
18 }
19