1f4a2713aSLionel Sambuc extern struct Y { 2f4a2713aSLionel Sambuc int n; 3f4a2713aSLionel Sambuc float f; 4f4a2713aSLionel Sambuc } y1; 5f4a2713aSLionel Sambuc enum E { e1 }; 6f4a2713aSLionel Sambuc 7f4a2713aSLionel Sambuc struct X { 8f4a2713aSLionel Sambuc int n; 9f4a2713aSLionel Sambuc } x1; 10f4a2713aSLionel Sambuc 11*0a6a1f1dSLionel Sambuc template<typename T> 12*0a6a1f1dSLionel Sambuc struct F { 13*0a6a1f1dSLionel Sambuc int n; 14*0a6a1f1dSLionel Sambuc friend bool operator==(const F &a, const F &b) { return a.n == b.n; } 15*0a6a1f1dSLionel Sambuc }; 16*0a6a1f1dSLionel Sambuc f()17f4a2713aSLionel Sambucint f() { 18f4a2713aSLionel Sambuc return y1.n + e1 + y1.f + x1.n; 19f4a2713aSLionel Sambuc } 20