diff options
Diffstat (limited to 'test/Driver/mips-cs.cpp')
-rw-r--r-- | test/Driver/mips-cs.cpp | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/test/Driver/mips-cs.cpp b/test/Driver/mips-cs.cpp index ad031a935de39..62a90f0b9110f 100644 --- a/test/Driver/mips-cs.cpp +++ b/test/Driver/mips-cs.cpp @@ -28,6 +28,35 @@ // 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, uclibc +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips-linux-gnu -muclibc \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-BE-UC-HF-32 %s +// CHECK-BE-UC-HF-32: "-internal-isystem" +// CHECK-BE-UC-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-BE-UC-HF-32: "-internal-isystem" +// CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc" +// CHECK-BE-UC-HF-32: "-internal-isystem" +// CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-BE-UC-HF-32: "-internal-externc-isystem" +// CHECK-BE-UC-HF-32: "[[TC]]/include" +// CHECK-BE-UC-HF-32: "-internal-externc-isystem" +// CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include" +// CHECK-BE-UC-HF-32: "{{.*}}ld{{(.exe)?}}" +// CHECK-BE-UC-HF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc" +// CHECK-BE-UC-HF-32: "-dynamic-linker" "/lib/ld-uClibc.so.0" +// CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-BE-UC-HF-32: "[[TC]]/uclibc{{/|\\\\}}crtbegin.o" +// CHECK-BE-UC-HF-32: "-L[[TC]]/uclibc" +// CHECK-BE-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc" +// CHECK-BE-UC-HF-32-NOT: "-L[[TC]]" +// CHECK-BE-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/lib/../lib" +// CHECK-BE-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/lib/../lib" +// CHECK-BE-UC-HF-32: "[[TC]]/uclibc{{/|\\\\}}crtend.o" +// CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/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 \ @@ -115,6 +144,35 @@ // CHECK-BE-HF-NAN: "[[TC]]/nan2008{{/|\\\\}}crtend.o" // CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o" // +// = Big-endian, hard float, uclibc, nan2008 +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips-linux-gnu -muclibc -mnan=2008 \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-BE-UC-HF-NAN %s +// CHECK-BE-UC-HF-NAN: "-internal-isystem" +// CHECK-BE-UC-HF-NAN: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-BE-UC-HF-NAN: "-internal-isystem" +// CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/nan2008" +// CHECK-BE-UC-HF-NAN: "-internal-isystem" +// CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-BE-UC-HF-NAN: "-internal-externc-isystem" +// CHECK-BE-UC-HF-NAN: "[[TC]]/include" +// CHECK-BE-UC-HF-NAN: "-internal-externc-isystem" +// CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include" +// CHECK-BE-UC-HF-NAN: "{{.*}}ld{{(.exe)?}}" +// CHECK-BE-UC-HF-NAN: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008" +// CHECK-BE-UC-HF-NAN: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0" +// CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-BE-UC-HF-NAN: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtbegin.o" +// CHECK-BE-UC-HF-NAN: "-L[[TC]]/uclibc/nan2008" +// CHECK-BE-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/nan2008" +// CHECK-BE-UC-HF-NAN-NOT: "-L[[TC]]" +// CHECK-BE-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/lib/../lib" +// CHECK-BE-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/usr/lib/../lib" +// CHECK-BE-UC-HF-NAN: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtend.o" +// CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/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 \ @@ -144,6 +202,35 @@ // 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, uclibc +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips-linux-gnu -muclibc -msoft-float \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-BE-UC-SF-32 %s +// CHECK-BE-UC-SF-32: "-internal-isystem" +// CHECK-BE-UC-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-BE-UC-SF-32: "-internal-isystem" +// CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/soft-float" +// CHECK-BE-UC-SF-32: "-internal-isystem" +// CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-BE-UC-SF-32: "-internal-externc-isystem" +// CHECK-BE-UC-SF-32: "[[TC]]/include" +// CHECK-BE-UC-SF-32: "-internal-externc-isystem" +// CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include" +// CHECK-BE-UC-SF-32: "{{.*}}ld{{(.exe)?}}" +// CHECK-BE-UC-SF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float" +// CHECK-BE-UC-SF-32: "-dynamic-linker" "/lib/ld-uClibc.so.0" +// CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-BE-UC-SF-32: "[[TC]]/uclibc/soft-float{{/|\\\\}}crtbegin.o" +// CHECK-BE-UC-SF-32: "-L[[TC]]/uclibc/soft-float" +// CHECK-BE-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/soft-float" +// CHECK-BE-UC-SF-32-NOT: "-L[[TC]]" +// CHECK-BE-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/lib/../lib" +// CHECK-BE-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/usr/lib/../lib" +// CHECK-BE-UC-SF-32: "[[TC]]/uclibc/soft-float{{/|\\\\}}crtend.o" +// CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/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 \ @@ -289,6 +376,35 @@ // 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, uclibc +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mipsel-linux-gnu -mhard-float -muclibc \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-EL-UC-HF-32 %s +// CHECK-EL-UC-HF-32: "-internal-isystem" +// CHECK-EL-UC-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-EL-UC-HF-32: "-internal-isystem" +// CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/el" +// CHECK-EL-UC-HF-32: "-internal-isystem" +// CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-EL-UC-HF-32: "-internal-externc-isystem" +// CHECK-EL-UC-HF-32: "[[TC]]/include" +// CHECK-EL-UC-HF-32: "-internal-externc-isystem" +// CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include" +// CHECK-EL-UC-HF-32: "{{.*}}ld{{(.exe)?}}" +// CHECK-EL-UC-HF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el" +// CHECK-EL-UC-HF-32: "-dynamic-linker" "/lib/ld-uClibc.so.0" +// CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-EL-UC-HF-32: "[[TC]]/uclibc/el{{/|\\\\}}crtbegin.o" +// CHECK-EL-UC-HF-32: "-L[[TC]]/uclibc/el" +// CHECK-EL-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/el" +// CHECK-EL-UC-HF-32-NOT: "-L[[TC]]" +// CHECK-EL-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/lib/../lib" +// CHECK-EL-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/usr/lib/../lib" +// CHECK-EL-UC-HF-32: "[[TC]]/uclibc/el{{/|\\\\}}crtend.o" +// CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/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 \ @@ -376,6 +492,35 @@ // CHECK-EL-HF-NAN: "[[TC]]/nan2008/el{{/|\\\\}}crtend.o" // CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el/usr/lib/../lib{{/|\\\\}}crtn.o" // +// = Little-endian, hard float, uclibc, nan2008 +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mipsel-linux-gnu -muclibc -mnan=2008 \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-EL-UC-HF-NAN %s +// CHECK-EL-UC-HF-NAN: "-internal-isystem" +// CHECK-EL-UC-HF-NAN: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-EL-UC-HF-NAN: "-internal-isystem" +// CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/nan2008/el" +// CHECK-EL-UC-HF-NAN: "-internal-isystem" +// CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-EL-UC-HF-NAN: "-internal-externc-isystem" +// CHECK-EL-UC-HF-NAN: "[[TC]]/include" +// CHECK-EL-UC-HF-NAN: "-internal-externc-isystem" +// CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include" +// CHECK-EL-UC-HF-NAN: "{{.*}}ld{{(.exe)?}}" +// CHECK-EL-UC-HF-NAN: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el" +// CHECK-EL-UC-HF-NAN: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0" +// CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-EL-UC-HF-NAN: "[[TC]]/uclibc/nan2008/el{{/|\\\\}}crtbegin.o" +// CHECK-EL-UC-HF-NAN: "-L[[TC]]/uclibc/nan2008/el" +// CHECK-EL-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/nan2008/el" +// CHECK-EL-UC-HF-NAN-NOT: "-L[[TC]]" +// CHECK-EL-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/lib/../lib" +// CHECK-EL-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/../lib" +// CHECK-EL-UC-HF-NAN: "[[TC]]/uclibc/nan2008/el{{/|\\\\}}crtend.o" +// CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/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 \ @@ -405,6 +550,35 @@ // 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, uclibc +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mipsel-linux-gnu -mfloat-abi=soft -muclibc \ +// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ +// RUN: | FileCheck --check-prefix=CHECK-EL-UC-SF-32 %s +// CHECK-EL-UC-SF-32: "-internal-isystem" +// CHECK-EL-UC-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" +// CHECK-EL-UC-SF-32: "-internal-isystem" +// CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/soft-float/el" +// CHECK-EL-UC-SF-32: "-internal-isystem" +// CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" +// CHECK-EL-UC-SF-32: "-internal-externc-isystem" +// CHECK-EL-UC-SF-32: "[[TC]]/include" +// CHECK-EL-UC-SF-32: "-internal-externc-isystem" +// CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include" +// CHECK-EL-UC-SF-32: "{{.*}}ld{{(.exe)?}}" +// CHECK-EL-UC-SF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el" +// CHECK-EL-UC-SF-32: "-dynamic-linker" "/lib/ld-uClibc.so.0" +// CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o" +// CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o" +// CHECK-EL-UC-SF-32: "[[TC]]/uclibc/soft-float/el{{/|\\\\}}crtbegin.o" +// CHECK-EL-UC-SF-32: "-L[[TC]]/uclibc/soft-float/el" +// CHECK-EL-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/soft-float/el" +// CHECK-EL-UC-SF-32-NOT: "-L[[TC]]" +// CHECK-EL-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/lib/../lib" +// CHECK-EL-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/../lib" +// CHECK-EL-UC-SF-32: "[[TC]]/uclibc/soft-float/el{{/|\\\\}}crtend.o" +// CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/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 \ |