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