From 529780c9105ff0551b67b0a4bb55462d65f00590 Mon Sep 17 00:00:00 2001 From: Simon Atanasyan Date: Tue, 26 Nov 2013 11:57:19 +0000 Subject: [PATCH] [Mips] Merge two MIPS Code Sourcery toolchain tests into the single one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195752 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Driver/mips-cs-header-search.cpp | 257 --------------- test/Driver/mips-cs-ld.c | 288 ----------------- test/Driver/mips-cs.cpp | 448 ++++++++++++++++++++++++++ 3 files changed, 448 insertions(+), 545 deletions(-) delete mode 100644 test/Driver/mips-cs-header-search.cpp delete mode 100644 test/Driver/mips-cs-ld.c create mode 100644 test/Driver/mips-cs.cpp diff --git a/test/Driver/mips-cs-header-search.cpp b/test/Driver/mips-cs-header-search.cpp deleted file mode 100644 index 5538031670..0000000000 --- a/test/Driver/mips-cs-header-search.cpp +++ /dev/null @@ -1,257 +0,0 @@ -// Check frontend invocations on Mentor Graphics MIPS toolchain. -// -// = Big-endian, hard float -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mips-linux-gnu \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-HF-32 %s -// CHECK-BE-HF-32: "-internal-isystem" -// CHECK-BE-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-BE-HF-32: "-internal-isystem" -// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu" -// CHECK-BE-HF-32: "-internal-isystem" -// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-BE-HF-32: "-internal-externc-isystem" -// CHECK-BE-HF-32: "[[TC]]/include" -// CHECK-BE-HF-32: "-internal-externc-isystem" -// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Big-endian, hard float, mips16 -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mips-linux-gnu -mips16 \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-HF-16 %s -// CHECK-BE-HF-16: "-internal-isystem" -// CHECK-BE-HF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-BE-HF-16: "-internal-isystem" -// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16" -// CHECK-BE-HF-16: "-internal-isystem" -// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-BE-HF-16: "-internal-externc-isystem" -// CHECK-BE-HF-16: "[[TC]]/include" -// CHECK-BE-HF-16: "-internal-externc-isystem" -// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Big-endian, hard float, micromips -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mips-linux-gnu -mmicromips \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-HF-MICRO %s -// CHECK-BE-HF-MICRO: "-internal-isystem" -// CHECK-BE-HF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-BE-HF-MICRO: "-internal-isystem" -// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips" -// CHECK-BE-HF-MICRO: "-internal-isystem" -// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-BE-HF-MICRO: "-internal-externc-isystem" -// CHECK-BE-HF-MICRO: "[[TC]]/include" -// CHECK-BE-HF-MICRO: "-internal-externc-isystem" -// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Big-endian, soft float -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mips-linux-gnu -msoft-float \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-SF-32 %s -// CHECK-BE-SF-32: "-internal-isystem" -// CHECK-BE-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-BE-SF-32: "-internal-isystem" -// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float" -// CHECK-BE-SF-32: "-internal-isystem" -// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-BE-SF-32: "-internal-externc-isystem" -// CHECK-BE-SF-32: "[[TC]]/include" -// CHECK-BE-SF-32: "-internal-externc-isystem" -// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Big-endian, soft float, mips16 -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mips-linux-gnu -msoft-float -mips16 \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-SF-16 %s -// CHECK-BE-SF-16: "-internal-isystem" -// CHECK-BE-SF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-BE-SF-16: "-internal-isystem" -// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/soft-float" -// CHECK-BE-SF-16: "-internal-isystem" -// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-BE-SF-16: "-internal-externc-isystem" -// CHECK-BE-SF-16: "[[TC]]/include" -// CHECK-BE-SF-16: "-internal-externc-isystem" -// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Big-endian, soft float, micromips -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mips-linux-gnu -msoft-float -mmicromips \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-SF-MICRO %s -// CHECK-BE-SF-MICRO: "-internal-isystem" -// CHECK-BE-SF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-BE-SF-MICRO: "-internal-isystem" -// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/soft-float" -// CHECK-BE-SF-MICRO: "-internal-isystem" -// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-BE-SF-MICRO: "-internal-externc-isystem" -// CHECK-BE-SF-MICRO: "[[TC]]/include" -// CHECK-BE-SF-MICRO: "-internal-externc-isystem" -// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Big-endian, hard float, 64-bit -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mips64-linux-gnu \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64 %s -// CHECK-BE-HF-64: "-internal-isystem" -// CHECK-BE-HF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-BE-HF-64: "-internal-isystem" -// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/64" -// CHECK-BE-HF-64: "-internal-isystem" -// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-BE-HF-64: "-internal-externc-isystem" -// CHECK-BE-HF-64: "[[TC]]/include" -// CHECK-BE-HF-64: "-internal-externc-isystem" -// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Big-endian, soft float, 64-bit -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mips64-linux-gnu -msoft-float \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64 %s -// CHECK-BE-SF-64: "-internal-isystem" -// CHECK-BE-SF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-BE-SF-64: "-internal-isystem" -// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/64" -// CHECK-BE-SF-64: "-internal-isystem" -// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-BE-SF-64: "-internal-externc-isystem" -// CHECK-BE-SF-64: "[[TC]]/include" -// CHECK-BE-SF-64: "-internal-externc-isystem" -// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Little-endian, hard float -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mipsel-linux-gnu -mhard-float \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-HF-32 %s -// CHECK-EL-HF-32: "-internal-isystem" -// CHECK-EL-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-EL-HF-32: "-internal-isystem" -// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/el" -// CHECK-EL-HF-32: "-internal-isystem" -// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-EL-HF-32: "-internal-externc-isystem" -// CHECK-EL-HF-32: "[[TC]]/include" -// CHECK-EL-HF-32: "-internal-externc-isystem" -// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Little-endian, hard float, mips16 -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mipsel-linux-gnu -mips16 \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-HF-16 %s -// CHECK-EL-HF-16: "-internal-isystem" -// CHECK-EL-HF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-EL-HF-16: "-internal-isystem" -// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/el" -// CHECK-EL-HF-16: "-internal-isystem" -// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-EL-HF-16: "-internal-externc-isystem" -// CHECK-EL-HF-16: "[[TC]]/include" -// CHECK-EL-HF-16: "-internal-externc-isystem" -// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Little-endian, hard float, micromips -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mipsel-linux-gnu -mmicromips \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-HF-MICRO %s -// CHECK-EL-HF-MICRO: "-internal-isystem" -// CHECK-EL-HF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-EL-HF-MICRO: "-internal-isystem" -// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/el" -// CHECK-EL-HF-MICRO: "-internal-isystem" -// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-EL-HF-MICRO: "-internal-externc-isystem" -// CHECK-EL-HF-MICRO: "[[TC]]/include" -// CHECK-EL-HF-MICRO: "-internal-externc-isystem" -// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Little-endian, soft float -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mipsel-linux-gnu -mfloat-abi=soft \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-SF-32 %s -// CHECK-EL-SF-32: "-internal-isystem" -// CHECK-EL-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-EL-SF-32: "-internal-isystem" -// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/el" -// CHECK-EL-SF-32: "-internal-isystem" -// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-EL-SF-32: "-internal-externc-isystem" -// CHECK-EL-SF-32: "[[TC]]/include" -// CHECK-EL-SF-32: "-internal-externc-isystem" -// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Little-endian, soft float, mips16 -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mipsel-linux-gnu -mips16 -msoft-float \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-SF-16 %s -// CHECK-EL-SF-16: "-internal-isystem" -// CHECK-EL-SF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-EL-SF-16: "-internal-isystem" -// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/soft-float/el" -// CHECK-EL-SF-16: "-internal-isystem" -// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-EL-SF-16: "-internal-externc-isystem" -// CHECK-EL-SF-16: "[[TC]]/include" -// CHECK-EL-SF-16: "-internal-externc-isystem" -// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Little-endian, soft float, micromips -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mipsel-linux-gnu -mmicromips -msoft-float \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-SF-MICRO %s -// CHECK-EL-SF-MICRO: "-internal-isystem" -// CHECK-EL-SF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-EL-SF-MICRO: "-internal-isystem" -// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/soft-float/el" -// CHECK-EL-SF-MICRO: "-internal-isystem" -// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-EL-SF-MICRO: "-internal-externc-isystem" -// CHECK-EL-SF-MICRO: "[[TC]]/include" -// CHECK-EL-SF-MICRO: "-internal-externc-isystem" -// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Little-endian, hard float, 64-bit -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mips64el-linux-gnu \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64 %s -// CHECK-EL-HF-64: "-internal-isystem" -// CHECK-EL-HF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-EL-HF-64: "-internal-isystem" -// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/el/64" -// CHECK-EL-HF-64: "-internal-isystem" -// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-EL-HF-64: "-internal-externc-isystem" -// CHECK-EL-HF-64: "[[TC]]/include" -// CHECK-EL-HF-64: "-internal-externc-isystem" -// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" -// -// = Little-endian, soft float, 64-bit -// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ -// RUN: --target=mips64el-linux-gnu -msoft-float \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64 %s -// CHECK-EL-SF-64: "-internal-isystem" -// CHECK-EL-SF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" -// CHECK-EL-SF-64: "-internal-isystem" -// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/el/64" -// CHECK-EL-SF-64: "-internal-isystem" -// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" -// CHECK-EL-SF-64: "-internal-externc-isystem" -// CHECK-EL-SF-64: "[[TC]]/include" -// CHECK-EL-SF-64: "-internal-externc-isystem" -// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" diff --git a/test/Driver/mips-cs-ld.c b/test/Driver/mips-cs-ld.c deleted file mode 100644 index cdbd5c8c69..0000000000 --- a/test/Driver/mips-cs-ld.c +++ /dev/null @@ -1,288 +0,0 @@ -// Check ld invocations on Mentor Graphics MIPS toolchain. -// -// = Big-endian, hard float -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mips-linux-gnu \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-HF-32 %s -// CHECK-BE-HF-32: "{{.*}}ld{{(.exe)?}}" -// CHECK-BE-HF-32: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc" -// CHECK-BE-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crt1.o" -// CHECK-BE-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crti.o" -// CHECK-BE-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3{{/|\\\\}}crtbegin.o" -// CHECK-BE-HF-32: "-L[[TC]]" -// CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib" -// CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/lib" -// CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/usr/lib" -// CHECK-BE-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3{{/|\\\\}}crtend.o" -// CHECK-BE-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crtn.o" -// -// = Big-endian, hard float, mips16 -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mips-linux-gnu -mips16 \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-HF-16 %s -// CHECK-BE-HF-16: "{{.*}}ld{{(.exe)?}}" -// CHECK-BE-HF-16: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/mips16" -// CHECK-BE-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crt1.o" -// CHECK-BE-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crti.o" -// CHECK-BE-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16{{/|\\\\}}crtbegin.o" -// CHECK-BE-HF-16: "-L[[TC]]/mips16" -// CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16" -// CHECK-BE-HF-16-NOT: "-L[[TC]]" -// CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/lib/../lib" -// CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib" -// CHECK-BE-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16{{/|\\\\}}crtend.o" -// CHECK-BE-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crtn.o" -// -// = Big-endian, hard float, mmicromips -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mips-linux-gnu -mmicromips \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-HF-MICRO %s -// CHECK-BE-HF-MICRO: "{{.*}}ld{{(.exe)?}}" -// CHECK-BE-HF-MICRO: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/micromips" -// CHECK-BE-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crt1.o" -// CHECK-BE-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crti.o" -// CHECK-BE-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips{{/|\\\\}}crtbegin.o" -// CHECK-BE-HF-MICRO: "-L[[TC]]/micromips" -// CHECK-BE-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips" -// CHECK-BE-HF-MICRO-NOT: "-L[[TC]]" -// CHECK-BE-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/lib/../lib" -// CHECK-BE-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib" -// CHECK-BE-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips{{/|\\\\}}crtend.o" -// CHECK-BE-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crtn.o" -// -// = Big-endian, soft float -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mips-linux-gnu -msoft-float \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-SF-32 %s -// CHECK-BE-SF-32: "{{.*}}ld{{(.exe)?}}" -// CHECK-BE-SF-32: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/soft-float" -// CHECK-BE-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o" -// CHECK-BE-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crti.o" -// CHECK-BE-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float{{/|\\\\}}crtbegin.o" -// CHECK-BE-SF-32: "-L[[TC]]/soft-float" -// CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/soft-float" -// CHECK-BE-SF-32-NOT: "-L[[TC]]" -// CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/lib/../lib" -// CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib" -// CHECK-BE-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float{{/|\\\\}}crtend.o" -// CHECK-BE-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o" -// -// = Big-endian, soft float, mips16 -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mips-linux-gnu -msoft-float -mips16 \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-SF-16 %s -// CHECK-BE-SF-16: "{{.*}}ld{{(.exe)?}}" -// CHECK-BE-SF-16: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/mips16/soft-float" -// CHECK-BE-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o" -// CHECK-BE-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crti.o" -// CHECK-BE-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16/soft-float{{/|\\\\}}crtbegin.o" -// CHECK-BE-SF-16: "-L[[TC]]/mips16/soft-float" -// CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16/soft-float" -// CHECK-BE-SF-16-NOT: "-L[[TC]]" -// CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/lib/../lib" -// CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib" -// CHECK-BE-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16/soft-float{{/|\\\\}}crtend.o" -// CHECK-BE-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o" -// -// = Big-endian, soft float, micromips -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mips-linux-gnu -msoft-float -mmicromips \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-SF-MICRO %s -// CHECK-BE-SF-MICRO: "{{.*}}ld{{(.exe)?}}" -// CHECK-BE-SF-MICRO: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/micromips/soft-float" -// CHECK-BE-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o" -// CHECK-BE-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crti.o" -// CHECK-BE-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips/soft-float{{/|\\\\}}crtbegin.o" -// CHECK-BE-SF-MICRO: "-L[[TC]]/micromips/soft-float" -// CHECK-BE-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips/soft-float" -// CHECK-BE-SF-MICRO-NOT: "-L[[TC]]" -// CHECK-BE-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/lib/../lib" -// CHECK-BE-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib" -// CHECK-BE-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips/soft-float{{/|\\\\}}crtend.o" -// CHECK-BE-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o" -// -// = Big-endian, hard float, 64-bit -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mips64-linux-gnu \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64 %s -// CHECK-BE-HF-64: "{{.*}}ld{{(.exe)?}}" -// CHECK-BE-HF-64: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc" -// CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crt1.o" -// CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crti.o" -// CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/64{{/|\\\\}}crtbegin.o" -// CHECK-BE-HF-64: "-L[[TC]]/64" -// CHECK-BE-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64" -// CHECK-BE-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/lib/../lib64" -// CHECK-BE-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64" -// CHECK-BE-HF-64-NOT: "-L[[TC]]" -// CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/64{{/|\\\\}}crtend.o" -// CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crtn.o" -// -// = Big-endian, soft float, 64-bit -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mips64-linux-gnu -msoft-float \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64 %s -// CHECK-BE-SF-64: "{{.*}}ld{{(.exe)?}}" -// CHECK-BE-SF-64: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/soft-float" -// CHECK-BE-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crt1.o" -// CHECK-BE-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crti.o" -// CHECK-BE-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float/64{{/|\\\\}}crtbegin.o" -// CHECK-BE-SF-64: "-L[[TC]]/soft-float/64" -// CHECK-BE-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64/soft-float" -// CHECK-BE-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/lib/../lib64" -// CHECK-BE-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64" -// CHECK-BE-SF-64-NOT: "-L[[TC]]" -// CHECK-BE-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float/64{{/|\\\\}}crtend.o" -// CHECK-BE-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crtn.o" -// -// = Little-endian, hard float -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mipsel-linux-gnu -mhard-float \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-HF-32 %s -// CHECK-EL-HF-32: "{{.*}}ld{{(.exe)?}}" -// CHECK-EL-HF-32: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/el" -// CHECK-EL-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crt1.o" -// CHECK-EL-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crti.o" -// CHECK-EL-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/el{{/|\\\\}}crtbegin.o" -// CHECK-EL-HF-32: "-L[[TC]]/el" -// CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/el" -// CHECK-EL-HF-32-NOT: "-L[[TC]]" -// CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/lib/../lib" -// CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib" -// CHECK-EL-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/el{{/|\\\\}}crtend.o" -// CHECK-EL-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crtn.o" -// -// = Little-endian, hard float, mips16 -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mipsel-linux-gnu -mips16 \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-HF-16 %s -// CHECK-EL-HF-16: "{{.*}}ld{{(.exe)?}}" -// CHECK-EL-HF-16: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/mips16/el" -// CHECK-EL-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o" -// CHECK-EL-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o" -// CHECK-EL-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16/el{{/|\\\\}}crtbegin.o" -// CHECK-EL-HF-16: "-L[[TC]]/mips16/el" -// CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16/el" -// CHECK-EL-HF-16-NOT: "-L[[TC]]" -// CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/lib/../lib" -// CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib" -// CHECK-EL-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16/el{{/|\\\\}}crtend.o" -// CHECK-EL-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o" -// -// = Little-endian, hard float, micromips -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mipsel-linux-gnu -mmicromips \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-HF-MICRO %s -// CHECK-EL-HF-MICRO: "{{.*}}ld{{(.exe)?}}" -// CHECK-EL-HF-MICRO: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/micromips/el" -// CHECK-EL-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o" -// CHECK-EL-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o" -// CHECK-EL-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips/el{{/|\\\\}}crtbegin.o" -// CHECK-EL-HF-MICRO: "-L[[TC]]/micromips/el" -// CHECK-EL-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips/el" -// CHECK-EL-HF-MICRO-NOT: "-L[[TC]]" -// CHECK-EL-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/lib/../lib" -// CHECK-EL-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib" -// CHECK-EL-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips/el{{/|\\\\}}crtend.o" -// CHECK-EL-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o" -// -// = Little-endian, soft float -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mipsel-linux-gnu -mfloat-abi=soft \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-SF-32 %s -// CHECK-EL-SF-32: "{{.*}}ld{{(.exe)?}}" -// CHECK-EL-SF-32: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/soft-float/el" -// CHECK-EL-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o" -// CHECK-EL-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o" -// CHECK-EL-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float/el{{/|\\\\}}crtbegin.o" -// CHECK-EL-SF-32: "-L[[TC]]/soft-float/el" -// CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/soft-float/el" -// CHECK-EL-SF-32-NOT: "-L[[TC]]" -// CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/lib/../lib" -// CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib" -// CHECK-EL-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float/el{{/|\\\\}}crtend.o" -// CHECK-EL-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o" -// -// = Little-endian, soft float, mips16 -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mipsel-linux-gnu -mips16 -msoft-float \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-SF-16 %s -// CHECK-EL-SF-16: "{{.*}}ld{{(.exe)?}}" -// CHECK-EL-SF-16: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el" -// CHECK-EL-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o" -// CHECK-EL-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o" -// CHECK-EL-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16/soft-float/el{{/|\\\\}}crtbegin.o" -// CHECK-EL-SF-16: "-L[[TC]]/mips16/soft-float/el" -// CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16/soft-float/el" -// CHECK-EL-SF-16-NOT: "-L[[TC]]" -// CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/lib/../lib" -// CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib" -// CHECK-EL-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16/soft-float/el{{/|\\\\}}crtend.o" -// CHECK-EL-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o" -// -// = Little-endian, soft float, micromips -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mipsel-linux-gnu -mmicromips -msoft-float \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-SF-MICRO %s -// CHECK-EL-SF-MICRO: "{{.*}}ld{{(.exe)?}}" -// CHECK-EL-SF-MICRO: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el" -// CHECK-EL-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o" -// CHECK-EL-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o" -// CHECK-EL-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips/soft-float/el{{/|\\\\}}crtbegin.o" -// CHECK-EL-SF-MICRO: "-L[[TC]]/micromips/soft-float/el" -// CHECK-EL-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips/soft-float/el" -// CHECK-EL-SF-MICRO-NOT: "-L[[TC]]" -// CHECK-EL-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/lib/../lib" -// CHECK-EL-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib" -// CHECK-EL-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips/soft-float/el{{/|\\\\}}crtend.o" -// CHECK-EL-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o" -// -// = Little-endian, hard float, 64-bit -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mips64el-linux-gnu \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64 %s -// CHECK-EL-HF-64: "{{.*}}ld{{(.exe)?}}" -// CHECK-EL-HF-64: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/el" -// CHECK-EL-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crt1.o" -// CHECK-EL-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crti.o" -// CHECK-EL-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/el/64{{/|\\\\}}crtbegin.o" -// CHECK-EL-HF-64: "-L[[TC]]/el/64" -// CHECK-EL-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64/el" -// CHECK-EL-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/lib/../lib64" -// CHECK-EL-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64" -// CHECK-EL-HF-64-NOT: "-L[[TC]]" -// CHECK-EL-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/el/64{{/|\\\\}}crtend.o" -// CHECK-EL-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crtn.o" -// -// = Little-endian, soft float, 64-bit -// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ -// RUN: --target=mips64el-linux-gnu -msoft-float \ -// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ -// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64 %s -// CHECK-EL-SF-64: "{{.*}}ld{{(.exe)?}}" -// CHECK-EL-SF-64: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/soft-float/el" -// CHECK-EL-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crt1.o" -// CHECK-EL-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crti.o" -// CHECK-EL-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float/el/64{{/|\\\\}}crtbegin.o" -// CHECK-EL-SF-64: "-L[[TC]]/soft-float/el/64" -// CHECK-EL-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64/soft-float/el" -// CHECK-EL-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/lib/../lib64" -// CHECK-EL-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64" -// CHECK-EL-SF-64-NOT: "-L[[TC]]" -// CHECK-EL-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float/el/64{{/|\\\\}}crtend.o" -// CHECK-EL-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crtn.o" diff --git a/test/Driver/mips-cs.cpp b/test/Driver/mips-cs.cpp new file mode 100644 index 0000000000..86675a3c83 --- /dev/null +++ b/test/Driver/mips-cs.cpp @@ -0,0 +1,448 @@ +// Check frontend and linker invocations on Mentor Graphics MIPS toolchain. +// +// = Big-endian, hard float +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips-linux-gnu \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-BE-HF-32 %s +// CHECK-BE-HF-32: "-internal-isystem" +// CHECK-BE-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-BE-HF-32: "-internal-isystem" +// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu" +// CHECK-BE-HF-32: "-internal-isystem" +// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-BE-HF-32: "-internal-externc-isystem" +// CHECK-BE-HF-32: "[[TC]]/include" +// CHECK-BE-HF-32: "-internal-externc-isystem" +// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-BE-HF-32: "{{.*}}ld{{(.exe)?}}" +// CHECK-BE-HF-32: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc" +// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-BE-HF-32: "[[TC]]{{/|\\\\}}crtbegin.o" +// CHECK-BE-HF-32: "-L[[SR]]" +// CHECK-BE-HF-32: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib" +// CHECK-BE-HF-32: "-L[[SR]]/../../../../mips-linux-gnu/libc/lib" +// CHECK-BE-HF-32: "-L[[SR]]/../../../../mips-linux-gnu/libc/usr/lib" +// CHECK-BE-HF-32: "[[TC]]{{/|\\\\}}crtend.o" +// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crtn.o" +// +// = Big-endian, hard float, mips16 +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips-linux-gnu -mips16 \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-BE-HF-16 %s +// CHECK-BE-HF-16: "-internal-isystem" +// CHECK-BE-HF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-BE-HF-16: "-internal-isystem" +// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16" +// CHECK-BE-HF-16: "-internal-isystem" +// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-BE-HF-16: "-internal-externc-isystem" +// CHECK-BE-HF-16: "[[TC]]/include" +// CHECK-BE-HF-16: "-internal-externc-isystem" +// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-BE-HF-16: "{{.*}}ld{{(.exe)?}}" +// CHECK-BE-HF-16: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/mips16" +// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-BE-HF-16: "[[TC]]/mips16{{/|\\\\}}crtbegin.o" +// CHECK-BE-HF-16: "-L[[SR]]/mips16" +// CHECK-BE-HF-16: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib/mips16" +// CHECK-BE-HF-16-NOT: "-L[[SR]]" +// CHECK-BE-HF-16: "-L[[SR]]/../../../../mips-linux-gnu/libc/mips16/lib/../lib" +// CHECK-BE-HF-16: "-L[[SR]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib" +// CHECK-BE-HF-16: "[[TC]]/mips16{{/|\\\\}}crtend.o" +// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crtn.o" +// +// = Big-endian, hard float, mmicromips +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips-linux-gnu -mmicromips \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-BE-HF-MICRO %s +// CHECK-BE-HF-MICRO: "-internal-isystem" +// CHECK-BE-HF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-BE-HF-MICRO: "-internal-isystem" +// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips" +// CHECK-BE-HF-MICRO: "-internal-isystem" +// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-BE-HF-MICRO: "-internal-externc-isystem" +// CHECK-BE-HF-MICRO: "[[TC]]/include" +// CHECK-BE-HF-MICRO: "-internal-externc-isystem" +// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-BE-HF-MICRO: "{{.*}}ld{{(.exe)?}}" +// CHECK-BE-HF-MICRO: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/micromips" +// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-BE-HF-MICRO: "[[TC]]/micromips{{/|\\\\}}crtbegin.o" +// CHECK-BE-HF-MICRO: "-L[[SR]]/micromips" +// CHECK-BE-HF-MICRO: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib/micromips" +// CHECK-BE-HF-MICRO-NOT: "-L[[SR]]" +// CHECK-BE-HF-MICRO: "-L[[SR]]/../../../../mips-linux-gnu/libc/micromips/lib/../lib" +// CHECK-BE-HF-MICRO: "-L[[SR]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib" +// CHECK-BE-HF-MICRO: "[[TC]]/micromips{{/|\\\\}}crtend.o" +// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crtn.o" +// +// = Big-endian, soft float +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips-linux-gnu -msoft-float \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-BE-SF-32 %s +// CHECK-BE-SF-32: "-internal-isystem" +// CHECK-BE-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-BE-SF-32: "-internal-isystem" +// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float" +// CHECK-BE-SF-32: "-internal-isystem" +// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-BE-SF-32: "-internal-externc-isystem" +// CHECK-BE-SF-32: "[[TC]]/include" +// CHECK-BE-SF-32: "-internal-externc-isystem" +// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-BE-SF-32: "{{.*}}ld{{(.exe)?}}" +// CHECK-BE-SF-32: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/soft-float" +// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-BE-SF-32: "[[TC]]/soft-float{{/|\\\\}}crtbegin.o" +// CHECK-BE-SF-32: "-L[[SR]]/soft-float" +// CHECK-BE-SF-32: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib/soft-float" +// CHECK-BE-SF-32-NOT: "-L[[SR]]" +// CHECK-BE-SF-32: "-L[[SR]]/../../../../mips-linux-gnu/libc/soft-float/lib/../lib" +// CHECK-BE-SF-32: "-L[[SR]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib" +// CHECK-BE-SF-32: "[[TC]]/soft-float{{/|\\\\}}crtend.o" +// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o" +// +// = Big-endian, soft float, mips16 +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips-linux-gnu -msoft-float -mips16 \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-BE-SF-16 %s +// CHECK-BE-SF-16: "-internal-isystem" +// CHECK-BE-SF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-BE-SF-16: "-internal-isystem" +// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/soft-float" +// CHECK-BE-SF-16: "-internal-isystem" +// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-BE-SF-16: "-internal-externc-isystem" +// CHECK-BE-SF-16: "[[TC]]/include" +// CHECK-BE-SF-16: "-internal-externc-isystem" +// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-BE-SF-16: "{{.*}}ld{{(.exe)?}}" +// CHECK-BE-SF-16: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/mips16/soft-float" +// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-BE-SF-16: "[[TC]]/mips16/soft-float{{/|\\\\}}crtbegin.o" +// CHECK-BE-SF-16: "-L[[SR]]/mips16/soft-float" +// CHECK-BE-SF-16: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib/mips16/soft-float" +// CHECK-BE-SF-16-NOT: "-L[[SR]]" +// CHECK-BE-SF-16: "-L[[SR]]/../../../../mips-linux-gnu/libc/mips16/soft-float/lib/../lib" +// CHECK-BE-SF-16: "-L[[SR]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib" +// CHECK-BE-SF-16: "[[TC]]/mips16/soft-float{{/|\\\\}}crtend.o" +// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o" +// +// = Big-endian, soft float, micromips +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips-linux-gnu -msoft-float -mmicromips \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-BE-SF-MICRO %s +// CHECK-BE-SF-MICRO: "-internal-isystem" +// CHECK-BE-SF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-BE-SF-MICRO: "-internal-isystem" +// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/soft-float" +// CHECK-BE-SF-MICRO: "-internal-isystem" +// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-BE-SF-MICRO: "-internal-externc-isystem" +// CHECK-BE-SF-MICRO: "[[TC]]/include" +// CHECK-BE-SF-MICRO: "-internal-externc-isystem" +// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-BE-SF-MICRO: "{{.*}}ld{{(.exe)?}}" +// CHECK-BE-SF-MICRO: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/micromips/soft-float" +// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-BE-SF-MICRO: "[[TC]]/micromips/soft-float{{/|\\\\}}crtbegin.o" +// CHECK-BE-SF-MICRO: "-L[[SR]]/micromips/soft-float" +// CHECK-BE-SF-MICRO: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib/micromips/soft-float" +// CHECK-BE-SF-MICRO-NOT: "-L[[SR]]" +// CHECK-BE-SF-MICRO: "-L[[SR]]/../../../../mips-linux-gnu/libc/micromips/soft-float/lib/../lib" +// CHECK-BE-SF-MICRO: "-L[[SR]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib" +// CHECK-BE-SF-MICRO: "[[TC]]/micromips/soft-float{{/|\\\\}}crtend.o" +// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o" +// +// = Big-endian, hard float, 64-bit +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips64-linux-gnu \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64 %s +// CHECK-BE-HF-64: "-internal-isystem" +// CHECK-BE-HF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-BE-HF-64: "-internal-isystem" +// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/64" +// CHECK-BE-HF-64: "-internal-isystem" +// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-BE-HF-64: "-internal-externc-isystem" +// CHECK-BE-HF-64: "[[TC]]/include" +// CHECK-BE-HF-64: "-internal-externc-isystem" +// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-BE-HF-64: "{{.*}}ld{{(.exe)?}}" +// CHECK-BE-HF-64: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc" +// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crt1.o" +// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crti.o" +// CHECK-BE-HF-64: "[[TC]]/64{{/|\\\\}}crtbegin.o" +// CHECK-BE-HF-64: "-L[[SR]]/64" +// CHECK-BE-HF-64: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib64" +// CHECK-BE-HF-64: "-L[[SR]]/../../../../mips-linux-gnu/libc/lib/../lib64" +// CHECK-BE-HF-64: "-L[[SR]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64" +// CHECK-BE-HF-64-NOT: "-L[[SR]]" +// CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/64{{/|\\\\}}crtend.o" +// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crtn.o" +// +// = Big-endian, soft float, 64-bit +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips64-linux-gnu -msoft-float \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64 %s +// CHECK-BE-SF-64: "-internal-isystem" +// CHECK-BE-SF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-BE-SF-64: "-internal-isystem" +// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/64" +// CHECK-BE-SF-64: "-internal-isystem" +// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-BE-SF-64: "-internal-externc-isystem" +// CHECK-BE-SF-64: "[[TC]]/include" +// CHECK-BE-SF-64: "-internal-externc-isystem" +// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-BE-SF-64: "{{.*}}ld{{(.exe)?}}" +// CHECK-BE-SF-64: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/soft-float" +// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crt1.o" +// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crti.o" +// CHECK-BE-SF-64: "[[TC]]/soft-float/64{{/|\\\\}}crtbegin.o" +// CHECK-BE-SF-64: "-L[[SR]]/soft-float/64" +// CHECK-BE-SF-64: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib64/soft-float" +// CHECK-BE-SF-64: "-L[[SR]]/../../../../mips-linux-gnu/libc/soft-float/lib/../lib64" +// CHECK-BE-SF-64: "-L[[SR]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64" +// CHECK-BE-SF-64-NOT: "-L[[SR]]" +// CHECK-BE-SF-64: "[[TC]]/soft-float/64{{/|\\\\}}crtend.o" +// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crtn.o" +// +// = Little-endian, hard float +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mipsel-linux-gnu -mhard-float \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-EL-HF-32 %s +// CHECK-EL-HF-32: "-internal-isystem" +// CHECK-EL-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-EL-HF-32: "-internal-isystem" +// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/el" +// CHECK-EL-HF-32: "-internal-isystem" +// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-EL-HF-32: "-internal-externc-isystem" +// CHECK-EL-HF-32: "[[TC]]/include" +// CHECK-EL-HF-32: "-internal-externc-isystem" +// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-EL-HF-32: "{{.*}}ld{{(.exe)?}}" +// CHECK-EL-HF-32: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/el" +// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-EL-HF-32: "[[TC]]/el{{/|\\\\}}crtbegin.o" +// CHECK-EL-HF-32: "-L[[SR]]/el" +// CHECK-EL-HF-32: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib/el" +// CHECK-EL-HF-32-NOT: "-L[[SR]]" +// CHECK-EL-HF-32: "-L[[SR]]/../../../../mips-linux-gnu/libc/el/lib/../lib" +// CHECK-EL-HF-32: "-L[[SR]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib" +// CHECK-EL-HF-32: "[[TC]]/el{{/|\\\\}}crtend.o" +// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crtn.o" +// +// = Little-endian, hard float, mips16 +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mipsel-linux-gnu -mips16 \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-EL-HF-16 %s +// CHECK-EL-HF-16: "-internal-isystem" +// CHECK-EL-HF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-EL-HF-16: "-internal-isystem" +// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/el" +// CHECK-EL-HF-16: "-internal-isystem" +// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-EL-HF-16: "-internal-externc-isystem" +// CHECK-EL-HF-16: "[[TC]]/include" +// CHECK-EL-HF-16: "-internal-externc-isystem" +// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-EL-HF-16: "{{.*}}ld{{(.exe)?}}" +// CHECK-EL-HF-16: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/mips16/el" +// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-EL-HF-16: "[[TC]]/mips16/el{{/|\\\\}}crtbegin.o" +// CHECK-EL-HF-16: "-L[[SR]]/mips16/el" +// CHECK-EL-HF-16: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib/mips16/el" +// CHECK-EL-HF-16-NOT: "-L[[SR]]" +// CHECK-EL-HF-16: "-L[[SR]]/../../../../mips-linux-gnu/libc/mips16/el/lib/../lib" +// CHECK-EL-HF-16: "-L[[SR]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib" +// CHECK-EL-HF-16: "[[TC]]/mips16/el{{/|\\\\}}crtend.o" +// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o" +// +// = Little-endian, hard float, micromips +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mipsel-linux-gnu -mmicromips \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-EL-HF-MICRO %s +// CHECK-EL-HF-MICRO: "-internal-isystem" +// CHECK-EL-HF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-EL-HF-MICRO: "-internal-isystem" +// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/el" +// CHECK-EL-HF-MICRO: "-internal-isystem" +// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-EL-HF-MICRO: "-internal-externc-isystem" +// CHECK-EL-HF-MICRO: "[[TC]]/include" +// CHECK-EL-HF-MICRO: "-internal-externc-isystem" +// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-EL-HF-MICRO: "{{.*}}ld{{(.exe)?}}" +// CHECK-EL-HF-MICRO: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/micromips/el" +// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-EL-HF-MICRO: "[[TC]]/micromips/el{{/|\\\\}}crtbegin.o" +// CHECK-EL-HF-MICRO: "-L[[SR]]/micromips/el" +// CHECK-EL-HF-MICRO: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib/micromips/el" +// CHECK-EL-HF-MICRO-NOT: "-L[[SR]]" +// CHECK-EL-HF-MICRO: "-L[[SR]]/../../../../mips-linux-gnu/libc/micromips/el/lib/../lib" +// CHECK-EL-HF-MICRO: "-L[[SR]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib" +// CHECK-EL-HF-MICRO: "[[TC]]/micromips/el{{/|\\\\}}crtend.o" +// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o" +// +// = Little-endian, soft float +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mipsel-linux-gnu -mfloat-abi=soft \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-EL-SF-32 %s +// CHECK-EL-SF-32: "-internal-isystem" +// CHECK-EL-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-EL-SF-32: "-internal-isystem" +// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/el" +// CHECK-EL-SF-32: "-internal-isystem" +// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-EL-SF-32: "-internal-externc-isystem" +// CHECK-EL-SF-32: "[[TC]]/include" +// CHECK-EL-SF-32: "-internal-externc-isystem" +// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-EL-SF-32: "{{.*}}ld{{(.exe)?}}" +// CHECK-EL-SF-32: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/soft-float/el" +// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-EL-SF-32: "[[TC]]/soft-float/el{{/|\\\\}}crtbegin.o" +// CHECK-EL-SF-32: "-L[[SR]]/soft-float/el" +// CHECK-EL-SF-32: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib/soft-float/el" +// CHECK-EL-SF-32-NOT: "-L[[SR]]" +// CHECK-EL-SF-32: "-L[[SR]]/../../../../mips-linux-gnu/libc/soft-float/el/lib/../lib" +// CHECK-EL-SF-32: "-L[[SR]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib" +// CHECK-EL-SF-32: "[[TC]]/soft-float/el{{/|\\\\}}crtend.o" +// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o" +// +// = Little-endian, soft float, mips16 +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mipsel-linux-gnu -mips16 -msoft-float \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-EL-SF-16 %s +// CHECK-EL-SF-16: "-internal-isystem" +// CHECK-EL-SF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-EL-SF-16: "-internal-isystem" +// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/soft-float/el" +// CHECK-EL-SF-16: "-internal-isystem" +// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-EL-SF-16: "-internal-externc-isystem" +// CHECK-EL-SF-16: "[[TC]]/include" +// CHECK-EL-SF-16: "-internal-externc-isystem" +// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-EL-SF-16: "{{.*}}ld{{(.exe)?}}" +// CHECK-EL-SF-16: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el" +// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-EL-SF-16: "[[TC]]/mips16/soft-float/el{{/|\\\\}}crtbegin.o" +// CHECK-EL-SF-16: "-L[[SR]]/mips16/soft-float/el" +// CHECK-EL-SF-16: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib/mips16/soft-float/el" +// CHECK-EL-SF-16-NOT: "-L[[SR]]" +// CHECK-EL-SF-16: "-L[[SR]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/lib/../lib" +// CHECK-EL-SF-16: "-L[[SR]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib" +// CHECK-EL-SF-16: "[[TC]]/mips16/soft-float/el{{/|\\\\}}crtend.o" +// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o" +// +// = Little-endian, soft float, micromips +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mipsel-linux-gnu -mmicromips -msoft-float \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-EL-SF-MICRO %s +// CHECK-EL-SF-MICRO: "-internal-isystem" +// CHECK-EL-SF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-EL-SF-MICRO: "-internal-isystem" +// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/soft-float/el" +// CHECK-EL-SF-MICRO: "-internal-isystem" +// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-EL-SF-MICRO: "-internal-externc-isystem" +// CHECK-EL-SF-MICRO: "[[TC]]/include" +// CHECK-EL-SF-MICRO: "-internal-externc-isystem" +// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-EL-SF-MICRO: "{{.*}}ld{{(.exe)?}}" +// CHECK-EL-SF-MICRO: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el" +// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-EL-SF-MICRO: "[[TC]]/micromips/soft-float/el{{/|\\\\}}crtbegin.o" +// CHECK-EL-SF-MICRO: "-L[[SR]]/micromips/soft-float/el" +// CHECK-EL-SF-MICRO: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib/micromips/soft-float/el" +// CHECK-EL-SF-MICRO-NOT: "-L[[SR]]" +// CHECK-EL-SF-MICRO: "-L[[SR]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/lib/../lib" +// CHECK-EL-SF-MICRO: "-L[[SR]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib" +// CHECK-EL-SF-MICRO: "[[TC]]/micromips/soft-float/el{{/|\\\\}}crtend.o" +// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o" +// +// = Little-endian, hard float, 64-bit +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips64el-linux-gnu \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64 %s +// CHECK-EL-HF-64: "-internal-isystem" +// CHECK-EL-HF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-EL-HF-64: "-internal-isystem" +// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/el/64" +// CHECK-EL-HF-64: "-internal-isystem" +// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-EL-HF-64: "-internal-externc-isystem" +// CHECK-EL-HF-64: "[[TC]]/include" +// CHECK-EL-HF-64: "-internal-externc-isystem" +// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-EL-HF-64: "{{.*}}ld{{(.exe)?}}" +// CHECK-EL-HF-64: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/el" +// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crt1.o" +// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crti.o" +// CHECK-EL-HF-64: "[[TC]]/el/64{{/|\\\\}}crtbegin.o" +// CHECK-EL-HF-64: "-L[[SR]]/el/64" +// CHECK-EL-HF-64: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib64/el" +// CHECK-EL-HF-64: "-L[[SR]]/../../../../mips-linux-gnu/libc/el/lib/../lib64" +// CHECK-EL-HF-64: "-L[[SR]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64" +// CHECK-EL-HF-64-NOT: "-L[[SR]]" +// CHECK-EL-HF-64: "[[TC]]/el/64{{/|\\\\}}crtend.o" +// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crtn.o" +// +// = Little-endian, soft float, 64-bit +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips64el-linux-gnu -msoft-float \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64 %s +// CHECK-EL-SF-64: "-internal-isystem" +// CHECK-EL-SF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-EL-SF-64: "-internal-isystem" +// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/el/64" +// CHECK-EL-SF-64: "-internal-isystem" +// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-EL-SF-64: "-internal-externc-isystem" +// CHECK-EL-SF-64: "[[TC]]/include" +// CHECK-EL-SF-64: "-internal-externc-isystem" +// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" +// CHECK-EL-SF-64: "{{.*}}ld{{(.exe)?}}" +// CHECK-EL-SF-64: "--sysroot=[[SR:[^"]+]]/../../../../mips-linux-gnu/libc/soft-float/el" +// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crt1.o" +// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crti.o" +// CHECK-EL-SF-64: "[[TC]]/soft-float/el/64{{/|\\\\}}crtbegin.o" +// CHECK-EL-SF-64: "-L[[SR]]/soft-float/el/64" +// CHECK-EL-SF-64: "-L[[SR]]/../../../../mips-linux-gnu/lib/../lib64/soft-float/el" +// CHECK-EL-SF-64: "-L[[SR]]/../../../../mips-linux-gnu/libc/soft-float/el/lib/../lib64" +// CHECK-EL-SF-64: "-L[[SR]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64" +// CHECK-EL-SF-64-NOT: "-L[[SR]]" +// CHECK-EL-SF-64: "[[TC]]/soft-float/el/64{{/|\\\\}}crtend.o" +// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crtn.o" -- 2.40.0