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