1 // Check that we split debug output properly
2 //
3 // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -c -### %s 2> %t
4 // RUN: FileCheck -check-prefix=CHECK-ACTIONS < %t %s
5 //
6 // CHECK-ACTIONS: objcopy{{.*}}--extract-dwo{{.*}}"split-debug.dwo"
7 // CHECK-ACTIONS: objcopy{{.*}}--strip-dwo{{.*}}"split-debug.o"
8 
9 
10 // RUN: %clang -target x86_64-macosx -gsplit-dwarf -c -### %s 2> %t
11 // RUN: FileCheck -check-prefix=CHECK-NO-ACTIONS < %t %s
12 //
13 // CHECK-NO-ACTIONS-NOT: -split-dwarf
14 
15 
16 // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -o Bad.x -### %s 2> %t
17 // RUN: FileCheck -check-prefix=CHECK-BAD < %t %s
18 //
19 // CHECK-BAD-NOT: "Bad.dwo"
20 
21 // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -c -### %s 2> %t
22 // RUN: FileCheck -check-prefix=CHECK-OPTION < %t %s
23 //
24 // CHECK-OPTION: "-split-dwarf-file" "split-debug.dwo"
25 
26 // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -S -### %s 2> %t
27 // RUN: FileCheck -check-prefix=CHECK-ASM < %t %s
28 //
29 // CHECK-ASM-NOT: objcopy
30 
31 // RUN: %clang -target x86_64-unknown-linux-gnu -no-integrated-as -gsplit-dwarf -c -### %s 2> %t
32 // RUN: FileCheck -check-prefix=CHECK-IAS < %t %s
33 //
34 // CHECK-IAS: objcopy
35