xref: /aosp_15_r20/external/clang/test/Driver/split-debug.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // Check that we split debug output properly
2*67e74705SXin Li //
3*67e74705SXin Li // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -c -### %s 2> %t
4*67e74705SXin Li // RUN: FileCheck -check-prefix=CHECK-ACTIONS < %t %s
5*67e74705SXin Li //
6*67e74705SXin Li // CHECK-ACTIONS: objcopy{{.*}}--extract-dwo{{.*}}"split-debug.dwo"
7*67e74705SXin Li // CHECK-ACTIONS: objcopy{{.*}}--strip-dwo{{.*}}"split-debug.o"
8*67e74705SXin Li 
9*67e74705SXin Li 
10*67e74705SXin Li // RUN: %clang -target x86_64-macosx -gsplit-dwarf -c -### %s 2> %t
11*67e74705SXin Li // RUN: FileCheck -check-prefix=CHECK-NO-ACTIONS < %t %s
12*67e74705SXin Li //
13*67e74705SXin Li // CHECK-NO-ACTIONS-NOT: -split-dwarf
14*67e74705SXin Li 
15*67e74705SXin Li 
16*67e74705SXin Li // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -o Bad.x -### %s 2> %t
17*67e74705SXin Li // RUN: FileCheck -check-prefix=CHECK-BAD < %t %s
18*67e74705SXin Li //
19*67e74705SXin Li // CHECK-BAD-NOT: "Bad.dwo"
20*67e74705SXin Li 
21*67e74705SXin Li // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -c -### %s 2> %t
22*67e74705SXin Li // RUN: FileCheck -check-prefix=CHECK-OPTION < %t %s
23*67e74705SXin Li //
24*67e74705SXin Li // CHECK-OPTION: "-split-dwarf-file" "split-debug.dwo"
25*67e74705SXin Li 
26*67e74705SXin Li // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -S -### %s 2> %t
27*67e74705SXin Li // RUN: FileCheck -check-prefix=CHECK-ASM < %t %s
28*67e74705SXin Li //
29*67e74705SXin Li // CHECK-ASM-NOT: objcopy
30*67e74705SXin Li 
31*67e74705SXin Li // RUN: %clang -target x86_64-unknown-linux-gnu -no-integrated-as -gsplit-dwarf -c -### %s 2> %t
32*67e74705SXin Li // RUN: FileCheck -check-prefix=CHECK-IAS < %t %s
33*67e74705SXin Li //
34*67e74705SXin Li // CHECK-IAS: objcopy
35*67e74705SXin Li 
36*67e74705SXin Li // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -gmlt -S -### %s 2> %t
37*67e74705SXin Li // RUN: FileCheck -check-prefix=CHECK-GMLT-OVER-SPLIT < %t %s
38*67e74705SXin Li //
39*67e74705SXin Li // CHECK-GMLT-OVER-SPLIT: "-debug-info-kind=line-tables-only"
40*67e74705SXin Li // CHECK-GMLT-OVER-SPLIT-NOT: "-split-dwarf=Enable"
41*67e74705SXin Li // CHECK-GMLT-OVER-SPLIT-NOT: "-split-dwarf-file"
42*67e74705SXin Li 
43*67e74705SXin Li // RUN: %clang -target x86_64-unknown-linux-gnu -gmlt -gsplit-dwarf -S -### %s 2> %t
44*67e74705SXin Li // RUN: FileCheck -check-prefix=CHECK-SPLIT-OVER-GMLT < %t %s
45*67e74705SXin Li //
46*67e74705SXin Li // CHECK-SPLIT-OVER-GMLT: "-split-dwarf=Enable" "-debug-info-kind=limited"
47*67e74705SXin Li // CHECK-SPLIT-OVER-GMLT: "-split-dwarf-file"
48*67e74705SXin Li 
49*67e74705SXin Li // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -g0 -S -### %s 2> %t
50*67e74705SXin Li // RUN: FileCheck -check-prefix=CHECK-G0-OVER-SPLIT < %t %s
51*67e74705SXin Li //
52*67e74705SXin Li // CHECK-G0-OVER-SPLIT-NOT: "-debug-info-kind
53*67e74705SXin Li // CHECK-G0-OVER-SPLIT-NOT: "-split-dwarf=Enable"
54*67e74705SXin Li // CHECK-G0-OVER-SPLIT-NOT: "-split-dwarf-file"
55*67e74705SXin Li 
56*67e74705SXin Li // RUN: %clang -target x86_64-unknown-linux-gnu -g0 -gsplit-dwarf -S -### %s 2> %t
57*67e74705SXin Li // RUN: FileCheck -check-prefix=CHECK-SPLIT-OVER-G0 < %t %s
58*67e74705SXin Li //
59*67e74705SXin Li // CHECK-SPLIT-OVER-G0: "-split-dwarf=Enable" "-debug-info-kind=limited"
60*67e74705SXin Li // CHECK-SPLIT-OVER-G0: "-split-dwarf-file"
61