p9-noexcept.cpp revision a968e97947b1281c3bb3c4d47a952b3801d9bb02
11b86fe063badb5f28c467ade39be0f4008688947Andreas Huber// RUN: %clang_cc1 %s -std=c++0x -triple=x86_64-apple-darwin10 -emit-llvm -o - -fcxx-exceptions -fexceptions | FileCheck %s
21b86fe063badb5f28c467ade39be0f4008688947Andreas Huber
31b86fe063badb5f28c467ade39be0f4008688947Andreas Hubervoid external();
41b86fe063badb5f28c467ade39be0f4008688947Andreas Huber
51b86fe063badb5f28c467ade39be0f4008688947Andreas Hubervoid target() noexcept
61b86fe063badb5f28c467ade39be0f4008688947Andreas Huber{
71b86fe063badb5f28c467ade39be0f4008688947Andreas Huber  // CHECK: invoke void @_Z8externalv()
81b86fe063badb5f28c467ade39be0f4008688947Andreas Huber  external();
91b86fe063badb5f28c467ade39be0f4008688947Andreas Huber}
101b86fe063badb5f28c467ade39be0f4008688947Andreas Huber// CHECK:  call i32 (i8*, i8*, ...)* @llvm.eh.selector({{.*}} i8* null) nounwind
111b86fe063badb5f28c467ade39be0f4008688947Andreas Huber// CHECK-NEXT: call void @_ZSt9terminatev() noreturn nounwind
121b86fe063badb5f28c467ade39be0f4008688947Andreas Huber// CHECK-NEXT: unreachable
131b86fe063badb5f28c467ade39be0f4008688947Andreas Huber
141b86fe063badb5f28c467ade39be0f4008688947Andreas Hubervoid reverse() noexcept(false)
151b86fe063badb5f28c467ade39be0f4008688947Andreas Huber{
161b86fe063badb5f28c467ade39be0f4008688947Andreas Huber  // CHECK: call void @_Z8externalv()
171b86fe063badb5f28c467ade39be0f4008688947Andreas Huber  external();
181b86fe063badb5f28c467ade39be0f4008688947Andreas Huber}
191b86fe063badb5f28c467ade39be0f4008688947Andreas Huber