| 1 | // RUN: %clang_cc1 -std=c++11 -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s |
|---|---|
| 2 | struct A { A(); }; |
| 3 | template<typename T> |
| 4 | struct X : A // default constructor is not trivial |
| 5 | { |
| 6 | X() = default; |
| 7 | ~X() {} // not a literal type |
| 8 | }; |
| 9 | |
| 10 | X<int> x; |
| 11 | // CHECK-LABEL: define internal {{.*}}void @__cxx_global_var_init() |
| 12 | // CHECK: call {{.*}} @_ZN1XIiEC1Ev |
| 13 | // CHECK: define linkonce_odr {{.*}} @_ZN1XIiEC1Ev |
| 14 | // CHECK: define linkonce_odr {{.*}} @_ZN1XIiEC2Ev |
| 15 |