1*67e74705SXin Li // Check frontend and linker invocations on Mentor Graphics MIPS toolchain. 2*67e74705SXin Li // 3*67e74705SXin Li // = Big-endian, hard float 4*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 5*67e74705SXin Li // RUN: --target=mips-linux-gnu \ 6*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 7*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-BE-HF-32 %s 8*67e74705SXin Li // CHECK-BE-HF-32: "-internal-isystem" 9*67e74705SXin Li // CHECK-BE-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 10*67e74705SXin Li // CHECK-BE-HF-32: "-internal-isystem" 11*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu" 12*67e74705SXin Li // CHECK-BE-HF-32: "-internal-isystem" 13*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 14*67e74705SXin Li // CHECK-BE-HF-32: "-internal-externc-isystem" 15*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/include" 16*67e74705SXin Li // CHECK-BE-HF-32: "-internal-externc-isystem" 17*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 18*67e74705SXin Li // CHECK-BE-HF-32: "{{.*}}ld{{(.exe)?}}" 19*67e74705SXin Li // CHECK-BE-HF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc" 20*67e74705SXin Li // CHECK-BE-HF-32: "-dynamic-linker" "/lib/ld.so.1" 21*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crt1.o" 22*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crti.o" 23*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]{{/|\\\\}}crtbegin.o" 24*67e74705SXin Li // CHECK-BE-HF-32: "-L[[TC]]" 25*67e74705SXin Li // CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib" 26*67e74705SXin Li // CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/lib" 27*67e74705SXin Li // CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/usr/lib" 28*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]{{/|\\\\}}crtend.o" 29*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crtn.o" 30*67e74705SXin Li // 31*67e74705SXin Li // = Big-endian, hard float, uclibc 32*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 33*67e74705SXin Li // RUN: --target=mips-linux-gnu -muclibc \ 34*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 35*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-BE-UC-HF-32 %s 36*67e74705SXin Li // CHECK-BE-UC-HF-32: "-internal-isystem" 37*67e74705SXin Li // CHECK-BE-UC-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 38*67e74705SXin Li // CHECK-BE-UC-HF-32: "-internal-isystem" 39*67e74705SXin Li // CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc" 40*67e74705SXin Li // CHECK-BE-UC-HF-32: "-internal-isystem" 41*67e74705SXin Li // CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 42*67e74705SXin Li // CHECK-BE-UC-HF-32: "-internal-externc-isystem" 43*67e74705SXin Li // CHECK-BE-UC-HF-32: "[[TC]]/include" 44*67e74705SXin Li // CHECK-BE-UC-HF-32: "-internal-externc-isystem" 45*67e74705SXin Li // CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include" 46*67e74705SXin Li // CHECK-BE-UC-HF-32: "{{.*}}ld{{(.exe)?}}" 47*67e74705SXin Li // CHECK-BE-UC-HF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc" 48*67e74705SXin Li // CHECK-BE-UC-HF-32: "-dynamic-linker" "/lib/ld-uClibc.so.0" 49*67e74705SXin Li // CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/lib/../lib{{/|\\\\}}crt1.o" 50*67e74705SXin Li // CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/lib/../lib{{/|\\\\}}crti.o" 51*67e74705SXin Li // CHECK-BE-UC-HF-32: "[[TC]]/uclibc{{/|\\\\}}crtbegin.o" 52*67e74705SXin Li // CHECK-BE-UC-HF-32: "-L[[TC]]/uclibc" 53*67e74705SXin Li // CHECK-BE-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc" 54*67e74705SXin Li // CHECK-BE-UC-HF-32-NOT: "-L[[TC]]" 55*67e74705SXin Li // CHECK-BE-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/lib/../lib" 56*67e74705SXin Li // CHECK-BE-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/lib/../lib" 57*67e74705SXin Li // CHECK-BE-UC-HF-32: "[[TC]]/uclibc{{/|\\\\}}crtend.o" 58*67e74705SXin Li // CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/lib/../lib{{/|\\\\}}crtn.o" 59*67e74705SXin Li // 60*67e74705SXin Li // = Big-endian, hard float, mips16 61*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 62*67e74705SXin Li // RUN: --target=mips-linux-gnu -mips16 \ 63*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 64*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-BE-HF-16 %s 65*67e74705SXin Li // CHECK-BE-HF-16: "-internal-isystem" 66*67e74705SXin Li // CHECK-BE-HF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 67*67e74705SXin Li // CHECK-BE-HF-16: "-internal-isystem" 68*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16" 69*67e74705SXin Li // CHECK-BE-HF-16: "-internal-isystem" 70*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 71*67e74705SXin Li // CHECK-BE-HF-16: "-internal-externc-isystem" 72*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/include" 73*67e74705SXin Li // CHECK-BE-HF-16: "-internal-externc-isystem" 74*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 75*67e74705SXin Li // CHECK-BE-HF-16: "{{.*}}ld{{(.exe)?}}" 76*67e74705SXin Li // CHECK-BE-HF-16: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/mips16" 77*67e74705SXin Li // CHECK-BE-HF-16: "-dynamic-linker" "/lib/ld.so.1" 78*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crt1.o" 79*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crti.o" 80*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/mips16{{/|\\\\}}crtbegin.o" 81*67e74705SXin Li // CHECK-BE-HF-16: "-L[[TC]]/mips16" 82*67e74705SXin Li // CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16" 83*67e74705SXin Li // CHECK-BE-HF-16-NOT: "-L[[TC]]" 84*67e74705SXin Li // CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/lib/../lib" 85*67e74705SXin Li // CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib" 86*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/mips16{{/|\\\\}}crtend.o" 87*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crtn.o" 88*67e74705SXin Li // 89*67e74705SXin Li // = Big-endian, hard float, mmicromips 90*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 91*67e74705SXin Li // RUN: --target=mips-linux-gnu -mmicromips \ 92*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 93*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-BE-HF-MICRO %s 94*67e74705SXin Li // CHECK-BE-HF-MICRO: "-internal-isystem" 95*67e74705SXin Li // CHECK-BE-HF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 96*67e74705SXin Li // CHECK-BE-HF-MICRO: "-internal-isystem" 97*67e74705SXin Li // CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips" 98*67e74705SXin Li // CHECK-BE-HF-MICRO: "-internal-isystem" 99*67e74705SXin Li // CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 100*67e74705SXin Li // CHECK-BE-HF-MICRO: "-internal-externc-isystem" 101*67e74705SXin Li // CHECK-BE-HF-MICRO: "[[TC]]/include" 102*67e74705SXin Li // CHECK-BE-HF-MICRO: "-internal-externc-isystem" 103*67e74705SXin Li // CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 104*67e74705SXin Li // CHECK-BE-HF-MICRO: "{{.*}}ld{{(.exe)?}}" 105*67e74705SXin Li // CHECK-BE-HF-MICRO: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/micromips" 106*67e74705SXin Li // CHECK-BE-HF-MICRO: "-dynamic-linker" "/lib/ld.so.1" 107*67e74705SXin Li // CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crt1.o" 108*67e74705SXin Li // CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crti.o" 109*67e74705SXin Li // CHECK-BE-HF-MICRO: "[[TC]]/micromips{{/|\\\\}}crtbegin.o" 110*67e74705SXin Li // CHECK-BE-HF-MICRO: "-L[[TC]]/micromips" 111*67e74705SXin Li // CHECK-BE-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips" 112*67e74705SXin Li // CHECK-BE-HF-MICRO-NOT: "-L[[TC]]" 113*67e74705SXin Li // CHECK-BE-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/lib/../lib" 114*67e74705SXin Li // CHECK-BE-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib" 115*67e74705SXin Li // CHECK-BE-HF-MICRO: "[[TC]]/micromips{{/|\\\\}}crtend.o" 116*67e74705SXin Li // CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crtn.o" 117*67e74705SXin Li // 118*67e74705SXin Li // = Big-endian, hard float, nan2008 119*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 120*67e74705SXin Li // RUN: --target=mips-linux-gnu -mnan=2008 \ 121*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 122*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-BE-HF-NAN %s 123*67e74705SXin Li // CHECK-BE-HF-NAN: "-internal-isystem" 124*67e74705SXin Li // CHECK-BE-HF-NAN: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 125*67e74705SXin Li // CHECK-BE-HF-NAN: "-internal-isystem" 126*67e74705SXin Li // CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/nan2008" 127*67e74705SXin Li // CHECK-BE-HF-NAN: "-internal-isystem" 128*67e74705SXin Li // CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 129*67e74705SXin Li // CHECK-BE-HF-NAN: "-internal-externc-isystem" 130*67e74705SXin Li // CHECK-BE-HF-NAN: "[[TC]]/include" 131*67e74705SXin Li // CHECK-BE-HF-NAN: "-internal-externc-isystem" 132*67e74705SXin Li // CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 133*67e74705SXin Li // CHECK-BE-HF-NAN: "{{.*}}ld{{(.exe)?}}" 134*67e74705SXin Li // CHECK-BE-HF-NAN: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/nan2008" 135*67e74705SXin Li // CHECK-BE-HF-NAN: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1" 136*67e74705SXin Li // CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o" 137*67e74705SXin Li // CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/usr/lib/../lib{{/|\\\\}}crti.o" 138*67e74705SXin Li // CHECK-BE-HF-NAN: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o" 139*67e74705SXin Li // CHECK-BE-HF-NAN: "-L[[TC]]/nan2008" 140*67e74705SXin Li // CHECK-BE-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/nan2008" 141*67e74705SXin Li // CHECK-BE-HF-NAN-NOT: "-L[[TC]]" 142*67e74705SXin Li // CHECK-BE-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/nan2008/lib/../lib" 143*67e74705SXin Li // CHECK-BE-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/nan2008/usr/lib/../lib" 144*67e74705SXin Li // CHECK-BE-HF-NAN: "[[TC]]/nan2008{{/|\\\\}}crtend.o" 145*67e74705SXin Li // CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o" 146*67e74705SXin Li // 147*67e74705SXin Li // = Big-endian, hard float, uclibc, nan2008 148*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 149*67e74705SXin Li // RUN: --target=mips-linux-gnu -muclibc -mnan=2008 \ 150*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 151*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-BE-UC-HF-NAN %s 152*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "-internal-isystem" 153*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 154*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "-internal-isystem" 155*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/nan2008" 156*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "-internal-isystem" 157*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 158*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "-internal-externc-isystem" 159*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "[[TC]]/include" 160*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "-internal-externc-isystem" 161*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include" 162*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "{{.*}}ld{{(.exe)?}}" 163*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008" 164*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0" 165*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o" 166*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crti.o" 167*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtbegin.o" 168*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "-L[[TC]]/uclibc/nan2008" 169*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/nan2008" 170*67e74705SXin Li // CHECK-BE-UC-HF-NAN-NOT: "-L[[TC]]" 171*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/lib/../lib" 172*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/usr/lib/../lib" 173*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtend.o" 174*67e74705SXin Li // CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o" 175*67e74705SXin Li // 176*67e74705SXin Li // = Big-endian, soft float 177*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 178*67e74705SXin Li // RUN: --target=mips-linux-gnu -msoft-float \ 179*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 180*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-BE-SF-32 %s 181*67e74705SXin Li // CHECK-BE-SF-32: "-internal-isystem" 182*67e74705SXin Li // CHECK-BE-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 183*67e74705SXin Li // CHECK-BE-SF-32: "-internal-isystem" 184*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float" 185*67e74705SXin Li // CHECK-BE-SF-32: "-internal-isystem" 186*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 187*67e74705SXin Li // CHECK-BE-SF-32: "-internal-externc-isystem" 188*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/include" 189*67e74705SXin Li // CHECK-BE-SF-32: "-internal-externc-isystem" 190*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 191*67e74705SXin Li // CHECK-BE-SF-32: "{{.*}}ld{{(.exe)?}}" 192*67e74705SXin Li // CHECK-BE-SF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/soft-float" 193*67e74705SXin Li // CHECK-BE-SF-32: "-dynamic-linker" "/lib/ld.so.1" 194*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o" 195*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crti.o" 196*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/soft-float{{/|\\\\}}crtbegin.o" 197*67e74705SXin Li // CHECK-BE-SF-32: "-L[[TC]]/soft-float" 198*67e74705SXin Li // CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/soft-float" 199*67e74705SXin Li // CHECK-BE-SF-32-NOT: "-L[[TC]]" 200*67e74705SXin Li // CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/lib/../lib" 201*67e74705SXin Li // CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib" 202*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/soft-float{{/|\\\\}}crtend.o" 203*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o" 204*67e74705SXin Li // 205*67e74705SXin Li // = Big-endian, soft float, uclibc 206*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 207*67e74705SXin Li // RUN: --target=mips-linux-gnu -muclibc -msoft-float \ 208*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 209*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-BE-UC-SF-32 %s 210*67e74705SXin Li // CHECK-BE-UC-SF-32: "-internal-isystem" 211*67e74705SXin Li // CHECK-BE-UC-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 212*67e74705SXin Li // CHECK-BE-UC-SF-32: "-internal-isystem" 213*67e74705SXin Li // CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/soft-float" 214*67e74705SXin Li // CHECK-BE-UC-SF-32: "-internal-isystem" 215*67e74705SXin Li // CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 216*67e74705SXin Li // CHECK-BE-UC-SF-32: "-internal-externc-isystem" 217*67e74705SXin Li // CHECK-BE-UC-SF-32: "[[TC]]/include" 218*67e74705SXin Li // CHECK-BE-UC-SF-32: "-internal-externc-isystem" 219*67e74705SXin Li // CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include" 220*67e74705SXin Li // CHECK-BE-UC-SF-32: "{{.*}}ld{{(.exe)?}}" 221*67e74705SXin Li // CHECK-BE-UC-SF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float" 222*67e74705SXin Li // CHECK-BE-UC-SF-32: "-dynamic-linker" "/lib/ld-uClibc.so.0" 223*67e74705SXin Li // CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o" 224*67e74705SXin Li // CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/usr/lib/../lib{{/|\\\\}}crti.o" 225*67e74705SXin Li // CHECK-BE-UC-SF-32: "[[TC]]/uclibc/soft-float{{/|\\\\}}crtbegin.o" 226*67e74705SXin Li // CHECK-BE-UC-SF-32: "-L[[TC]]/uclibc/soft-float" 227*67e74705SXin Li // CHECK-BE-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/soft-float" 228*67e74705SXin Li // CHECK-BE-UC-SF-32-NOT: "-L[[TC]]" 229*67e74705SXin Li // CHECK-BE-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/lib/../lib" 230*67e74705SXin Li // CHECK-BE-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/usr/lib/../lib" 231*67e74705SXin Li // CHECK-BE-UC-SF-32: "[[TC]]/uclibc/soft-float{{/|\\\\}}crtend.o" 232*67e74705SXin Li // CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o" 233*67e74705SXin Li // 234*67e74705SXin Li // = Big-endian, soft float, mips16 235*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 236*67e74705SXin Li // RUN: --target=mips-linux-gnu -msoft-float -mips16 \ 237*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 238*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-BE-SF-16 %s 239*67e74705SXin Li // CHECK-BE-SF-16: "-internal-isystem" 240*67e74705SXin Li // CHECK-BE-SF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 241*67e74705SXin Li // CHECK-BE-SF-16: "-internal-isystem" 242*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/soft-float" 243*67e74705SXin Li // CHECK-BE-SF-16: "-internal-isystem" 244*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 245*67e74705SXin Li // CHECK-BE-SF-16: "-internal-externc-isystem" 246*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/include" 247*67e74705SXin Li // CHECK-BE-SF-16: "-internal-externc-isystem" 248*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 249*67e74705SXin Li // CHECK-BE-SF-16: "{{.*}}ld{{(.exe)?}}" 250*67e74705SXin Li // CHECK-BE-SF-16: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float" 251*67e74705SXin Li // CHECK-BE-SF-16: "-dynamic-linker" "/lib/ld.so.1" 252*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o" 253*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crti.o" 254*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/mips16/soft-float{{/|\\\\}}crtbegin.o" 255*67e74705SXin Li // CHECK-BE-SF-16: "-L[[TC]]/mips16/soft-float" 256*67e74705SXin Li // CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16/soft-float" 257*67e74705SXin Li // CHECK-BE-SF-16-NOT: "-L[[TC]]" 258*67e74705SXin Li // CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/lib/../lib" 259*67e74705SXin Li // CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib" 260*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/mips16/soft-float{{/|\\\\}}crtend.o" 261*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o" 262*67e74705SXin Li // 263*67e74705SXin Li // = Big-endian, soft float, micromips 264*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 265*67e74705SXin Li // RUN: --target=mips-linux-gnu -msoft-float -mmicromips \ 266*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 267*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-BE-SF-MICRO %s 268*67e74705SXin Li // CHECK-BE-SF-MICRO: "-internal-isystem" 269*67e74705SXin Li // CHECK-BE-SF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 270*67e74705SXin Li // CHECK-BE-SF-MICRO: "-internal-isystem" 271*67e74705SXin Li // CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/soft-float" 272*67e74705SXin Li // CHECK-BE-SF-MICRO: "-internal-isystem" 273*67e74705SXin Li // CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 274*67e74705SXin Li // CHECK-BE-SF-MICRO: "-internal-externc-isystem" 275*67e74705SXin Li // CHECK-BE-SF-MICRO: "[[TC]]/include" 276*67e74705SXin Li // CHECK-BE-SF-MICRO: "-internal-externc-isystem" 277*67e74705SXin Li // CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 278*67e74705SXin Li // CHECK-BE-SF-MICRO: "{{.*}}ld{{(.exe)?}}" 279*67e74705SXin Li // CHECK-BE-SF-MICRO: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float" 280*67e74705SXin Li // CHECK-BE-SF-MICRO: "-dynamic-linker" "/lib/ld.so.1" 281*67e74705SXin Li // CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o" 282*67e74705SXin Li // CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crti.o" 283*67e74705SXin Li // CHECK-BE-SF-MICRO: "[[TC]]/micromips/soft-float{{/|\\\\}}crtbegin.o" 284*67e74705SXin Li // CHECK-BE-SF-MICRO: "-L[[TC]]/micromips/soft-float" 285*67e74705SXin Li // CHECK-BE-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips/soft-float" 286*67e74705SXin Li // CHECK-BE-SF-MICRO-NOT: "-L[[TC]]" 287*67e74705SXin Li // CHECK-BE-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/lib/../lib" 288*67e74705SXin Li // CHECK-BE-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib" 289*67e74705SXin Li // CHECK-BE-SF-MICRO: "[[TC]]/micromips/soft-float{{/|\\\\}}crtend.o" 290*67e74705SXin Li // CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o" 291*67e74705SXin Li // 292*67e74705SXin Li // = Big-endian, hard float, 64-bit 293*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 294*67e74705SXin Li // RUN: --target=mips64-linux-gnu \ 295*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 296*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-BE-HF-64 %s 297*67e74705SXin Li // CHECK-BE-HF-64: "-internal-isystem" 298*67e74705SXin Li // CHECK-BE-HF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 299*67e74705SXin Li // CHECK-BE-HF-64: "-internal-isystem" 300*67e74705SXin Li // CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/64" 301*67e74705SXin Li // CHECK-BE-HF-64: "-internal-isystem" 302*67e74705SXin Li // CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 303*67e74705SXin Li // CHECK-BE-HF-64: "-internal-externc-isystem" 304*67e74705SXin Li // CHECK-BE-HF-64: "[[TC]]/include" 305*67e74705SXin Li // CHECK-BE-HF-64: "-internal-externc-isystem" 306*67e74705SXin Li // CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 307*67e74705SXin Li // CHECK-BE-HF-64: "{{.*}}ld{{(.exe)?}}" 308*67e74705SXin Li // CHECK-BE-HF-64: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc" 309*67e74705SXin Li // CHECK-BE-HF-64: "-dynamic-linker" "/lib64/ld.so.1" 310*67e74705SXin Li // CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crt1.o" 311*67e74705SXin Li // CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crti.o" 312*67e74705SXin Li // CHECK-BE-HF-64: "[[TC]]/64{{/|\\\\}}crtbegin.o" 313*67e74705SXin Li // CHECK-BE-HF-64: "-L[[TC]]/64" 314*67e74705SXin Li // CHECK-BE-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64" 315*67e74705SXin Li // CHECK-BE-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/lib/../lib64" 316*67e74705SXin Li // CHECK-BE-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64" 317*67e74705SXin Li // CHECK-BE-HF-64-NOT: "-L[[TC]]" 318*67e74705SXin Li // CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/64{{/|\\\\}}crtend.o" 319*67e74705SXin Li // CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crtn.o" 320*67e74705SXin Li // 321*67e74705SXin Li // = Big-endian, soft float, 64-bit 322*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 323*67e74705SXin Li // RUN: --target=mips64-linux-gnu -msoft-float \ 324*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 325*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-BE-SF-64 %s 326*67e74705SXin Li // CHECK-BE-SF-64: "-internal-isystem" 327*67e74705SXin Li // CHECK-BE-SF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 328*67e74705SXin Li // CHECK-BE-SF-64: "-internal-isystem" 329*67e74705SXin Li // CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/64" 330*67e74705SXin Li // CHECK-BE-SF-64: "-internal-isystem" 331*67e74705SXin Li // CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 332*67e74705SXin Li // CHECK-BE-SF-64: "-internal-externc-isystem" 333*67e74705SXin Li // CHECK-BE-SF-64: "[[TC]]/include" 334*67e74705SXin Li // CHECK-BE-SF-64: "-internal-externc-isystem" 335*67e74705SXin Li // CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 336*67e74705SXin Li // CHECK-BE-SF-64: "{{.*}}ld{{(.exe)?}}" 337*67e74705SXin Li // CHECK-BE-SF-64: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/soft-float" 338*67e74705SXin Li // CHECK-BE-SF-64: "-dynamic-linker" "/lib64/ld.so.1" 339*67e74705SXin Li // CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crt1.o" 340*67e74705SXin Li // CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crti.o" 341*67e74705SXin Li // CHECK-BE-SF-64: "[[TC]]/soft-float/64{{/|\\\\}}crtbegin.o" 342*67e74705SXin Li // CHECK-BE-SF-64: "-L[[TC]]/soft-float/64" 343*67e74705SXin Li // CHECK-BE-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64/soft-float" 344*67e74705SXin Li // CHECK-BE-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/lib/../lib64" 345*67e74705SXin Li // CHECK-BE-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64" 346*67e74705SXin Li // CHECK-BE-SF-64-NOT: "-L[[TC]]" 347*67e74705SXin Li // CHECK-BE-SF-64: "[[TC]]/soft-float/64{{/|\\\\}}crtend.o" 348*67e74705SXin Li // CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crtn.o" 349*67e74705SXin Li // 350*67e74705SXin Li // = Little-endian, hard float 351*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 352*67e74705SXin Li // RUN: --target=mipsel-linux-gnu -mhard-float \ 353*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 354*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-EL-HF-32 %s 355*67e74705SXin Li // CHECK-EL-HF-32: "-internal-isystem" 356*67e74705SXin Li // CHECK-EL-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 357*67e74705SXin Li // CHECK-EL-HF-32: "-internal-isystem" 358*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/el" 359*67e74705SXin Li // CHECK-EL-HF-32: "-internal-isystem" 360*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 361*67e74705SXin Li // CHECK-EL-HF-32: "-internal-externc-isystem" 362*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/include" 363*67e74705SXin Li // CHECK-EL-HF-32: "-internal-externc-isystem" 364*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 365*67e74705SXin Li // CHECK-EL-HF-32: "{{.*}}ld{{(.exe)?}}" 366*67e74705SXin Li // CHECK-EL-HF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/el" 367*67e74705SXin Li // CHECK-EL-HF-32: "-dynamic-linker" "/lib/ld.so.1" 368*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crt1.o" 369*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crti.o" 370*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/el{{/|\\\\}}crtbegin.o" 371*67e74705SXin Li // CHECK-EL-HF-32: "-L[[TC]]/el" 372*67e74705SXin Li // CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/el" 373*67e74705SXin Li // CHECK-EL-HF-32-NOT: "-L[[TC]]" 374*67e74705SXin Li // CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/lib/../lib" 375*67e74705SXin Li // CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib" 376*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/el{{/|\\\\}}crtend.o" 377*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crtn.o" 378*67e74705SXin Li // 379*67e74705SXin Li // = Little-endian, hard float, uclibc 380*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 381*67e74705SXin Li // RUN: --target=mipsel-linux-gnu -mhard-float -muclibc \ 382*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 383*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-EL-UC-HF-32 %s 384*67e74705SXin Li // CHECK-EL-UC-HF-32: "-internal-isystem" 385*67e74705SXin Li // CHECK-EL-UC-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 386*67e74705SXin Li // CHECK-EL-UC-HF-32: "-internal-isystem" 387*67e74705SXin Li // CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/el" 388*67e74705SXin Li // CHECK-EL-UC-HF-32: "-internal-isystem" 389*67e74705SXin Li // CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 390*67e74705SXin Li // CHECK-EL-UC-HF-32: "-internal-externc-isystem" 391*67e74705SXin Li // CHECK-EL-UC-HF-32: "[[TC]]/include" 392*67e74705SXin Li // CHECK-EL-UC-HF-32: "-internal-externc-isystem" 393*67e74705SXin Li // CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include" 394*67e74705SXin Li // CHECK-EL-UC-HF-32: "{{.*}}ld{{(.exe)?}}" 395*67e74705SXin Li // CHECK-EL-UC-HF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el" 396*67e74705SXin Li // CHECK-EL-UC-HF-32: "-dynamic-linker" "/lib/ld-uClibc.so.0" 397*67e74705SXin Li // CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/usr/lib/../lib{{/|\\\\}}crt1.o" 398*67e74705SXin Li // CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/usr/lib/../lib{{/|\\\\}}crti.o" 399*67e74705SXin Li // CHECK-EL-UC-HF-32: "[[TC]]/uclibc/el{{/|\\\\}}crtbegin.o" 400*67e74705SXin Li // CHECK-EL-UC-HF-32: "-L[[TC]]/uclibc/el" 401*67e74705SXin Li // CHECK-EL-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/el" 402*67e74705SXin Li // CHECK-EL-UC-HF-32-NOT: "-L[[TC]]" 403*67e74705SXin Li // CHECK-EL-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/lib/../lib" 404*67e74705SXin Li // CHECK-EL-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/usr/lib/../lib" 405*67e74705SXin Li // CHECK-EL-UC-HF-32: "[[TC]]/uclibc/el{{/|\\\\}}crtend.o" 406*67e74705SXin Li // CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/usr/lib/../lib{{/|\\\\}}crtn.o" 407*67e74705SXin Li // 408*67e74705SXin Li // = Little-endian, hard float, mips16 409*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 410*67e74705SXin Li // RUN: --target=mipsel-linux-gnu -mips16 \ 411*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 412*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-EL-HF-16 %s 413*67e74705SXin Li // CHECK-EL-HF-16: "-internal-isystem" 414*67e74705SXin Li // CHECK-EL-HF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 415*67e74705SXin Li // CHECK-EL-HF-16: "-internal-isystem" 416*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/el" 417*67e74705SXin Li // CHECK-EL-HF-16: "-internal-isystem" 418*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 419*67e74705SXin Li // CHECK-EL-HF-16: "-internal-externc-isystem" 420*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/include" 421*67e74705SXin Li // CHECK-EL-HF-16: "-internal-externc-isystem" 422*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 423*67e74705SXin Li // CHECK-EL-HF-16: "{{.*}}ld{{(.exe)?}}" 424*67e74705SXin Li // CHECK-EL-HF-16: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/mips16/el" 425*67e74705SXin Li // CHECK-EL-HF-16: "-dynamic-linker" "/lib/ld.so.1" 426*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o" 427*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o" 428*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/mips16/el{{/|\\\\}}crtbegin.o" 429*67e74705SXin Li // CHECK-EL-HF-16: "-L[[TC]]/mips16/el" 430*67e74705SXin Li // CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16/el" 431*67e74705SXin Li // CHECK-EL-HF-16-NOT: "-L[[TC]]" 432*67e74705SXin Li // CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/lib/../lib" 433*67e74705SXin Li // CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib" 434*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/mips16/el{{/|\\\\}}crtend.o" 435*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o" 436*67e74705SXin Li // 437*67e74705SXin Li // = Little-endian, hard float, micromips 438*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 439*67e74705SXin Li // RUN: --target=mipsel-linux-gnu -mmicromips \ 440*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 441*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-EL-HF-MICRO %s 442*67e74705SXin Li // CHECK-EL-HF-MICRO: "-internal-isystem" 443*67e74705SXin Li // CHECK-EL-HF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 444*67e74705SXin Li // CHECK-EL-HF-MICRO: "-internal-isystem" 445*67e74705SXin Li // CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/el" 446*67e74705SXin Li // CHECK-EL-HF-MICRO: "-internal-isystem" 447*67e74705SXin Li // CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 448*67e74705SXin Li // CHECK-EL-HF-MICRO: "-internal-externc-isystem" 449*67e74705SXin Li // CHECK-EL-HF-MICRO: "[[TC]]/include" 450*67e74705SXin Li // CHECK-EL-HF-MICRO: "-internal-externc-isystem" 451*67e74705SXin Li // CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 452*67e74705SXin Li // CHECK-EL-HF-MICRO: "{{.*}}ld{{(.exe)?}}" 453*67e74705SXin Li // CHECK-EL-HF-MICRO: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/micromips/el" 454*67e74705SXin Li // CHECK-EL-HF-MICRO: "-dynamic-linker" "/lib/ld.so.1" 455*67e74705SXin Li // CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o" 456*67e74705SXin Li // CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o" 457*67e74705SXin Li // CHECK-EL-HF-MICRO: "[[TC]]/micromips/el{{/|\\\\}}crtbegin.o" 458*67e74705SXin Li // CHECK-EL-HF-MICRO: "-L[[TC]]/micromips/el" 459*67e74705SXin Li // CHECK-EL-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips/el" 460*67e74705SXin Li // CHECK-EL-HF-MICRO-NOT: "-L[[TC]]" 461*67e74705SXin Li // CHECK-EL-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/lib/../lib" 462*67e74705SXin Li // CHECK-EL-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib" 463*67e74705SXin Li // CHECK-EL-HF-MICRO: "[[TC]]/micromips/el{{/|\\\\}}crtend.o" 464*67e74705SXin Li // CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o" 465*67e74705SXin Li // 466*67e74705SXin Li // = Little-endian, hard float, nan2008 467*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 468*67e74705SXin Li // RUN: --target=mipsel-linux-gnu -mnan=2008 \ 469*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 470*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-EL-HF-NAN %s 471*67e74705SXin Li // CHECK-EL-HF-NAN: "-internal-isystem" 472*67e74705SXin Li // CHECK-EL-HF-NAN: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 473*67e74705SXin Li // CHECK-EL-HF-NAN: "-internal-isystem" 474*67e74705SXin Li // CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/nan2008/el" 475*67e74705SXin Li // CHECK-EL-HF-NAN: "-internal-isystem" 476*67e74705SXin Li // CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 477*67e74705SXin Li // CHECK-EL-HF-NAN: "-internal-externc-isystem" 478*67e74705SXin Li // CHECK-EL-HF-NAN: "[[TC]]/include" 479*67e74705SXin Li // CHECK-EL-HF-NAN: "-internal-externc-isystem" 480*67e74705SXin Li // CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 481*67e74705SXin Li // CHECK-EL-HF-NAN: "{{.*}}ld{{(.exe)?}}" 482*67e74705SXin Li // CHECK-EL-HF-NAN: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el" 483*67e74705SXin Li // CHECK-EL-HF-NAN: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1" 484*67e74705SXin Li // CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el/usr/lib/../lib{{/|\\\\}}crt1.o" 485*67e74705SXin Li // CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el/usr/lib/../lib{{/|\\\\}}crti.o" 486*67e74705SXin Li // CHECK-EL-HF-NAN: "[[TC]]/nan2008/el{{/|\\\\}}crtbegin.o" 487*67e74705SXin Li // CHECK-EL-HF-NAN: "-L[[TC]]/nan2008/el" 488*67e74705SXin Li // CHECK-EL-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/nan2008/el" 489*67e74705SXin Li // CHECK-EL-HF-NAN-NOT: "-L[[TC]]" 490*67e74705SXin Li // CHECK-EL-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el/lib/../lib" 491*67e74705SXin Li // CHECK-EL-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el/usr/lib/../lib" 492*67e74705SXin Li // CHECK-EL-HF-NAN: "[[TC]]/nan2008/el{{/|\\\\}}crtend.o" 493*67e74705SXin Li // CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el/usr/lib/../lib{{/|\\\\}}crtn.o" 494*67e74705SXin Li // 495*67e74705SXin Li // = Little-endian, hard float, uclibc, nan2008 496*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 497*67e74705SXin Li // RUN: --target=mipsel-linux-gnu -muclibc -mnan=2008 \ 498*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 499*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-EL-UC-HF-NAN %s 500*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "-internal-isystem" 501*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 502*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "-internal-isystem" 503*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/nan2008/el" 504*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "-internal-isystem" 505*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 506*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "-internal-externc-isystem" 507*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "[[TC]]/include" 508*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "-internal-externc-isystem" 509*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include" 510*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "{{.*}}ld{{(.exe)?}}" 511*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el" 512*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0" 513*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/../lib{{/|\\\\}}crt1.o" 514*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/../lib{{/|\\\\}}crti.o" 515*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "[[TC]]/uclibc/nan2008/el{{/|\\\\}}crtbegin.o" 516*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "-L[[TC]]/uclibc/nan2008/el" 517*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/nan2008/el" 518*67e74705SXin Li // CHECK-EL-UC-HF-NAN-NOT: "-L[[TC]]" 519*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/lib/../lib" 520*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/../lib" 521*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "[[TC]]/uclibc/nan2008/el{{/|\\\\}}crtend.o" 522*67e74705SXin Li // CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/../lib{{/|\\\\}}crtn.o" 523*67e74705SXin Li // 524*67e74705SXin Li // = Little-endian, soft float 525*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 526*67e74705SXin Li // RUN: --target=mipsel-linux-gnu -mfloat-abi=soft \ 527*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 528*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-EL-SF-32 %s 529*67e74705SXin Li // CHECK-EL-SF-32: "-internal-isystem" 530*67e74705SXin Li // CHECK-EL-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 531*67e74705SXin Li // CHECK-EL-SF-32: "-internal-isystem" 532*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/el" 533*67e74705SXin Li // CHECK-EL-SF-32: "-internal-isystem" 534*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 535*67e74705SXin Li // CHECK-EL-SF-32: "-internal-externc-isystem" 536*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/include" 537*67e74705SXin Li // CHECK-EL-SF-32: "-internal-externc-isystem" 538*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 539*67e74705SXin Li // CHECK-EL-SF-32: "{{.*}}ld{{(.exe)?}}" 540*67e74705SXin Li // CHECK-EL-SF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el" 541*67e74705SXin Li // CHECK-EL-SF-32: "-dynamic-linker" "/lib/ld.so.1" 542*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o" 543*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o" 544*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/soft-float/el{{/|\\\\}}crtbegin.o" 545*67e74705SXin Li // CHECK-EL-SF-32: "-L[[TC]]/soft-float/el" 546*67e74705SXin Li // CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/soft-float/el" 547*67e74705SXin Li // CHECK-EL-SF-32-NOT: "-L[[TC]]" 548*67e74705SXin Li // CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/lib/../lib" 549*67e74705SXin Li // CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib" 550*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/soft-float/el{{/|\\\\}}crtend.o" 551*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o" 552*67e74705SXin Li // 553*67e74705SXin Li // = Little-endian, soft float, uclibc 554*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 555*67e74705SXin Li // RUN: --target=mipsel-linux-gnu -mfloat-abi=soft -muclibc \ 556*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 557*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-EL-UC-SF-32 %s 558*67e74705SXin Li // CHECK-EL-UC-SF-32: "-internal-isystem" 559*67e74705SXin Li // CHECK-EL-UC-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 560*67e74705SXin Li // CHECK-EL-UC-SF-32: "-internal-isystem" 561*67e74705SXin Li // CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/soft-float/el" 562*67e74705SXin Li // CHECK-EL-UC-SF-32: "-internal-isystem" 563*67e74705SXin Li // CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 564*67e74705SXin Li // CHECK-EL-UC-SF-32: "-internal-externc-isystem" 565*67e74705SXin Li // CHECK-EL-UC-SF-32: "[[TC]]/include" 566*67e74705SXin Li // CHECK-EL-UC-SF-32: "-internal-externc-isystem" 567*67e74705SXin Li // CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include" 568*67e74705SXin Li // CHECK-EL-UC-SF-32: "{{.*}}ld{{(.exe)?}}" 569*67e74705SXin Li // CHECK-EL-UC-SF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el" 570*67e74705SXin Li // CHECK-EL-UC-SF-32: "-dynamic-linker" "/lib/ld-uClibc.so.0" 571*67e74705SXin Li // CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o" 572*67e74705SXin Li // CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o" 573*67e74705SXin Li // CHECK-EL-UC-SF-32: "[[TC]]/uclibc/soft-float/el{{/|\\\\}}crtbegin.o" 574*67e74705SXin Li // CHECK-EL-UC-SF-32: "-L[[TC]]/uclibc/soft-float/el" 575*67e74705SXin Li // CHECK-EL-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/soft-float/el" 576*67e74705SXin Li // CHECK-EL-UC-SF-32-NOT: "-L[[TC]]" 577*67e74705SXin Li // CHECK-EL-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/lib/../lib" 578*67e74705SXin Li // CHECK-EL-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/../lib" 579*67e74705SXin Li // CHECK-EL-UC-SF-32: "[[TC]]/uclibc/soft-float/el{{/|\\\\}}crtend.o" 580*67e74705SXin Li // CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o" 581*67e74705SXin Li // 582*67e74705SXin Li // = Little-endian, soft float, mips16 583*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 584*67e74705SXin Li // RUN: --target=mipsel-linux-gnu -mips16 -msoft-float \ 585*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 586*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-EL-SF-16 %s 587*67e74705SXin Li // CHECK-EL-SF-16: "-internal-isystem" 588*67e74705SXin Li // CHECK-EL-SF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 589*67e74705SXin Li // CHECK-EL-SF-16: "-internal-isystem" 590*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/soft-float/el" 591*67e74705SXin Li // CHECK-EL-SF-16: "-internal-isystem" 592*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 593*67e74705SXin Li // CHECK-EL-SF-16: "-internal-externc-isystem" 594*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/include" 595*67e74705SXin Li // CHECK-EL-SF-16: "-internal-externc-isystem" 596*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 597*67e74705SXin Li // CHECK-EL-SF-16: "{{.*}}ld{{(.exe)?}}" 598*67e74705SXin Li // CHECK-EL-SF-16: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el" 599*67e74705SXin Li // CHECK-EL-SF-16: "-dynamic-linker" "/lib/ld.so.1" 600*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o" 601*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o" 602*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/mips16/soft-float/el{{/|\\\\}}crtbegin.o" 603*67e74705SXin Li // CHECK-EL-SF-16: "-L[[TC]]/mips16/soft-float/el" 604*67e74705SXin Li // CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16/soft-float/el" 605*67e74705SXin Li // CHECK-EL-SF-16-NOT: "-L[[TC]]" 606*67e74705SXin Li // CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/lib/../lib" 607*67e74705SXin Li // CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib" 608*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/mips16/soft-float/el{{/|\\\\}}crtend.o" 609*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o" 610*67e74705SXin Li // 611*67e74705SXin Li // = Little-endian, soft float, micromips 612*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 613*67e74705SXin Li // RUN: --target=mipsel-linux-gnu -mmicromips -msoft-float \ 614*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 615*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-EL-SF-MICRO %s 616*67e74705SXin Li // CHECK-EL-SF-MICRO: "-internal-isystem" 617*67e74705SXin Li // CHECK-EL-SF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 618*67e74705SXin Li // CHECK-EL-SF-MICRO: "-internal-isystem" 619*67e74705SXin Li // CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/soft-float/el" 620*67e74705SXin Li // CHECK-EL-SF-MICRO: "-internal-isystem" 621*67e74705SXin Li // CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 622*67e74705SXin Li // CHECK-EL-SF-MICRO: "-internal-externc-isystem" 623*67e74705SXin Li // CHECK-EL-SF-MICRO: "[[TC]]/include" 624*67e74705SXin Li // CHECK-EL-SF-MICRO: "-internal-externc-isystem" 625*67e74705SXin Li // CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 626*67e74705SXin Li // CHECK-EL-SF-MICRO: "{{.*}}ld{{(.exe)?}}" 627*67e74705SXin Li // CHECK-EL-SF-MICRO: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el" 628*67e74705SXin Li // CHECK-EL-SF-MICRO: "-dynamic-linker" "/lib/ld.so.1" 629*67e74705SXin Li // CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o" 630*67e74705SXin Li // CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o" 631*67e74705SXin Li // CHECK-EL-SF-MICRO: "[[TC]]/micromips/soft-float/el{{/|\\\\}}crtbegin.o" 632*67e74705SXin Li // CHECK-EL-SF-MICRO: "-L[[TC]]/micromips/soft-float/el" 633*67e74705SXin Li // CHECK-EL-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips/soft-float/el" 634*67e74705SXin Li // CHECK-EL-SF-MICRO-NOT: "-L[[TC]]" 635*67e74705SXin Li // CHECK-EL-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/lib/../lib" 636*67e74705SXin Li // CHECK-EL-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib" 637*67e74705SXin Li // CHECK-EL-SF-MICRO: "[[TC]]/micromips/soft-float/el{{/|\\\\}}crtend.o" 638*67e74705SXin Li // CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o" 639*67e74705SXin Li // 640*67e74705SXin Li // = Little-endian, hard float, 64-bit 641*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 642*67e74705SXin Li // RUN: --target=mips64el-linux-gnu \ 643*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 644*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-EL-HF-64 %s 645*67e74705SXin Li // CHECK-EL-HF-64: "-internal-isystem" 646*67e74705SXin Li // CHECK-EL-HF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 647*67e74705SXin Li // CHECK-EL-HF-64: "-internal-isystem" 648*67e74705SXin Li // CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/el/64" 649*67e74705SXin Li // CHECK-EL-HF-64: "-internal-isystem" 650*67e74705SXin Li // CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 651*67e74705SXin Li // CHECK-EL-HF-64: "-internal-externc-isystem" 652*67e74705SXin Li // CHECK-EL-HF-64: "[[TC]]/include" 653*67e74705SXin Li // CHECK-EL-HF-64: "-internal-externc-isystem" 654*67e74705SXin Li // CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 655*67e74705SXin Li // CHECK-EL-HF-64: "{{.*}}ld{{(.exe)?}}" 656*67e74705SXin Li // CHECK-EL-HF-64: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/el" 657*67e74705SXin Li // CHECK-EL-HF-64: "-dynamic-linker" "/lib64/ld.so.1" 658*67e74705SXin Li // CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crt1.o" 659*67e74705SXin Li // CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crti.o" 660*67e74705SXin Li // CHECK-EL-HF-64: "[[TC]]/el/64{{/|\\\\}}crtbegin.o" 661*67e74705SXin Li // CHECK-EL-HF-64: "-L[[TC]]/el/64" 662*67e74705SXin Li // CHECK-EL-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64/el" 663*67e74705SXin Li // CHECK-EL-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/lib/../lib64" 664*67e74705SXin Li // CHECK-EL-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64" 665*67e74705SXin Li // CHECK-EL-HF-64-NOT: "-L[[TC]]" 666*67e74705SXin Li // CHECK-EL-HF-64: "[[TC]]/el/64{{/|\\\\}}crtend.o" 667*67e74705SXin Li // CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crtn.o" 668*67e74705SXin Li // 669*67e74705SXin Li // = Little-endian, soft float, 64-bit 670*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 671*67e74705SXin Li // RUN: --target=mips64el-linux-gnu -msoft-float \ 672*67e74705SXin Li // RUN: -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_cs_tree \ 673*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-EL-SF-64 %s 674*67e74705SXin Li // CHECK-EL-SF-64: "-internal-isystem" 675*67e74705SXin Li // CHECK-EL-SF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 676*67e74705SXin Li // CHECK-EL-SF-64: "-internal-isystem" 677*67e74705SXin Li // CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/el/64" 678*67e74705SXin Li // CHECK-EL-SF-64: "-internal-isystem" 679*67e74705SXin Li // CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 680*67e74705SXin Li // CHECK-EL-SF-64: "-internal-externc-isystem" 681*67e74705SXin Li // CHECK-EL-SF-64: "[[TC]]/include" 682*67e74705SXin Li // CHECK-EL-SF-64: "-internal-externc-isystem" 683*67e74705SXin Li // CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 684*67e74705SXin Li // CHECK-EL-SF-64: "{{.*}}ld{{(.exe)?}}" 685*67e74705SXin Li // CHECK-EL-SF-64: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el" 686*67e74705SXin Li // CHECK-EL-SF-64: "-dynamic-linker" "/lib64/ld.so.1" 687*67e74705SXin Li // CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crt1.o" 688*67e74705SXin Li // CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crti.o" 689*67e74705SXin Li // CHECK-EL-SF-64: "[[TC]]/soft-float/el/64{{/|\\\\}}crtbegin.o" 690*67e74705SXin Li // CHECK-EL-SF-64: "-L[[TC]]/soft-float/el/64" 691*67e74705SXin Li // CHECK-EL-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64/soft-float/el" 692*67e74705SXin Li // CHECK-EL-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/lib/../lib64" 693*67e74705SXin Li // CHECK-EL-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64" 694*67e74705SXin Li // CHECK-EL-SF-64-NOT: "-L[[TC]]" 695*67e74705SXin Li // CHECK-EL-SF-64: "[[TC]]/soft-float/el/64{{/|\\\\}}crtend.o" 696*67e74705SXin Li // CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crtn.o" 697