1 ; RUN: llvm-extract -func=a --recursive %s -S | FileCheck --check-prefix=CHECK-AB %s 2 ; RUN: llvm-extract -func=a --recursive --delete %s -S | FileCheck --check-prefix=CHECK-CD %s 3 ; RUN: llvm-extract -func=d --recursive %s -S | FileCheck --check-prefix=CHECK-CD %s 4 5 ; CHECK-AB: define void @a 6 ; CHECK-AB: define void @b 7 ; CHECK-AB-NOT: define void @c 8 ; CHECK-AB-NOT: define void @d 9 10 ; CHECK-CD-NOT: define void @a 11 ; CHECK-CD-NOT: define void @b 12 ; CHECK-CD: define void @c 13 ; CHECK-CD: define void @d 14 15 define void @a() { 16 call void @b() 17 ret void 18 } 19 20 define void @b() { 21 ret void 22 } 23 24 define void @c() { 25 call void @d() 26 ret void 27 } 28 29 define void @d() { 30 call void @c() 31 ret void 32 } 33