blob: 1cb9f84d7a5d210de5f6840df10d6b26cb5f68d8 [file] [log] [blame] [edit]
! 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'