1 // Check frontend invocations on Mentor Graphics MIPS toolchain. 2 // 3 // = Big-endian, hard float 4 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 5 // RUN: --target=mips-linux-gnu \ 6 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 7 // RUN: | FileCheck --check-prefix=CHECK-BE-HF-32 %s 8 // CHECK-BE-HF-32: "-internal-isystem" 9 // CHECK-BE-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 10 // CHECK-BE-HF-32: "-internal-isystem" 11 // CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu" 12 // CHECK-BE-HF-32: "-internal-isystem" 13 // CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 14 // CHECK-BE-HF-32: "-internal-externc-isystem" 15 // CHECK-BE-HF-32: "[[TC]]/include" 16 // CHECK-BE-HF-32: "-internal-externc-isystem" 17 // CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 18 // 19 // = Big-endian, hard float, mips16 20 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 21 // RUN: --target=mips-linux-gnu -mips16 \ 22 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 23 // RUN: | FileCheck --check-prefix=CHECK-BE-HF-16 %s 24 // CHECK-BE-HF-16: "-internal-isystem" 25 // CHECK-BE-HF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 26 // CHECK-BE-HF-16: "-internal-isystem" 27 // CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16" 28 // CHECK-BE-HF-16: "-internal-isystem" 29 // CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 30 // CHECK-BE-HF-16: "-internal-externc-isystem" 31 // CHECK-BE-HF-16: "[[TC]]/include" 32 // CHECK-BE-HF-16: "-internal-externc-isystem" 33 // CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 34 // 35 // = Big-endian, hard float, micromips 36 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 37 // RUN: --target=mips-linux-gnu -mmicromips \ 38 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 39 // RUN: | FileCheck --check-prefix=CHECK-BE-HF-MICRO %s 40 // CHECK-BE-HF-MICRO: "-internal-isystem" 41 // CHECK-BE-HF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 42 // CHECK-BE-HF-MICRO: "-internal-isystem" 43 // CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips" 44 // CHECK-BE-HF-MICRO: "-internal-isystem" 45 // CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 46 // CHECK-BE-HF-MICRO: "-internal-externc-isystem" 47 // CHECK-BE-HF-MICRO: "[[TC]]/include" 48 // CHECK-BE-HF-MICRO: "-internal-externc-isystem" 49 // CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 50 // 51 // = Big-endian, soft float 52 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 53 // RUN: --target=mips-linux-gnu -msoft-float \ 54 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 55 // RUN: | FileCheck --check-prefix=CHECK-BE-SF-32 %s 56 // CHECK-BE-SF-32: "-internal-isystem" 57 // CHECK-BE-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 58 // CHECK-BE-SF-32: "-internal-isystem" 59 // CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float" 60 // CHECK-BE-SF-32: "-internal-isystem" 61 // CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 62 // CHECK-BE-SF-32: "-internal-externc-isystem" 63 // CHECK-BE-SF-32: "[[TC]]/include" 64 // CHECK-BE-SF-32: "-internal-externc-isystem" 65 // CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 66 // 67 // = Big-endian, soft float, mips16 68 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 69 // RUN: --target=mips-linux-gnu -msoft-float -mips16 \ 70 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 71 // RUN: | FileCheck --check-prefix=CHECK-BE-SF-16 %s 72 // CHECK-BE-SF-16: "-internal-isystem" 73 // CHECK-BE-SF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 74 // CHECK-BE-SF-16: "-internal-isystem" 75 // CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/soft-float" 76 // CHECK-BE-SF-16: "-internal-isystem" 77 // CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 78 // CHECK-BE-SF-16: "-internal-externc-isystem" 79 // CHECK-BE-SF-16: "[[TC]]/include" 80 // CHECK-BE-SF-16: "-internal-externc-isystem" 81 // CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 82 // 83 // = Big-endian, soft float, micromips 84 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 85 // RUN: --target=mips-linux-gnu -msoft-float -mmicromips \ 86 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 87 // RUN: | FileCheck --check-prefix=CHECK-BE-SF-MICRO %s 88 // CHECK-BE-SF-MICRO: "-internal-isystem" 89 // CHECK-BE-SF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 90 // CHECK-BE-SF-MICRO: "-internal-isystem" 91 // CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/soft-float" 92 // CHECK-BE-SF-MICRO: "-internal-isystem" 93 // CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 94 // CHECK-BE-SF-MICRO: "-internal-externc-isystem" 95 // CHECK-BE-SF-MICRO: "[[TC]]/include" 96 // CHECK-BE-SF-MICRO: "-internal-externc-isystem" 97 // CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 98 // 99 // = Big-endian, hard float, 64-bit 100 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 101 // RUN: --target=mips64-linux-gnu \ 102 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 103 // RUN: | FileCheck --check-prefix=CHECK-BE-HF-64 %s 104 // CHECK-BE-HF-64: "-internal-isystem" 105 // CHECK-BE-HF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 106 // CHECK-BE-HF-64: "-internal-isystem" 107 // CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/64" 108 // CHECK-BE-HF-64: "-internal-isystem" 109 // CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 110 // CHECK-BE-HF-64: "-internal-externc-isystem" 111 // CHECK-BE-HF-64: "[[TC]]/include" 112 // CHECK-BE-HF-64: "-internal-externc-isystem" 113 // CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 114 // 115 // = Big-endian, soft float, 64-bit 116 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 117 // RUN: --target=mips64-linux-gnu -msoft-float \ 118 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 119 // RUN: | FileCheck --check-prefix=CHECK-BE-SF-64 %s 120 // CHECK-BE-SF-64: "-internal-isystem" 121 // CHECK-BE-SF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 122 // CHECK-BE-SF-64: "-internal-isystem" 123 // CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/64" 124 // CHECK-BE-SF-64: "-internal-isystem" 125 // CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 126 // CHECK-BE-SF-64: "-internal-externc-isystem" 127 // CHECK-BE-SF-64: "[[TC]]/include" 128 // CHECK-BE-SF-64: "-internal-externc-isystem" 129 // CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 130 // 131 // = Little-endian, hard float 132 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 133 // RUN: --target=mipsel-linux-gnu -mhard-float \ 134 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 135 // RUN: | FileCheck --check-prefix=CHECK-EL-HF-32 %s 136 // CHECK-EL-HF-32: "-internal-isystem" 137 // CHECK-EL-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 138 // CHECK-EL-HF-32: "-internal-isystem" 139 // CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/el" 140 // CHECK-EL-HF-32: "-internal-isystem" 141 // CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 142 // CHECK-EL-HF-32: "-internal-externc-isystem" 143 // CHECK-EL-HF-32: "[[TC]]/include" 144 // CHECK-EL-HF-32: "-internal-externc-isystem" 145 // CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 146 // 147 // = Little-endian, hard float, mips16 148 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 149 // RUN: --target=mipsel-linux-gnu -mips16 \ 150 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 151 // RUN: | FileCheck --check-prefix=CHECK-EL-HF-16 %s 152 // CHECK-EL-HF-16: "-internal-isystem" 153 // CHECK-EL-HF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 154 // CHECK-EL-HF-16: "-internal-isystem" 155 // CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/el" 156 // CHECK-EL-HF-16: "-internal-isystem" 157 // CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 158 // CHECK-EL-HF-16: "-internal-externc-isystem" 159 // CHECK-EL-HF-16: "[[TC]]/include" 160 // CHECK-EL-HF-16: "-internal-externc-isystem" 161 // CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 162 // 163 // = Little-endian, hard float, micromips 164 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 165 // RUN: --target=mipsel-linux-gnu -mmicromips \ 166 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 167 // RUN: | FileCheck --check-prefix=CHECK-EL-HF-MICRO %s 168 // CHECK-EL-HF-MICRO: "-internal-isystem" 169 // CHECK-EL-HF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 170 // CHECK-EL-HF-MICRO: "-internal-isystem" 171 // CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/el" 172 // CHECK-EL-HF-MICRO: "-internal-isystem" 173 // CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 174 // CHECK-EL-HF-MICRO: "-internal-externc-isystem" 175 // CHECK-EL-HF-MICRO: "[[TC]]/include" 176 // CHECK-EL-HF-MICRO: "-internal-externc-isystem" 177 // CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 178 // 179 // = Little-endian, soft float 180 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 181 // RUN: --target=mipsel-linux-gnu -mfloat-abi=soft \ 182 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 183 // RUN: | FileCheck --check-prefix=CHECK-EL-SF-32 %s 184 // CHECK-EL-SF-32: "-internal-isystem" 185 // CHECK-EL-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 186 // CHECK-EL-SF-32: "-internal-isystem" 187 // CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/el" 188 // CHECK-EL-SF-32: "-internal-isystem" 189 // CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 190 // CHECK-EL-SF-32: "-internal-externc-isystem" 191 // CHECK-EL-SF-32: "[[TC]]/include" 192 // CHECK-EL-SF-32: "-internal-externc-isystem" 193 // CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 194 // 195 // = Little-endian, soft float, mips16 196 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 197 // RUN: --target=mipsel-linux-gnu -mips16 -msoft-float \ 198 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 199 // RUN: | FileCheck --check-prefix=CHECK-EL-SF-16 %s 200 // CHECK-EL-SF-16: "-internal-isystem" 201 // CHECK-EL-SF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 202 // CHECK-EL-SF-16: "-internal-isystem" 203 // CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/soft-float/el" 204 // CHECK-EL-SF-16: "-internal-isystem" 205 // CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 206 // CHECK-EL-SF-16: "-internal-externc-isystem" 207 // CHECK-EL-SF-16: "[[TC]]/include" 208 // CHECK-EL-SF-16: "-internal-externc-isystem" 209 // CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 210 // 211 // = Little-endian, soft float, micromips 212 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 213 // RUN: --target=mipsel-linux-gnu -mmicromips -msoft-float \ 214 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 215 // RUN: | FileCheck --check-prefix=CHECK-EL-SF-MICRO %s 216 // CHECK-EL-SF-MICRO: "-internal-isystem" 217 // CHECK-EL-SF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 218 // CHECK-EL-SF-MICRO: "-internal-isystem" 219 // CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/soft-float/el" 220 // CHECK-EL-SF-MICRO: "-internal-isystem" 221 // CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 222 // CHECK-EL-SF-MICRO: "-internal-externc-isystem" 223 // CHECK-EL-SF-MICRO: "[[TC]]/include" 224 // CHECK-EL-SF-MICRO: "-internal-externc-isystem" 225 // CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 226 // 227 // = Little-endian, hard float, 64-bit 228 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 229 // RUN: --target=mips64el-linux-gnu \ 230 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 231 // RUN: | FileCheck --check-prefix=CHECK-EL-HF-64 %s 232 // CHECK-EL-HF-64: "-internal-isystem" 233 // CHECK-EL-HF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 234 // CHECK-EL-HF-64: "-internal-isystem" 235 // CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/el/64" 236 // CHECK-EL-HF-64: "-internal-isystem" 237 // CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 238 // CHECK-EL-HF-64: "-internal-externc-isystem" 239 // CHECK-EL-HF-64: "[[TC]]/include" 240 // CHECK-EL-HF-64: "-internal-externc-isystem" 241 // CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 242 // 243 // = Little-endian, soft float, 64-bit 244 // RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \ 245 // RUN: --target=mips64el-linux-gnu -msoft-float \ 246 // RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \ 247 // RUN: | FileCheck --check-prefix=CHECK-EL-SF-64 %s 248 // CHECK-EL-SF-64: "-internal-isystem" 249 // CHECK-EL-SF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3" 250 // CHECK-EL-SF-64: "-internal-isystem" 251 // CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/el/64" 252 // CHECK-EL-SF-64: "-internal-isystem" 253 // CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward" 254 // CHECK-EL-SF-64: "-internal-externc-isystem" 255 // CHECK-EL-SF-64: "[[TC]]/include" 256 // CHECK-EL-SF-64: "-internal-externc-isystem" 257 // CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include" 258