blob: f68810b268de1bb4381c09971f8dca62cd7bf11f [file] [log] [blame]
Devang Patelfa275df2011-02-02 21:38:49 +00001// RUN: %clang -emit-llvm -g -S %s -o - | FileCheck %s
2
David Blaikie0cd9ede2013-05-09 21:32:04 +00003// CHECK: [[INT:![0-9]*]] = {{.*}} ; [ DW_TAG_base_type ] [int]
4// CHECK: metadata [[TCI:![0-9]*]], i32 0, i32 1, %class.TC* @tci, null} ; [ DW_TAG_variable ] [tci]
5// CHECK: [[TC:![0-9]*]] = {{.*}}, metadata [[TCARGS:![0-9]*]]} ; [ DW_TAG_class_type ] [TC<int, 2>]
6// CHECK: [[TCARGS]] = metadata !{metadata [[TCARG1:![0-9]*]], metadata [[TCARG2:![0-9]*]]}
7//
8// We seem to be missing file/line/col info on template value parameters -
9// metadata supports it but it's not populated.
10//
11// CHECK: [[TCARG1]] = {{.*}}metadata !"T", metadata [[INT]], {{.*}} ; [ DW_TAG_template_type_parameter ]
12// CHECK: [[TCARG2]] = {{.*}}metadata !"", metadata [[UINT:![0-9]*]], i64 2, {{.*}} ; [ DW_TAG_template_value_parameter ]
13// CHECK: [[UINT]] = {{.*}} ; [ DW_TAG_base_type ] [unsigned int]
Devang Patelfa275df2011-02-02 21:38:49 +000014
David Blaikie0cd9ede2013-05-09 21:32:04 +000015template<typename T, unsigned>
Devang Patel700a1cb2010-07-20 20:24:18 +000016class TC {
Devang Patel700a1cb2010-07-20 20:24:18 +000017};
18
David Blaikie0cd9ede2013-05-09 21:32:04 +000019TC<int, 2> tci;