Clang Project

clang_source_code/test/CodeGenCXX/debug-info-union-template.cpp
1// RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited -triple x86_64-linux-gnu  %s -o - | FileCheck %s
2
3// Make sure that the union type has template parameters.
4
5namespace PR15637 {
6  template <typename T> union Value { int a; };
7  void g(float value) {
8    Value<float> tempValue;
9  }
10  Value<float> f;
11}
12
13// CHECK: !DICompositeType(tag: DW_TAG_union_type, name: "Value<float>",
14// CHECK-SAME:             templateParams: [[TTPARAM:![0-9]+]]
15// CHECK-SAME:             identifier: "_ZTSN7PR156375ValueIfEE"
16// CHECK: [[TTPARAM]] = !{[[PARAMS:.*]]}
17// CHECK: [[PARAMS]] = !DITemplateTypeParameter(name: "T"
18