| ! Test -gsplit-dwarf and -gsplit-dwarf={split,single}. | |
| ! RUN: %flang -### -c -target x86_64 -g -gsplit-dwarf %s 2>&1 | FileCheck %s --check-prefixes=SPLIT | |
| ! RUN: %flang -### -c -target x86_64 -gsplit-dwarf -g %s 2>&1 | FileCheck %s --check-prefixes=SPLIT | |
| ! RUN: %flang -### -c -target x86_64 -gsplit-dwarf=split -g %s 2>&1 | FileCheck %s --check-prefixes=SPLIT | |
| ! SPLIT: "-split-dwarf-file" "split-debug.dwo" "-split-dwarf-output" "split-debug.dwo" | |
| ! Check warning on non-supported platforms. | |
| ! RUN: %flang -### -c -target x86_64-apple-darwin -gsplit-dwarf -g %s 2>&1 | FileCheck %s --check-prefix=WARN | |
| ! WARN: warning: debug information option '-gsplit-dwarf' is not supported for target 'x86_64-apple-darwin' | |
| ! -gno-split-dwarf disables debug fission. | |
| ! RUN: %flang -### -c -target x86_64 -gsplit-dwarf -g -gno-split-dwarf %s 2>&1 | FileCheck %s --check-prefix=NOSPLIT | |
| ! RUN: %flang -### -c -target x86_64 -gsplit-dwarf=single -g -gno-split-dwarf %s 2>&1 | FileCheck %s --check-prefix=NOSPLIT | |
| ! RUN: %flang -### -c -target x86_64 -gno-split-dwarf -g -gsplit-dwarf %s 2>&1 | FileCheck %s --check-prefixes=SPLIT | |
| ! NOSPLIT-NOT: "-split-dwarf | |
| ! Test -gsplit-dwarf=single. | |
| ! RUN: %flang -### -c -target x86_64 -gsplit-dwarf=single -g %s 2>&1 | FileCheck %s --check-prefix=SINGLE | |
| ! SINGLE: "-split-dwarf-file" "split-debug.o" | |
| ! SINGLE-NOT: "-split-dwarf-output" | |
| ! RUN: %flang -### -c -target x86_64 -gsplit-dwarf=single -g -o %tfoo.o %s 2>&1 | FileCheck %s --check-prefix=SINGLE_WITH_FILENAME | |
| ! SINGLE_WITH_FILENAME: "-split-dwarf-file" "{{.*}}foo.o" | |
| ! SINGLE_WITH_FILENAME-NOT: "-split-dwarf-output" | |
| ! Invoke objcopy if not using the integrated assembler. | |
| ! RUN: %flang -### -c -target x86_64-unknown-linux-gnu -fno-integrated-as -gsplit-dwarf -g %s 2>&1 | FileCheck %s --check-prefix=OBJCOPY | |
| ! OBJCOPY: objcopy{{(.exe)?}} | |
| ! OBJCOPY-SAME: --extract-dwo | |
| ! OBJCOPY-NEXT: objcopy{{(.exe)?}} | |
| ! OBJCOPY-SAME: --strip-dwo | |
| ! RUN: not %flang -target powerpc-ibm-aix -gdwarf-4 -gsplit-dwarf %s 2>&1 \ | |
| ! RUN: | FileCheck %s --check-prefix=UNSUP_OPT_AIX | |
| ! RUN: not %flang -target powerpc64-ibm-aix -gdwarf-4 -gsplit-dwarf %s 2>&1 \ | |
| ! RUN: | FileCheck %s --check-prefix=UNSUP_OPT_AIX64 | |
| ! UNSUP_OPT_AIX: error: unsupported option '-gsplit-dwarf' for target 'powerpc-ibm-aix' | |
| ! UNSUP_OPT_AIX64: error: unsupported option '-gsplit-dwarf' for target 'powerpc64-ibm-aix' |