xref: /llvm-project/lldb/test/API/lang/cpp/forward-declared-template-specialization/main.cpp (revision b8567559cf3872d0cc2a0ed24a171da8b1ff400f)
1*b8567559SRaphael Isemann // Forward declare a template and a specialization;
2*b8567559SRaphael Isemann template <typename T> class Temp;
3*b8567559SRaphael Isemann template <> class Temp<int>;
4*b8567559SRaphael Isemann 
5*b8567559SRaphael Isemann // Force that debug informatin for the specialization is emitted.
6*b8567559SRaphael Isemann // Clang and GCC will create debug information that lacks any description
7*b8567559SRaphael Isemann // of the template argument 'int'.
8*b8567559SRaphael Isemann Temp<int> *a;
9*b8567559SRaphael Isemann 
10*b8567559SRaphael Isemann // Define the template and create an implicit instantiation.
11*b8567559SRaphael Isemann template <typename T> class Temp { int f; };
12*b8567559SRaphael Isemann Temp<float> b;
13*b8567559SRaphael Isemann 
main()14*b8567559SRaphael Isemann int main() {
15*b8567559SRaphael Isemann   return 0; // break here
16*b8567559SRaphael Isemann }
17