; RUN: llvm-extract -func=a --recursive %s -S | FileCheck --check-prefix=CHECK-AB %s ; RUN: llvm-extract -func=a --recursive --delete %s -S | FileCheck --check-prefix=CHECK-CD %s ; RUN: llvm-extract -func=d --recursive %s -S | FileCheck --check-prefix=CHECK-CD %s ; RUN: llvm-extract -func=e --recursive %s -S | FileCheck --check-prefix=CHECK-CD %s ; CHECK-AB: define void @a ; CHECK-AB: define void @b ; CHECK-AB-NOT: define void @c ; CHECK-AB-NOT: define void @d ; CHECK-CD-NOT: define void @a ; CHECK-CD-NOT: define void @b ; CHECK-CD: define void @c ; CHECK-CD: define void @d define void @a() { call void @b() ret void } define void @b() { ret void } define void @c() { call void @d() ret void } define void @d() { call void @c() ret void } define void @e() { invoke void @c() to label %L unwind label %L L: ret void }