1 // Check frontend and linker invocations on the MTI MIPS toolchain. 2 3 // -EB -mhard-float -mabi=32 4 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 5 // RUN: --target=mips-mti-linux-gnu \ 6 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 7 // RUN: -stdlib=libstdc++ \ 8 // RUN: -EB -mhard-float -mabi=32 \ 9 // RUN: | FileCheck --check-prefix=EB-HARD-O32 %s 10 // EB-HARD-O32: "-internal-isystem" 11 // EB-HARD-O32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 12 // EB-HARD-O32: "-internal-isystem" 13 // EB-HARD-O32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-hard/lib" 14 // EB-HARD-O32: "-internal-isystem" 15 // EB-HARD-O32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 16 // EB-HARD-O32: "-internal-externc-isystem" 17 // EB-HARD-O32: "[[TC]]/../../../../sysroot/mips-r2-hard/lib/../usr/include" 18 // EB-HARD-O32: "{{.*}}ld{{(.exe)?}}" 19 // EB-HARD-O32: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-hard" 20 // EB-HARD-O32: "-dynamic-linker" "/lib/ld.so.1" 21 // EB-HARD-O32: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib{{/|\\\\}}crt1.o" 22 // EB-HARD-O32: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib{{/|\\\\}}crti.o" 23 // EB-HARD-O32: "[[TC]]/mips-r2-hard/lib{{/|\\\\}}crtbegin.o" 24 // EB-HARD-O32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-hard/lib" 25 // EB-HARD-O32: "-L[[TC]]/mips-r2-hard/lib" 26 // EB-HARD-O32: "-L[[TC]]/../../../../sysroot/mips-r2-hard/lib/../lib" 27 // EB-HARD-O32: "-L[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib" 28 // EB-HARD-O32: "[[TC]]/mips-r2-hard/lib{{/|\\\\}}crtend.o" 29 // EB-HARD-O32: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib{{/|\\\\}}crtn.o" 30 31 // -EB -mhard-float -mabi=n32 32 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 33 // RUN: --target=mips-mti-linux-gnu \ 34 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 35 // RUN: -stdlib=libstdc++ \ 36 // RUN: -EB -mhard-float -mabi=n32 \ 37 // RUN: | FileCheck --check-prefix=EB-HARD-N32 %s 38 // EB-HARD-N32: "-internal-isystem" 39 // EB-HARD-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 40 // EB-HARD-N32: "-internal-isystem" 41 // EB-HARD-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-hard/lib32" 42 // EB-HARD-N32: "-internal-isystem" 43 // EB-HARD-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 44 // EB-HARD-N32: "-internal-externc-isystem" 45 // EB-HARD-N32: "[[TC]]/../../../../sysroot/mips-r2-hard/lib32/../usr/include" 46 // EB-HARD-N32: "{{.*}}ld{{(.exe)?}}" 47 // EB-HARD-N32: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-hard" 48 // EB-HARD-N32: "-dynamic-linker" "/lib32/ld.so.1" 49 // EB-HARD-N32: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib32{{/|\\\\}}crt1.o" 50 // EB-HARD-N32: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib32{{/|\\\\}}crti.o" 51 // EB-HARD-N32: "[[TC]]/mips-r2-hard/lib32{{/|\\\\}}crtbegin.o" 52 // EB-HARD-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-hard/lib32" 53 // EB-HARD-N32: "-L[[TC]]/mips-r2-hard/lib32" 54 // EB-HARD-N32: "-L[[TC]]/../../../../sysroot/mips-r2-hard/lib/../lib32" 55 // EB-HARD-N32: "-L[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib32" 56 // EB-HARD-N32: "[[TC]]/mips-r2-hard/lib32{{/|\\\\}}crtend.o" 57 // EB-HARD-N32: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib32{{/|\\\\}}crtn.o" 58 59 // -EB -mhard-float -mabi=64 60 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 61 // RUN: --target=mips64-mti-linux-gnu \ 62 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 63 // RUN: -stdlib=libstdc++ \ 64 // RUN: -EB -mhard-float -mabi=64 \ 65 // RUN: | FileCheck --check-prefix=EB-HARD-N64 %s 66 // EB-HARD-N64: "-internal-isystem" 67 // EB-HARD-N64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 68 // EB-HARD-N64: "-internal-isystem" 69 // EB-HARD-N64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-hard/lib64" 70 // EB-HARD-N64: "-internal-isystem" 71 // EB-HARD-N64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 72 // EB-HARD-N64: "-internal-externc-isystem" 73 // EB-HARD-N64: "[[TC]]/../../../../sysroot/mips-r2-hard/lib64/../usr/include" 74 // EB-HARD-N64: "{{.*}}ld{{(.exe)?}}" 75 // EB-HARD-N64: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-hard" 76 // EB-HARD-N64: "-dynamic-linker" "/lib64/ld.so.1" 77 // EB-HARD-N64: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib64{{/|\\\\}}crt1.o" 78 // EB-HARD-N64: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib64{{/|\\\\}}crti.o" 79 // EB-HARD-N64: "[[TC]]/mips-r2-hard/lib64{{/|\\\\}}crtbegin.o" 80 // EB-HARD-N64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-hard/lib64" 81 // EB-HARD-N64: "-L[[TC]]/mips-r2-hard/lib64" 82 // EB-HARD-N64: "-L[[TC]]/../../../../sysroot/mips-r2-hard/lib/../lib64" 83 // EB-HARD-N64: "-L[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib64" 84 // EB-HARD-N64: "[[TC]]/mips-r2-hard/lib64{{/|\\\\}}crtend.o" 85 // EB-HARD-N64: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib64{{/|\\\\}}crtn.o" 86 87 // -EL -mhard-float -mabi=32 88 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 89 // RUN: --target=mips-mti-linux-gnu \ 90 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 91 // RUN: -stdlib=libstdc++ \ 92 // RUN: -EL -mhard-float -mabi=32 \ 93 // RUN: | FileCheck --check-prefix=EL-HARD-O32 %s 94 // EL-HARD-O32: "-internal-isystem" 95 // EL-HARD-O32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 96 // EL-HARD-O32: "-internal-isystem" 97 // EL-HARD-O32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-hard/lib" 98 // EL-HARD-O32: "-internal-isystem" 99 // EL-HARD-O32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 100 // EL-HARD-O32: "-internal-externc-isystem" 101 // EL-HARD-O32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/lib/../usr/include" 102 // EL-HARD-O32: "{{.*}}ld{{(.exe)?}}" 103 // EL-HARD-O32: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-hard" 104 // EL-HARD-O32: "-dynamic-linker" "/lib/ld.so.1" 105 // EL-HARD-O32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib{{/|\\\\}}crt1.o" 106 // EL-HARD-O32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib{{/|\\\\}}crti.o" 107 // EL-HARD-O32: "[[TC]]/mipsel-r2-hard/lib{{/|\\\\}}crtbegin.o" 108 // EL-HARD-O32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard/lib" 109 // EL-HARD-O32: "-L[[TC]]/mipsel-r2-hard/lib" 110 // EL-HARD-O32: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard/lib/../lib" 111 // EL-HARD-O32: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib" 112 // EL-HARD-O32: "[[TC]]/mipsel-r2-hard/lib{{/|\\\\}}crtend.o" 113 // EL-HARD-O32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib{{/|\\\\}}crtn.o" 114 115 // -EL -mhard-float -mabi=n32 116 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 117 // RUN: --target=mips-mti-linux-gnu \ 118 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 119 // RUN: -stdlib=libstdc++ \ 120 // RUN: -EL -mhard-float -mabi=n32 \ 121 // RUN: | FileCheck --check-prefix=EL-HARD-N32 %s 122 // EL-HARD-N32: "-internal-isystem" 123 // EL-HARD-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 124 // EL-HARD-N32: "-internal-isystem" 125 // EL-HARD-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-hard/lib32" 126 // EL-HARD-N32: "-internal-isystem" 127 // EL-HARD-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 128 // EL-HARD-N32: "-internal-externc-isystem" 129 // EL-HARD-N32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/lib32/../usr/include" 130 // EL-HARD-N32: "{{.*}}ld{{(.exe)?}}" 131 // EL-HARD-N32: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-hard" 132 // EL-HARD-N32: "-dynamic-linker" "/lib32/ld.so.1" 133 // EL-HARD-N32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib32{{/|\\\\}}crt1.o" 134 // EL-HARD-N32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib32{{/|\\\\}}crti.o" 135 // EL-HARD-N32: "[[TC]]/mipsel-r2-hard/lib32{{/|\\\\}}crtbegin.o" 136 // EL-HARD-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard/lib32" 137 // EL-HARD-N32: "-L[[TC]]/mipsel-r2-hard/lib32" 138 // EL-HARD-N32: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard/lib/../lib32" 139 // EL-HARD-N32: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib32" 140 // EL-HARD-N32: "[[TC]]/mipsel-r2-hard/lib32{{/|\\\\}}crtend.o" 141 // EL-HARD-N32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib32{{/|\\\\}}crtn.o" 142 143 // -EL -mhard-float -mabi=64 144 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 145 // RUN: --target=mips64-mti-linux-gnu \ 146 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 147 // RUN: -stdlib=libstdc++ \ 148 // RUN: -EL -mhard-float -mabi=64 \ 149 // RUN: | FileCheck --check-prefix=EL-HARD-N64 %s 150 // EL-HARD-N64: "-internal-isystem" 151 // EL-HARD-N64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 152 // EL-HARD-N64: "-internal-isystem" 153 // EL-HARD-N64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-hard/lib64" 154 // EL-HARD-N64: "-internal-isystem" 155 // EL-HARD-N64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 156 // EL-HARD-N64: "-internal-externc-isystem" 157 // EL-HARD-N64: "[[TC]]/../../../../sysroot/mipsel-r2-hard/lib64/../usr/include" 158 // EL-HARD-N64: "{{.*}}ld{{(.exe)?}}" 159 // EL-HARD-N64: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-hard" 160 // EL-HARD-N64: "-dynamic-linker" "/lib64/ld.so.1" 161 // EL-HARD-N64: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib64{{/|\\\\}}crt1.o" 162 // EL-HARD-N64: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib64{{/|\\\\}}crti.o" 163 // EL-HARD-N64: "[[TC]]/mipsel-r2-hard/lib64{{/|\\\\}}crtbegin.o" 164 // EL-HARD-N64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard/lib64" 165 // EL-HARD-N64: "-L[[TC]]/mipsel-r2-hard/lib64" 166 // EL-HARD-N64: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard/lib/../lib64" 167 // EL-HARD-N64: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib64" 168 // EL-HARD-N64: "[[TC]]/mipsel-r2-hard/lib64{{/|\\\\}}crtend.o" 169 // EL-HARD-N64: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib64{{/|\\\\}}crtn.o" 170 171 // -EB -msoft-float 172 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 173 // RUN: --target=mips-mti-linux-gnu \ 174 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 175 // RUN: -stdlib=libstdc++ \ 176 // RUN: -EB -msoft-float \ 177 // RUN: | FileCheck --check-prefix=EB-SOFT %s 178 // EB-SOFT: "-internal-isystem" 179 // EB-SOFT: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 180 // EB-SOFT: "-internal-isystem" 181 // EB-SOFT: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-soft/lib" 182 // EB-SOFT: "-internal-isystem" 183 // EB-SOFT: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 184 // EB-SOFT: "-internal-externc-isystem" 185 // EB-SOFT: "[[TC]]/../../../../sysroot/mips-r2-soft/lib/../usr/include" 186 // EB-SOFT: "{{.*}}ld{{(.exe)?}}" 187 // EB-SOFT: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-soft" 188 // EB-SOFT: "-dynamic-linker" "/lib/ld.so.1" 189 // EB-SOFT: "[[TC]]/../../../../sysroot/mips-r2-soft/usr/lib/../lib{{/|\\\\}}crt1.o" 190 // EB-SOFT: "[[TC]]/../../../../sysroot/mips-r2-soft/usr/lib/../lib{{/|\\\\}}crti.o" 191 // EB-SOFT: "[[TC]]/mips-r2-soft/lib{{/|\\\\}}crtbegin.o" 192 // EB-SOFT: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-soft/lib" 193 // EB-SOFT: "-L[[TC]]/mips-r2-soft/lib" 194 // EB-SOFT: "-L[[TC]]/../../../../sysroot/mips-r2-soft/lib/../lib" 195 // EB-SOFT: "-L[[TC]]/../../../../sysroot/mips-r2-soft/usr/lib/../lib" 196 // EB-SOFT: "[[TC]]/mips-r2-soft/lib{{/|\\\\}}crtend.o" 197 // EB-SOFT: "[[TC]]/../../../../sysroot/mips-r2-soft/usr/lib/../lib{{/|\\\\}}crtn.o" 198 199 // -EL -msoft-float 200 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 201 // RUN: --target=mips-mti-linux-gnu \ 202 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 203 // RUN: -stdlib=libstdc++ \ 204 // RUN: -EL -msoft-float \ 205 // RUN: | FileCheck --check-prefix=EL-SOFT %s 206 // EL-SOFT: "-internal-isystem" 207 // EL-SOFT: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 208 // EL-SOFT: "-internal-isystem" 209 // EL-SOFT: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-soft/lib" 210 // EL-SOFT: "-internal-isystem" 211 // EL-SOFT: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 212 // EL-SOFT: "-internal-externc-isystem" 213 // EL-SOFT: "[[TC]]/../../../../sysroot/mipsel-r2-soft/lib/../usr/include" 214 // EL-SOFT: "{{.*}}ld{{(.exe)?}}" 215 // EL-SOFT: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-soft" 216 // EL-SOFT: "-dynamic-linker" "/lib/ld.so.1" 217 // EL-SOFT: "[[TC]]/../../../../sysroot/mipsel-r2-soft/usr/lib/../lib{{/|\\\\}}crt1.o" 218 // EL-SOFT: "[[TC]]/../../../../sysroot/mipsel-r2-soft/usr/lib/../lib{{/|\\\\}}crti.o" 219 // EL-SOFT: "[[TC]]/mipsel-r2-soft/lib{{/|\\\\}}crtbegin.o" 220 // EL-SOFT: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-soft/lib" 221 // EL-SOFT: "-L[[TC]]/mipsel-r2-soft/lib" 222 // EL-SOFT: "-L[[TC]]/../../../../sysroot/mipsel-r2-soft/lib/../lib" 223 // EL-SOFT: "-L[[TC]]/../../../../sysroot/mipsel-r2-soft/usr/lib/../lib" 224 // EL-SOFT: "[[TC]]/mipsel-r2-soft/lib{{/|\\\\}}crtend.o" 225 // EL-SOFT: "[[TC]]/../../../../sysroot/mipsel-r2-soft/usr/lib/../lib{{/|\\\\}}crtn.o" 226 227 // -EB -mhard-float -muclibc 228 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 229 // RUN: --target=mips-mti-linux-gnu \ 230 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 231 // RUN: -stdlib=libstdc++ \ 232 // RUN: -EB -mhard-float -muclibc \ 233 // RUN: | FileCheck --check-prefix=EB-HARD-UCLIBC %s 234 // EB-HARD-UCLIBC: "-internal-isystem" 235 // EB-HARD-UCLIBC: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 236 // EB-HARD-UCLIBC: "-internal-isystem" 237 // EB-HARD-UCLIBC: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-hard-uclibc/lib" 238 // EB-HARD-UCLIBC: "-internal-isystem" 239 // EB-HARD-UCLIBC: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 240 // EB-HARD-UCLIBC: "-internal-externc-isystem" 241 // EB-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mips-r2-hard-uclibc/lib/../usr/include" 242 // EB-HARD-UCLIBC: "{{.*}}ld{{(.exe)?}}" 243 // EB-HARD-UCLIBC: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-hard-uclibc" 244 // EB-HARD-UCLIBC: "-dynamic-linker" "/lib/ld-uClibc.so.0" 245 // EB-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mips-r2-hard-uclibc/usr/lib/../lib{{/|\\\\}}crt1.o" 246 // EB-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mips-r2-hard-uclibc/usr/lib/../lib{{/|\\\\}}crti.o" 247 // EB-HARD-UCLIBC: "[[TC]]/mips-r2-hard-uclibc/lib{{/|\\\\}}crtbegin.o" 248 // EB-HARD-UCLIBC: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-hard-uclibc/lib" 249 // EB-HARD-UCLIBC: "-L[[TC]]/mips-r2-hard-uclibc/lib" 250 // EB-HARD-UCLIBC: "-L[[TC]]/../../../../sysroot/mips-r2-hard-uclibc/lib/../lib" 251 // EB-HARD-UCLIBC: "-L[[TC]]/../../../../sysroot/mips-r2-hard-uclibc/usr/lib/../lib" 252 // EB-HARD-UCLIBC: "[[TC]]/mips-r2-hard-uclibc/lib{{/|\\\\}}crtend.o" 253 // EB-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mips-r2-hard-uclibc/usr/lib/../lib{{/|\\\\}}crtn.o" 254 255 // -EL -mhard-float -muclibc 256 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 257 // RUN: --target=mips-mti-linux-gnu \ 258 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 259 // RUN: -stdlib=libstdc++ \ 260 // RUN: -EL -mhard-float -muclibc \ 261 // RUN: | FileCheck --check-prefix=EL-HARD-UCLIBC %s 262 // EL-HARD-UCLIBC: "-internal-isystem" 263 // EL-HARD-UCLIBC: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 264 // EL-HARD-UCLIBC: "-internal-isystem" 265 // EL-HARD-UCLIBC: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-hard-uclibc/lib" 266 // EL-HARD-UCLIBC: "-internal-isystem" 267 // EL-HARD-UCLIBC: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 268 // EL-HARD-UCLIBC: "-internal-externc-isystem" 269 // EL-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc/lib/../usr/include" 270 // EL-HARD-UCLIBC: "{{.*}}ld{{(.exe)?}}" 271 // EL-HARD-UCLIBC: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc" 272 // EL-HARD-UCLIBC: "-dynamic-linker" "/lib/ld-uClibc.so.0" 273 // EL-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc/usr/lib/../lib{{/|\\\\}}crt1.o" 274 // EL-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc/usr/lib/../lib{{/|\\\\}}crti.o" 275 // EL-HARD-UCLIBC: "[[TC]]/mipsel-r2-hard-uclibc/lib{{/|\\\\}}crtbegin.o" 276 // EL-HARD-UCLIBC: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard-uclibc/lib" 277 // EL-HARD-UCLIBC: "-L[[TC]]/mipsel-r2-hard-uclibc/lib" 278 // EL-HARD-UCLIBC: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc/lib/../lib" 279 // EL-HARD-UCLIBC: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc/usr/lib/../lib" 280 // EL-HARD-UCLIBC: "[[TC]]/mipsel-r2-hard-uclibc/lib{{/|\\\\}}crtend.o" 281 // EL-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc/usr/lib/../lib{{/|\\\\}}crtn.o" 282 283 // -EB -mhard-float -mnan=2008 284 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 285 // RUN: --target=mips-mti-linux-gnu \ 286 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 287 // RUN: -stdlib=libstdc++ \ 288 // RUN: -EB -mhard-float -mnan=2008 \ 289 // RUN: | FileCheck --check-prefix=EB-HARD-NAN2008 %s 290 // EB-HARD-NAN2008: "-internal-isystem" 291 // EB-HARD-NAN2008: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 292 // EB-HARD-NAN2008: "-internal-isystem" 293 // EB-HARD-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-hard-nan2008/lib" 294 // EB-HARD-NAN2008: "-internal-isystem" 295 // EB-HARD-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 296 // EB-HARD-NAN2008: "-internal-externc-isystem" 297 // EB-HARD-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008/lib/../usr/include" 298 // EB-HARD-NAN2008: "{{.*}}ld{{(.exe)?}}" 299 // EB-HARD-NAN2008: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-hard-nan2008" 300 // EB-HARD-NAN2008: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1" 301 // EB-HARD-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crt1.o" 302 // EB-HARD-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crti.o" 303 // EB-HARD-NAN2008: "[[TC]]/mips-r2-hard-nan2008/lib{{/|\\\\}}crtbegin.o" 304 // EB-HARD-NAN2008: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-hard-nan2008/lib" 305 // EB-HARD-NAN2008: "-L[[TC]]/mips-r2-hard-nan2008/lib" 306 // EB-HARD-NAN2008: "-L[[TC]]/../../../../sysroot/mips-r2-hard-nan2008/lib/../lib" 307 // EB-HARD-NAN2008: "-L[[TC]]/../../../../sysroot/mips-r2-hard-nan2008/usr/lib/../lib" 308 // EB-HARD-NAN2008: "[[TC]]/mips-r2-hard-nan2008/lib{{/|\\\\}}crtend.o" 309 // EB-HARD-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crtn.o" 310 311 // -EL -mhard-float -mnan=2008 312 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 313 // RUN: --target=mips-mti-linux-gnu \ 314 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 315 // RUN: -stdlib=libstdc++ \ 316 // RUN: -EL -mhard-float -mnan=2008 \ 317 // RUN: | FileCheck --check-prefix=EL-HARD-NAN2008 %s 318 // EL-HARD-NAN2008: "-internal-isystem" 319 // EL-HARD-NAN2008: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 320 // EL-HARD-NAN2008: "-internal-isystem" 321 // EL-HARD-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-hard-nan2008/lib" 322 // EL-HARD-NAN2008: "-internal-isystem" 323 // EL-HARD-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 324 // EL-HARD-NAN2008: "-internal-externc-isystem" 325 // EL-HARD-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008/lib/../usr/include" 326 // EL-HARD-NAN2008: "{{.*}}ld{{(.exe)?}}" 327 // EL-HARD-NAN2008: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008" 328 // EL-HARD-NAN2008: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1" 329 // EL-HARD-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crt1.o" 330 // EL-HARD-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crti.o" 331 // EL-HARD-NAN2008: "[[TC]]/mipsel-r2-hard-nan2008/lib{{/|\\\\}}crtbegin.o" 332 // EL-HARD-NAN2008: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard-nan2008/lib" 333 // EL-HARD-NAN2008: "-L[[TC]]/mipsel-r2-hard-nan2008/lib" 334 // EL-HARD-NAN2008: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008/lib/../lib" 335 // EL-HARD-NAN2008: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008/usr/lib/../lib" 336 // EL-HARD-NAN2008: "[[TC]]/mipsel-r2-hard-nan2008/lib{{/|\\\\}}crtend.o" 337 // EL-HARD-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crtn.o" 338 339 // -EB -mhard-float -muclibc -mnan=2008 340 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 341 // RUN: --target=mips-mti-linux-gnu \ 342 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 343 // RUN: -stdlib=libstdc++ \ 344 // RUN: -EB -mhard-float -muclibc -mnan=2008 \ 345 // RUN: | FileCheck --check-prefix=EB-HARD-UCLIBC-NAN2008 %s 346 // EB-HARD-UCLIBC-NAN2008: "-internal-isystem" 347 // EB-HARD-UCLIBC-NAN2008: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 348 // EB-HARD-UCLIBC-NAN2008: "-internal-isystem" 349 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-hard-nan2008-uclibc/lib" 350 // EB-HARD-UCLIBC-NAN2008: "-internal-isystem" 351 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 352 // EB-HARD-UCLIBC-NAN2008: "-internal-externc-isystem" 353 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc/lib/../usr/include" 354 // EB-HARD-UCLIBC-NAN2008: "{{.*}}ld{{(.exe)?}}" 355 // EB-HARD-UCLIBC-NAN2008: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc" 356 // EB-HARD-UCLIBC-NAN2008: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0" 357 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc/usr/lib/../lib{{/|\\\\}}crt1.o" 358 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc/usr/lib/../lib{{/|\\\\}}crti.o" 359 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/mips-r2-hard-nan2008-uclibc/lib{{/|\\\\}}crtbegin.o" 360 // EB-HARD-UCLIBC-NAN2008: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-hard-nan2008-uclibc/lib" 361 // EB-HARD-UCLIBC-NAN2008: "-L[[TC]]/mips-r2-hard-nan2008-uclibc/lib" 362 // EB-HARD-UCLIBC-NAN2008: "-L[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc/lib/../lib" 363 // EB-HARD-UCLIBC-NAN2008: "-L[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc/usr/lib/../lib" 364 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/mips-r2-hard-nan2008-uclibc/lib{{/|\\\\}}crtend.o" 365 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc/usr/lib/../lib{{/|\\\\}}crtn.o" 366 367 // -EL -mhard-float -muclibc -mnan=2008 368 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 369 // RUN: --target=mips-mti-linux-gnu \ 370 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 371 // RUN: -stdlib=libstdc++ \ 372 // RUN: -EL -mhard-float -muclibc -mnan=2008 \ 373 // RUN: | FileCheck --check-prefix=EL-HARD-UCLIBC-NAN2008 %s 374 // EL-HARD-UCLIBC-NAN2008: "-internal-isystem" 375 // EL-HARD-UCLIBC-NAN2008: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 376 // EL-HARD-UCLIBC-NAN2008: "-internal-isystem" 377 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-hard-nan2008-uclibc/lib" 378 // EL-HARD-UCLIBC-NAN2008: "-internal-isystem" 379 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 380 // EL-HARD-UCLIBC-NAN2008: "-internal-externc-isystem" 381 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc/lib/../usr/include" 382 // EL-HARD-UCLIBC-NAN2008: "{{.*}}ld{{(.exe)?}}" 383 // EL-HARD-UCLIBC-NAN2008: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc" 384 // EL-HARD-UCLIBC-NAN2008: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0" 385 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc/usr/lib/../lib{{/|\\\\}}crt1.o" 386 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc/usr/lib/../lib{{/|\\\\}}crti.o" 387 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/mipsel-r2-hard-nan2008-uclibc/lib{{/|\\\\}}crtbegin.o" 388 // EL-HARD-UCLIBC-NAN2008: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard-nan2008-uclibc/lib" 389 // EL-HARD-UCLIBC-NAN2008: "-L[[TC]]/mipsel-r2-hard-nan2008-uclibc/lib" 390 // EL-HARD-UCLIBC-NAN2008: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc/lib/../lib" 391 // EL-HARD-UCLIBC-NAN2008: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc/usr/lib/../lib" 392 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/mipsel-r2-hard-nan2008-uclibc/lib{{/|\\\\}}crtend.o" 393 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc/usr/lib/../lib{{/|\\\\}}crtn.o" 394 395 // -EL -msoft-float -mmicromips 396 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 397 // RUN: --target=mips-mti-linux-gnu \ 398 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 399 // RUN: -stdlib=libstdc++ \ 400 // RUN: -EL -msoft-float -mmicromips \ 401 // RUN: | FileCheck --check-prefix=EL-SOFT-MICRO %s 402 // EL-SOFT-MICRO: "-internal-isystem" 403 // EL-SOFT-MICRO: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 404 // EL-SOFT-MICRO: "-internal-isystem" 405 // EL-SOFT-MICRO: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/micromipsel-r2-soft/lib" 406 // EL-SOFT-MICRO: "-internal-isystem" 407 // EL-SOFT-MICRO: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 408 // EL-SOFT-MICRO: "-internal-externc-isystem" 409 // EL-SOFT-MICRO: "[[TC]]/../../../../sysroot/micromipsel-r2-soft/lib/../usr/include" 410 // EL-SOFT-MICRO: "{{.*}}ld{{(.exe)?}}" 411 // EL-SOFT-MICRO: "--sysroot=[[TC]]/../../../../sysroot/micromipsel-r2-soft" 412 // EL-SOFT-MICRO: "-dynamic-linker" "/lib/ld.so.1" 413 // EL-SOFT-MICRO: "[[TC]]/../../../../sysroot/micromipsel-r2-soft/usr/lib/../lib{{/|\\\\}}crt1.o" 414 // EL-SOFT-MICRO: "[[TC]]/../../../../sysroot/micromipsel-r2-soft/usr/lib/../lib{{/|\\\\}}crti.o" 415 // EL-SOFT-MICRO: "[[TC]]/micromipsel-r2-soft/lib{{/|\\\\}}crtbegin.o" 416 // EL-SOFT-MICRO: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/micromipsel-r2-soft/lib" 417 // EL-SOFT-MICRO: "-L[[TC]]/micromipsel-r2-soft/lib" 418 // EL-SOFT-MICRO: "-L[[TC]]/../../../../sysroot/micromipsel-r2-soft/lib/../lib" 419 // EL-SOFT-MICRO: "-L[[TC]]/../../../../sysroot/micromipsel-r2-soft/usr/lib/../lib" 420 // EL-SOFT-MICRO: "[[TC]]/micromipsel-r2-soft/lib{{/|\\\\}}crtend.o" 421 // EL-SOFT-MICRO: "[[TC]]/../../../../sysroot/micromipsel-r2-soft/usr/lib/../lib{{/|\\\\}}crtn.o" 422 423 // -EL -mhard-float -mmicromips -mnan=2008 424 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 425 // RUN: --target=mips-mti-linux-gnu \ 426 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \ 427 // RUN: -stdlib=libstdc++ \ 428 // RUN: -EL -mhard-float -mmicromips -mnan=2008 \ 429 // RUN: | FileCheck --check-prefix=EL-SOFT-MICRO-NAN2008 %s 430 // EL-SOFT-MICRO-NAN2008: "-internal-isystem" 431 // EL-SOFT-MICRO-NAN2008: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2" 432 // EL-SOFT-MICRO-NAN2008: "-internal-isystem" 433 // EL-SOFT-MICRO-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/micromipsel-r2-hard-nan2008/lib" 434 // EL-SOFT-MICRO-NAN2008: "-internal-isystem" 435 // EL-SOFT-MICRO-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward" 436 // EL-SOFT-MICRO-NAN2008: "-internal-externc-isystem" 437 // EL-SOFT-MICRO-NAN2008: "[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008/lib/../usr/include" 438 // EL-SOFT-MICRO-NAN2008: "{{.*}}ld{{(.exe)?}}" 439 // EL-SOFT-MICRO-NAN2008: "--sysroot=[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008" 440 // EL-SOFT-MICRO-NAN2008: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1" 441 // EL-SOFT-MICRO-NAN2008: "[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crt1.o" 442 // EL-SOFT-MICRO-NAN2008: "[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crti.o" 443 // EL-SOFT-MICRO-NAN2008: "[[TC]]/micromipsel-r2-hard-nan2008/lib{{/|\\\\}}crtbegin.o" 444 // EL-SOFT-MICRO-NAN2008: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/micromipsel-r2-hard-nan2008/lib" 445 // EL-SOFT-MICRO-NAN2008: "-L[[TC]]/micromipsel-r2-hard-nan2008/lib" 446 // EL-SOFT-MICRO-NAN2008: "-L[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008/lib/../lib" 447 // EL-SOFT-MICRO-NAN2008: "-L[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008/usr/lib/../lib" 448 // EL-SOFT-MICRO-NAN2008: "[[TC]]/micromipsel-r2-hard-nan2008/lib{{/|\\\\}}crtend.o" 449 // EL-SOFT-MICRO-NAN2008: "[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crtn.o" 450