Hans Wennborg | c9bd88e | 2014-01-14 19:35:09 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -std=c++11 -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s |
Richard Smith | 0d1f3cb | 2012-02-26 00:31:33 +0000 | [diff] [blame] | 2 | struct A { A(); }; |
Alexis Hunt | 1fb4e76 | 2011-05-23 21:07:59 +0000 | [diff] [blame] | 3 | template<typename T> |
Richard Smith | 0d1f3cb | 2012-02-26 00:31:33 +0000 | [diff] [blame] | 4 | struct X : A // default constructor is not trivial |
Alexis Hunt | 1fb4e76 | 2011-05-23 21:07:59 +0000 | [diff] [blame] | 5 | { |
| 6 | X() = default; |
Richard Smith | dafff94 | 2012-01-14 04:30:29 +0000 | [diff] [blame] | 7 | ~X() {} // not a literal type |
Alexis Hunt | 1fb4e76 | 2011-05-23 21:07:59 +0000 | [diff] [blame] | 8 | }; |
| 9 | |
| 10 | X<int> x; |
Stephen Lin | 4362261 | 2013-08-15 06:47:53 +0000 | [diff] [blame] | 11 | // CHECK-LABEL: define internal void @__cxx_global_var_init() |
Eli Friedman | 50ed150 | 2011-06-14 21:20:53 +0000 | [diff] [blame] | 12 | // CHECK: call {{.*}} @_ZN1XIiEC1Ev |
| 13 | // CHECK: define linkonce_odr {{.*}} @_ZN1XIiEC1Ev |
| 14 | // CHECK: define linkonce_odr {{.*}} @_ZN1XIiEC2Ev |