109 lines · c
1/// The absolute path warning is enabled by -Wfuse-ld-path and -Wextra.2// RUN: not %clang %s -### --target=x86_64-unknown-linux -Wfuse-ld-path \3// RUN: -fuse-ld=/usr/local/bin/or1k-linux-ld 2>&1 | \4// RUN: FileCheck %s --check-prefix=CHECK-ABSOLUTE-LD5// CHECK-ABSOLUTE-LD: warning: '-fuse-ld=' taking a path is deprecated; use '--ld-path=' instead6// CHECK-ABSOLUTE-LD: /usr/local/bin/or1k-linux-ld7 8// RUN: not %clang %s -### --target=x86_64-unknown-linux -Wextra \9// RUN: -fuse-ld=/usr/local/bin/or1k-linux-ld 2>&1 | \10// RUN: FileCheck %s --check-prefix=CHECK-ABSOLUTE-LD11 12// RUN: not %clang %s -### --target=x86_64-unknown-linux \13// RUN: -fuse-ld=/usr/local/bin/or1k-linux-ld 2>&1 | \14// RUN: FileCheck %s --check-prefix=CHECK-NO-WARN15// CHECK-NO-WARN-NOT: warning:16 17// RUN: %clang %s -### \18// RUN: --target=x86_64-unknown-freebsd 2>&1 \19// RUN: | FileCheck %s --check-prefix=CHECK-FREEBSD-LD20// CHECK-FREEBSD-LD: ld21 22// RUN: %clang %s -### -fuse-ld=bfd \23// RUN: --sysroot=%S/Inputs/basic_freebsd_tree \24// RUN: --target=x86_64-unknown-freebsd \25// RUN: -B%S/Inputs/basic_freebsd_tree/usr/bin 2>&1 \26// RUN: | FileCheck %s -check-prefix=CHECK-FREEBSD-BFD27// CHECK-FREEBSD-BFD: Inputs/basic_freebsd_tree/usr/bin{{/|\\+}}ld.bfd28 29// RUN: %clang %s -### -fuse-ld=gold \30// RUN: --sysroot=%S/Inputs/basic_freebsd_tree \31// RUN: --target=x86_64-unknown-freebsd \32// RUN: -B%S/Inputs/basic_freebsd_tree/usr/bin 2>&1 \33// RUN: | FileCheck %s -check-prefix=CHECK-FREEBSD-GOLD34// CHECK-FREEBSD-GOLD: Inputs/basic_freebsd_tree/usr/bin{{/|\\+}}ld.gold35 36// RUN: not %clang %s -### -fuse-ld=plib \37// RUN: --sysroot=%S/Inputs/basic_freebsd_tree \38// RUN: --target=x86_64-unknown-freebsd \39// RUN: -B%S/Inputs/basic_freebsd_tree/usr/bin 2>&1 \40// RUN: | FileCheck %s -check-prefix=CHECK-FREEBSD-PLIB41// CHECK-FREEBSD-PLIB: error: invalid linker name42 43// RUN: %clang %s -### -fuse-ld=ld \44// RUN: --target=arm-linux-androideabi \45// RUN: -B%S/Inputs/basic_android_tree/bin/arm-linux-androideabi- 2>&1 \46// RUN: | FileCheck %s --check-prefix=CHECK-ANDROID-ARM-LD47// CHECK-ANDROID-ARM-LD: ld.lld48 49// RUN: %clang %s -### -fuse-ld=bfd \50// RUN: --target=arm-linux-androideabi \51// RUN: -B%S/Inputs/basic_android_tree/bin/arm-linux-androideabi- 2>&1 \52// RUN: | FileCheck %s -check-prefix=CHECK-ANDROID-ARM-BFD53// CHECK-ANDROID-ARM-BFD: Inputs/basic_android_tree/bin{{/|\\+}}arm-linux-androideabi-ld.bfd54 55// RUN: %clang %s -### -fuse-ld=gold \56// RUN: --target=arm-linux-androideabi \57// RUN: -B%S/Inputs/basic_android_tree/bin/arm-linux-androideabi- 2>&1 \58// RUN: | FileCheck %s -check-prefix=CHECK-ANDROID-ARM-GOLD59// CHECK-ANDROID-ARM-GOLD: Inputs/basic_android_tree/bin{{/|\\+}}arm-linux-androideabi-ld.gold60 61// RUN: %clang %s -### -fuse-ld=ld \62// RUN: --target=arm-linux-androideabi \63// RUN: --gcc-toolchain=%S/Inputs/basic_android_tree 2>&1 \64// RUN: | FileCheck %s --check-prefix=CHECK-ANDROID-ARM-LD-TC65// CHECK-ANDROID-ARM-LD-TC: ld.lld66 67// RUN: %clang %s -### -fuse-ld=bfd \68// RUN: --target=arm-linux-androideabi \69// RUN: --gcc-toolchain=%S/Inputs/basic_android_tree 2>&1 \70// RUN: | FileCheck %s -check-prefix=CHECK-ANDROID-ARM-BFD-TC71// CHECK-ANDROID-ARM-BFD-TC: Inputs/basic_android_tree/lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin{{/|\\+}}ld.bfd72 73// RUN: %clang %s -### -fuse-ld=gold \74// RUN: --target=arm-linux-androideabi \75// RUN: --gcc-toolchain=%S/Inputs/basic_android_tree 2>&1 \76// RUN: | FileCheck %s -check-prefix=CHECK-ANDROID-ARM-GOLD-TC77// CHECK-ANDROID-ARM-GOLD-TC: Inputs/basic_android_tree/lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin{{/|\\+}}ld.gold78 79 80// RUN: %clang %s -### -fuse-ld=link \81// RUN: --target=i686-unknown-windows-msvc 2>&1 \82// RUN: | FileCheck %s --check-prefix CHECK-WINDOWS-MSVC-LINK83// CHECK-WINDOWS-MSVC-LINK: "{{.*}}link.exe"84// CHECK-WINDOWS-MSVC-LINK-SAME: "-out:{{.*}}"85 86// RUN: %clang %s -### -fuse-ld=lld \87// RUN: --target=i686-unknown-windows-msvc 2>&1 \88// RUN: | FileCheck %s --check-prefix CHECK-WINDOWS-MSVC-LLD89// CHECK-WINDOWS-MSVC-LLD: "{{.*}}lld-link{{\.exe"|"}}90// CHECK-WINDOWS-MSVC-LLD-SAME: "-out:{{.*}}"91 92// RUN: %clang %s -### -fuse-ld=lld-link \93// RUN: --target=i686-unknown-windows-msvc 2>&1 \94// RUN: | FileCheck %s --check-prefix CHECK-WINDOWS-MSVC-LLD-LINK95// CHECK-WINDOWS-MSVC-LLD-LINK: "{{.*}}lld-link{{\.exe"|"}}96// CHECK-WINDOWS-MSVC-LLD-LINK-SAME: "-out:{{.*}}"97 98// RUN: %clang %s -### -fuse-ld=bfd \99// RUN: --target=i686-unknown-windows-msvc \100// RUN: -B %S/Inputs/Windows/usr/bin 2>&1 \101// RUN: | FileCheck %s --check-prefix CHECK-WINDOWS-MSVC-BFD102// CHECK-WINDOWS-MSVC-BFD: "{{.*}}ld.bfd"103// CHECK-WINDOWS-MSVC-BFD-SAME: "-o"104 105// RUN: %clang %s -### -fuse-ld=lld \106// RUN: --target=x86_64-unknown-uefi 2>&1 \107// RUN: | FileCheck %s --check-prefix CHECK-UEFI-LLD-LINK108// CHECK-UEFI-LLD-LINK: "{{.*}}lld-link109