xref: /llvm-project/clang/test/CodeGenCXX/cxx0x-defaulted-templates.cpp (revision c9bd88e6811fb622cde644a82eac41c0b02c00ee)
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