xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenCXX/debug-info-union-template.cpp (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1f4a2713aSLionel Sambuc // RUN: %clang_cc1 -emit-llvm -g -triple x86_64-linux-gnu  %s -o - | FileCheck %s
2f4a2713aSLionel Sambuc 
3f4a2713aSLionel Sambuc // Make sure that the union type has template parameters.
4f4a2713aSLionel Sambuc 
5f4a2713aSLionel Sambuc namespace PR15637 {
6f4a2713aSLionel Sambuc   template <typename T> union Value { int a; };
g(float value)7f4a2713aSLionel Sambuc   void g(float value) {
8f4a2713aSLionel Sambuc     Value<float> tempValue;
9f4a2713aSLionel Sambuc   }
10f4a2713aSLionel Sambuc   Value<float> f;
11f4a2713aSLionel Sambuc }
12f4a2713aSLionel Sambuc 
13*0a6a1f1dSLionel Sambuc // CHECK:  !"0x17\00Value<float>\00{{.*}}", {{.*}}, [[TTPARAM:![0-9]+]], !"_ZTSN7PR156375ValueIfEE"} ; [ DW_TAG_union_type ] [Value<float>]
14*0a6a1f1dSLionel Sambuc // CHECK: [[TTPARAM]] = !{[[PARAMS:.*]]}
15*0a6a1f1dSLionel Sambuc // CHECK: [[PARAMS]] = !{!"0x2f\00T\000\000", {{.*}} ; [ DW_TAG_template_type_parameter ]
16