summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/microsoft-abi-eh-inlineasm.cpp
blob: 4179508a8da58aa08be4069bfeddc42b598d9256 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// RUN: %clang_cc1 -std=c++11 -emit-llvm %s -o - -triple=x86_64-pc-windows-msvc \
// RUN:     -fexceptions -fcxx-exceptions | FileCheck %s

// Make sure calls to inline asm have funclet bundles.

extern "C" void might_throw();
extern "C" void foo() {
  try {
    might_throw();
  } catch (int) {
    __asm__("nop");
  }
}

// CHECK-LABEL: define dso_local void @foo()
// CHECK: invoke void @might_throw()
// CHECK: %[[CATCHPAD:[^ ]*]] = catchpad within
// CHECK: call void asm sideeffect "nop", {{.*}} [ "funclet"(token %[[CATCHPAD]]) ]