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: "-split-dwarf-file" "split-debug.dwo" 7 8 9 // RUN: %clang -target x86_64-macosx -gsplit-dwarf -c -### %s 2> %t 10 // RUN: FileCheck -check-prefix=CHECK-NO-ACTIONS < %t %s 11 // 12 // CHECK-NO-ACTIONS-NOT: -split-dwarf 13 14 15 // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -o Bad.x -### %s 2> %t 16 // RUN: FileCheck -check-prefix=CHECK-BAD < %t %s 17 // 18 // CHECK-BAD-NOT: "Bad.dwo" 19 20 // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -c -### %s 2> %t 21 // RUN: FileCheck -check-prefix=CHECK-OPTION < %t %s 22 // 23 // CHECK-OPTION: "-split-dwarf-file" "split-debug.dwo" 24 25 // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -S -### %s 2> %t 26 // RUN: FileCheck -check-prefix=CHECK-ASM < %t %s 27 // 28 // CHECK-ASM-NOT: objcopy 29 30 // RUN: %clang -target x86_64-unknown-linux-gnu -no-integrated-as -gsplit-dwarf -c -### %s 2> %t 31 // RUN: FileCheck -check-prefix=CHECK-IAS < %t %s 32 // 33 // CHECK-IAS: objcopy 34 35 // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -gmlt -fno-split-dwarf-inlining -S -### %s 2> %t 36 // RUN: FileCheck -check-prefix=CHECK-GMLT-WITH-SPLIT < %t %s 37 // 38 // CHECK-GMLT-WITH-SPLIT: "-enable-split-dwarf" 39 // CHECK-GMLT-WITH-SPLIT: "-debug-info-kind=line-tables-only" 40 // CHECK-GMLT-WITH-SPLIT: "-split-dwarf-file" 41 42 // RUN: %clang -target x86_64-unknown-linux-gnu -g -fno-split-dwarf-inlining -S -### %s 2> %t 43 // RUN: FileCheck -check-prefix=CHECK-NOINLINE-WITHOUT-SPLIT < %t %s 44 // 45 // CHECK-NOINLINE-WITHOUT-SPLIT-NOT: "-enable-split-dwarf" 46 // CHECK-NOINLINE-WITHOUT-SPLIT: "-fno-split-dwarf-inlining" 47 // CHECK-NOINLINE-WITHOUT-SPLIT: "-debug-info-kind=limited" 48 49 // RUN: %clang -target x86_64-unknown-linux-gnu -gmlt -gsplit-dwarf -fno-split-dwarf-inlining -S -### %s 2> %t 50 // RUN: FileCheck -check-prefix=CHECK-SPLIT-WITH-GMLT < %t %s 51 // 52 // CHECK-SPLIT-WITH-GMLT: "-enable-split-dwarf" 53 // CHECK-SPLIT-WITH-GMLT: "-debug-info-kind=line-tables-only" 54 // CHECK-SPLIT-WITH-GMLT: "-split-dwarf-file" 55 56 // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -fno-split-dwarf-inlining -S -### %s 2> %t 57 // RUN: FileCheck -check-prefix=CHECK-SPLIT-WITH-NOINL < %t %s 58 // 59 // CHECK-SPLIT-WITH-NOINL: "-enable-split-dwarf" 60 // CHECK-SPLIT-WITH-NOINL: "-debug-info-kind=limited" 61 // CHECK-SPLIT-WITH-NOINL: "-split-dwarf-file" 62 63 // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -gmlt -S -### %s 2> %t 64 // RUN: FileCheck -check-prefix=CHECK-GMLT-OVER-SPLIT < %t %s 65 // 66 // CHECK-GMLT-OVER-SPLIT-NOT: "-enable-split-dwarf" 67 // CHECK-GMLT-OVER-SPLIT: "-debug-info-kind=line-tables-only" 68 // CHECK-GMLT-OVER-SPLIT-NOT: "-split-dwarf-file" 69 70 // RUN: %clang -target x86_64-unknown-linux-gnu -gmlt -gsplit-dwarf -S -### %s 2> %t 71 // RUN: FileCheck -check-prefix=CHECK-SPLIT-OVER-GMLT < %t %s 72 // 73 // CHECK-SPLIT-OVER-GMLT: "-enable-split-dwarf" "-debug-info-kind=limited" 74 // CHECK-SPLIT-OVER-GMLT: "-split-dwarf-file" 75 76 // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -g0 -fno-split-dwarf-inlining -S -### %s 2> %t 77 // RUN: FileCheck -check-prefix=CHECK-G0-OVER-SPLIT < %t %s 78 // 79 // CHECK-G0-OVER-SPLIT-NOT: "-enable-split-dwarf" 80 // CHECK-G0-OVER-SPLIT-NOT: "-debug-info-kind 81 // CHECK-G0-OVER-SPLIT-NOT: "-split-dwarf-file" 82 83 // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -g0 -S -### %s 2> %t 84 // RUN: FileCheck -check-prefix=CHECK-G0-OVER-SPLIT < %t %s 85 // 86 // CHECK-G0-OVER-SPLIT-NOT: "-enable-split-dwarf" 87 // CHECK-G0-OVER-SPLIT-NOT: "-debug-info-kind 88 // CHECK-G0-OVER-SPLIT-NOT: "-split-dwarf-file" 89 90 // RUN: %clang -target x86_64-unknown-linux-gnu -g0 -gsplit-dwarf -S -### %s 2> %t 91 // RUN: FileCheck -check-prefix=CHECK-SPLIT-OVER-G0 < %t %s 92 // 93 // CHECK-SPLIT-OVER-G0: "-enable-split-dwarf" "-debug-info-kind=limited" 94 // CHECK-SPLIT-OVER-G0: "-split-dwarf-file" 95