1// { dg-do run  }
2char c;
3
4struct S {
5  template <typename T>
6  operator T*();
7
8  template <typename T>
9  operator T();
10};
11
12template <>
13S::operator int()
14{
15  return 2;
16}
17
18template <>
19S::operator char*()
20{
21  return &c;
22}
23
24int main()
25{
26  S s;
27  int i = s;
28  char* cp = s;
29
30  if (i != 2 || cp != &c)
31    return 1;
32}
33