// RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s
// rdar: // 8562966
// pr8409

// CHECK: @_ZN1CIiE11needs_guardE = linkonce_odr global
// CHECK: @_ZGVN1CIiE11needs_guardE = linkonce_odr global

struct K
{
  K();
  K(const K &);
  ~K();
  void PrintNumK();
};

template<typename T>
struct C
{
  void Go() { needs_guard.PrintNumK(); }
  static K needs_guard;
};

template<typename T> K C<T>::needs_guard;

void F()
{
  C<int>().Go();
}

