1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -std=c++11 -emit-llvm -o - %s | FileCheck %s 2*f4a2713aSLionel Sambuc 3*f4a2713aSLionel Sambuc template <typename T> 4*f4a2713aSLionel Sambuc struct X { 5*f4a2713aSLionel Sambuc X(); 6*f4a2713aSLionel Sambuc }; 7*f4a2713aSLionel Sambuc 8*f4a2713aSLionel Sambuc // CHECK: define {{.*}} @_ZN1XIbEC1Ev 9*f4a2713aSLionel Sambuc // CHECK: define {{.*}} @_ZN1XIbEC2Ev 10*f4a2713aSLionel Sambuc template <> X<bool>::X() = default; 11*f4a2713aSLionel Sambuc 12*f4a2713aSLionel Sambuc // CHECK: define weak_odr {{.*}} @_ZN1XIiEC1Ev 13*f4a2713aSLionel Sambuc // CHECK: define weak_odr {{.*}} @_ZN1XIiEC2Ev 14*f4a2713aSLionel Sambuc template <typename T> X<T>::X() = default; 15*f4a2713aSLionel Sambuc template X<int>::X(); 16*f4a2713aSLionel Sambuc 17*f4a2713aSLionel Sambuc // CHECK: define linkonce_odr {{.*}} @_ZN1XIcEC1Ev 18*f4a2713aSLionel Sambuc // CHECK: define linkonce_odr {{.*}} @_ZN1XIcEC2Ev 19*f4a2713aSLionel Sambuc X<char> x; 20