xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenCXX/pr9965.cpp (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 -std=c++11 -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s
2f4a2713aSLionel Sambuc struct A { A(); };
3f4a2713aSLionel Sambuc template<typename T>
4f4a2713aSLionel Sambuc struct X : A // default constructor is not trivial
5f4a2713aSLionel Sambuc {
6f4a2713aSLionel Sambuc     X() = default;
~XX7f4a2713aSLionel Sambuc     ~X() {} // not a literal type
8f4a2713aSLionel Sambuc };
9f4a2713aSLionel Sambuc 
10f4a2713aSLionel Sambuc X<int> x;
11f4a2713aSLionel Sambuc // CHECK-LABEL: define internal void @__cxx_global_var_init()
12f4a2713aSLionel Sambuc // CHECK: call {{.*}} @_ZN1XIiEC1Ev
13f4a2713aSLionel Sambuc // CHECK: define linkonce_odr {{.*}} @_ZN1XIiEC1Ev
14f4a2713aSLionel Sambuc // CHECK: define linkonce_odr {{.*}} @_ZN1XIiEC2Ev
15