1 | // RUN: %clang_cc1 %s -triple x86_64-none-linux-gnu -emit-llvm -fcxx-exceptions -fexceptions -std=c++11 -o - | FileCheck %s |
---|---|
2 | // PR13359 |
3 | |
4 | struct X { |
5 | ~X(); |
6 | }; |
7 | struct Error { |
8 | Error(const X&) noexcept; |
9 | }; |
10 | |
11 | void f() { |
12 | try { |
13 | throw Error(X()); |
14 | } catch (...) { } |
15 | } |
16 | |
17 | // CHECK-LABEL: define void @_Z1fv |
18 | // CHECK: call void @_ZN5ErrorC1ERK1X |
19 | // CHECK: invoke void @__cxa_throw |
20 | // CHECK: landingpad |
21 | // CHECK: call void @_ZN1XD1Ev |
22 | // CHECK-NOT: __cxa_free_exception |
23 |