Clang Project

clang_source_code/test/CodeGenCXX/microsoft-abi-eh-inlineasm.cpp
1// RUN: %clang_cc1 -std=c++11 -emit-llvm %s -o - -triple=x86_64-pc-windows-msvc \
2// RUN:     -fexceptions -fcxx-exceptions | FileCheck %s
3
4// Make sure calls to inline asm have funclet bundles.
5
6extern "C" void might_throw();
7extern "C" void foo() {
8  try {
9    might_throw();
10  } catch (int) {
11    __asm__("nop");
12  }
13}
14
15// CHECK-LABEL: define dso_local void @foo()
16// CHECK: invoke void @might_throw()
17// CHECK: %[[CATCHPAD:[^ ]*]] = catchpad within
18// CHECK: call void asm sideeffect "nop", {{.*}} [ "funclet"(token %[[CATCHPAD]]) ]
19