1*7c3d14c8STreehugger Robot template <typename T> struct Test { TestTest2*7c3d14c8STreehugger Robot Test() : M(10) {} doItTest3*7c3d14c8STreehugger Robot void doIt(int N) { // CHECK: 2| [[@LINE]]| void doIt 4*7c3d14c8STreehugger Robot if (N > 10) { // CHECK: 2| [[@LINE]]| if (N > 10) { 5*7c3d14c8STreehugger Robot M += 2; // CHECK: 1| [[@LINE]]| M += 2; 6*7c3d14c8STreehugger Robot } else // CHECK: 1| [[@LINE]]| } else 7*7c3d14c8STreehugger Robot M -= 2; // CHECK: 1| [[@LINE]]| M -= 2; 8*7c3d14c8STreehugger Robot } 9*7c3d14c8STreehugger Robot T M; 10*7c3d14c8STreehugger Robot }; 11*7c3d14c8STreehugger Robot 12*7c3d14c8STreehugger Robot #ifdef USE 13*7c3d14c8STreehugger Robot extern template struct Test<int>; 14*7c3d14c8STreehugger Robot #endif 15*7c3d14c8STreehugger Robot #ifdef DEF 16*7c3d14c8STreehugger Robot template struct Test<int>; 17*7c3d14c8STreehugger Robot #endif 18