blob: c3ea31a54cac8b1feaba6f4e161ec7318ada1335 [file] [log] [blame]
Fariborz Jahaniana529c252010-03-03 19:41:08 +00001// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
2
3// CHECK: @_ZZ4FUNCvEN4SSSSC1ERKf
4// CHECK: @_ZZ4FUNCvEN4SSSSC2E_0RKf
Fariborz Jahanian9eba9df2010-03-04 01:02:03 +00005// CHECK: @_ZZ4GORFfEN4SSSSC1ERKf
6// CHECK: @_ZZ4GORFfEN4SSSSC2E_0RKf
Fariborz Jahaniana529c252010-03-03 19:41:08 +00007
8void FUNC ()
9{
10 {
11 float IVAR1 ;
12
13 struct SSSS
14 {
15 float bv;
16 SSSS( const float& from): bv(from) { }
17 };
18
19 SSSS VAR1(IVAR1);
20 }
21
22 {
23 float IVAR2 ;
24
25 struct SSSS
26 {
27 SSSS( const float& from) {}
28 };
29
30 SSSS VAR2(IVAR2);
31 }
32}
Fariborz Jahanian9eba9df2010-03-04 01:02:03 +000033
34void GORF (float IVAR1)
35{
36 {
37 struct SSSS
38 {
39 float bv;
40 SSSS( const float& from): bv(from) { }
41 };
42
43 SSSS VAR1(IVAR1);
44 }
45
46 {
47 float IVAR2 ;
48
49 struct SSSS
50 {
51 SSSS( const float& from) {}
52 };
53
54 SSSS VAR2(IVAR2);
55 }
56}
57
Eli Friedman86af13f02013-07-05 18:41:30 +000058// CHECK: @_ZZ25LocalTemplateFunctionTestdEN5Local3fooIdEET_S1_
59int LocalTemplateFunctionTest(double d) {
60 struct Local {
61 template<class T> T foo(T t) {
62 return t;
63 }
64 };
65 return Local().foo(d);
66}