xref: /aosp_15_r20/external/compiler-rt/test/profile/Inputs/extern_template.h (revision 7c3d14c8b49c529e04be81a3ce6f5cc23712e4c6)
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