1 | // RUN: %clang -S -emit-llvm -target x86_64-unknown_unknown -g %s -o - -std=c++1z | FileCheck %s |
2 | |
3 | // Verify that we don't crash when emitting debug information for objects |
4 | // created from a deduced template specialization. |
5 | |
6 | template <class T> |
7 | struct S { |
8 | S(T) {} |
9 | }; |
10 | |
11 | // CHECK: !DIGlobalVariable(name: "s1" |
12 | // CHECK-SAME: type: [[TYPE_NUM:![0-9]+]] |
13 | // CHECK: !DIGlobalVariable(name: "s2" |
14 | // CHECK-SAME: type: [[TYPE_NUM]] |
15 | // CHECK: [[TYPE_NUM]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S<int>", |
16 | S s1(42); |
17 | S<int> s2(42); |
18 | |