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