1 // REQUIRES: system-darwin 2 3 // RUN: %clang -target x86_64-apple-darwin10 -### -c -o FOO -fsave-optimization-record -arch x86_64 -arch x86_64h %s 2>&1 | FileCheck %s --check-prefix=CHECK-MULTIPLE-ARCH 4 // RUN: %clang -target x86_64-apple-darwin10 -### -c -o FOO -foptimization-record-file=tmp -arch x86_64 -arch x86_64h %s 2>&1 | FileCheck %s --check-prefix=CHECK-MULTIPLE-ARCH-ERROR 5 // RUN: %clang -target x86_64-apple-darwin10 -### -o FOO -fsave-optimization-record %s 2>&1 | FileCheck %s --check-prefix=CHECK-DSYMUTIL-NO-G 6 // RUN: %clang -target x86_64-apple-darwin10 -### -o FOO -g0 -fsave-optimization-record %s 2>&1 | FileCheck %s --check-prefix=CHECK-DSYMUTIL-G0 7 // RUN: %clang -target x86_64-apple-darwin10 -### -o FOO -fsave-optimization-record=bitstream %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-G-PATH-BITSTREAM 8 // 9 // CHECK-MULTIPLE-ARCH: "-cc1" 10 // CHECK-MULTIPLE-ARCH: "-opt-record-file" "FOO-x86_64.opt.yaml" 11 // CHECK-MULTIPLE-ARCH: "-cc1" 12 // CHECK-MULTIPLE-ARCH: "-opt-record-file" "FOO-x86_64h.opt.yaml" 13 // 14 // CHECK-MULTIPLE-ARCH-ERROR: cannot use '-foptimization-record-file' output with multiple -arch options 15 // 16 // CHECK-DSYMUTIL-NO-G: "-cc1" 17 // CHECK-DSYMUTIL-NO-G: ld 18 // CHECK-DSYMUTIL-NO-G: dsymutil 19 // 20 // Even in the presence of -g0, -fsave-optimization-record implies 21 // -gline-tables-only and would need -fno-save-optimization-record to 22 // completely disable it. 23 // CHECK-DSYMUTIL-G0: "-cc1" 24 // CHECK-DSYMUTIL-G0: ld 25 // CHECK-DSYMUTIL-G0: dsymutil 26 // 27 // CHECK-NO-G-PATH-BITSTREAM: "-cc1" 28 // CHECK-NO-G-PATH-BITSTREAM: "-opt-record-file" "[[OUTPATH:.*]].opt.bitstream" 29 // CHECK-NO-G-PATH-BITSTREAM: "-o" "[[OUTPATH:.*]].o" 30 // CHECK-NO-G-PATH-BITSTREAM: ld 31 // CHECK-NO-G-PATH-BITSTREAM: dsymutil 32