Eric Christopher | 947bb5a | 2012-03-13 23:40:48 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s |
| 2 | |
David Blaikie | fd07c60 | 2013-08-09 17:20:05 +0000 | [diff] [blame^] | 3 | struct MyClass { |
| 4 | template <int i> int add(int j) { |
| 5 | return i + j; |
| 6 | } |
Eric Christopher | 947bb5a | 2012-03-13 23:40:48 +0000 | [diff] [blame] | 7 | }; |
| 8 | |
David Blaikie | fd07c60 | 2013-08-09 17:20:05 +0000 | [diff] [blame^] | 9 | int add2(int x) { |
| 10 | return MyClass().add<2>(x); |
| 11 | } |
Eric Christopher | 947bb5a | 2012-03-13 23:40:48 +0000 | [diff] [blame] | 12 | |
David Blaikie | fd07c60 | 2013-08-09 17:20:05 +0000 | [diff] [blame^] | 13 | inline int add3(int x) { |
| 14 | return MyClass().add<3>(x); // even though add<3> is ODR used, don't emit it since we don't codegen it |
| 15 | } |
| 16 | |
| 17 | // CHECK: metadata [[C_MEM:![0-9]*]], i32 0, null, null} ; [ DW_TAG_structure_type ] [MyClass] |
| 18 | // CHECK: [[C_MEM]] = metadata !{metadata [[C_TEMP:![0-9]*]]} |
| 19 | // CHECK: [[C_TEMP]] = {{.*}} ; [ DW_TAG_subprogram ] [line 4] [add<2>] |