1template<class T>
2struct X0;
3
4template<int I>
5struct X1;
6
7template<long I>
8struct X2;
9
10template<typename>
11struct X3;
12
13template<template<int I> class>
14struct X4;
15
16template<template<int I> class>
17struct X5;
18
19template<template<int I> class>
20struct X6;
21
22typedef int Integer;
23extern X0<Integer> *x0i;
24extern X0<float> *x0f;
25extern X0<double> *x0r;
26
27template<>
28struct X0<char> {
29  int member;
30};
31
32template<>
33struct X0<wchar_t> {
34  float member;
35};
36