Fariborz Jahanian | 92d835a | 2010-10-26 22:47:47 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s |
2 | // rdar: // 8562966 | ||||
3 | // pr8409 | ||||
4 | |||||
5 | // CHECK: @_ZN1CIiE11needs_guardE = weak global | ||||
6 | // CHECK: @_ZGVN1CIiE11needs_guardE = weak global | ||||
7 | |||||
8 | struct K | ||||
9 | { | ||||
10 | K(); | ||||
11 | K(const K &); | ||||
12 | ~K(); | ||||
13 | void PrintNumK(); | ||||
14 | }; | ||||
15 | |||||
16 | template<typename T> | ||||
17 | struct C | ||||
18 | { | ||||
19 | void Go() { needs_guard.PrintNumK(); } | ||||
20 | static K needs_guard; | ||||
21 | }; | ||||
22 | |||||
23 | template<typename T> K C<T>::needs_guard; | ||||
24 | |||||
25 | void F() | ||||
26 | { | ||||
27 | C<int>().Go(); | ||||
28 | } | ||||
29 |