1*c9bd88e6SHans Wennborg // RUN: %clang_cc1 -std=c++11 -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s 26a31f2c7SAlexis Hunt 36a31f2c7SAlexis Hunt template <typename T> 46a31f2c7SAlexis Hunt struct X { 56a31f2c7SAlexis Hunt X(); 66a31f2c7SAlexis Hunt }; 76a31f2c7SAlexis Hunt 8a526f275SEli Friedman // CHECK: define {{.*}} @_ZN1XIbEC2Ev 9c3cde36eSRafael Espindola // CHECK: define {{.*}} @_ZN1XIbEC1Ev 106a31f2c7SAlexis Hunt template <> X<bool>::X() = default; 116a31f2c7SAlexis Hunt 12a526f275SEli Friedman // CHECK: define weak_odr {{.*}} @_ZN1XIiEC2Ev 13c3cde36eSRafael Espindola // CHECK: define weak_odr {{.*}} @_ZN1XIiEC1Ev 146a31f2c7SAlexis Hunt template <typename T> X<T>::X() = default; 156a31f2c7SAlexis Hunt template X<int>::X(); 166a31f2c7SAlexis Hunt 17a526f275SEli Friedman // CHECK: define linkonce_odr {{.*}} @_ZN1XIcEC1Ev 18a526f275SEli Friedman // CHECK: define linkonce_odr {{.*}} @_ZN1XIcEC2Ev 196a31f2c7SAlexis Hunt X<char> x; 20