1*67e74705SXin Li // Test header and library paths when Clang is used with Android standalone 2*67e74705SXin Li // toolchain. 3*67e74705SXin Li // 4*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 5*67e74705SXin Li // RUN: -target arm-linux-androideabi -stdlib=libstdc++ \ 6*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 7*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 8*67e74705SXin Li // RUN: | FileCheck %s 9*67e74705SXin Li // CHECK: {{.*}}clang{{.*}}" "-cc1" 10*67e74705SXin Li // CHECK: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" 11*67e74705SXin Li // CHECK: "-internal-isystem" "{{.*}}/include/c++/4.9" 12*67e74705SXin Li // CHECK-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7-a/thumb" 13*67e74705SXin Li // CHECK-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7-a" 14*67e74705SXin Li // CHECK-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/thumb" 15*67e74705SXin Li // CHECK: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi" 16*67e74705SXin Li // CHECK-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7-a/thumb" 17*67e74705SXin Li // CHECK-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7-a" 18*67e74705SXin Li // CHECK-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/thumb" 19*67e74705SXin Li // CHECK: "-internal-isystem" "{{.*}}/include/c++/4.9/backward" 20*67e74705SXin Li // CHECK: "-internal-isystem" "{{.*}}/sysroot/usr/local/include" 21*67e74705SXin Li // CHECK: "-internal-isystem" "[[RESOURCE_DIR]]{{(/|\\\\)}}include" 22*67e74705SXin Li // CHECK: "-internal-externc-isystem" "{{.*}}/sysroot/include" 23*67e74705SXin Li // CHECK: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include" 24*67e74705SXin Li // CHECK: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 25*67e74705SXin Li // CHECK-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a/thumb" 26*67e74705SXin Li // CHECK-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a" 27*67e74705SXin Li // CHECK-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/thumb" 28*67e74705SXin Li // CHECK: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9" 29*67e74705SXin Li // CHECK-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a/thumb" 30*67e74705SXin Li // CHECK-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a" 31*67e74705SXin Li // CHECK-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/thumb" 32*67e74705SXin Li // CHECK-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7-a/thumb" 33*67e74705SXin Li // CHECK-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7-a" 34*67e74705SXin Li // CHECK-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/thumb" 35*67e74705SXin Li // CHECK: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/arm-linux-androideabi/lib" 36*67e74705SXin Li // CHECK-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7-a/thumb" 37*67e74705SXin Li // CHECK-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7-a" 38*67e74705SXin Li // CHECK-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/thumb" 39*67e74705SXin Li // CHECK: "-L{{.*}}/sysroot/usr/lib" 40*67e74705SXin Li // 41*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 42*67e74705SXin Li // RUN: -target armv7a-none-linux-androideabi -stdlib=libstdc++ \ 43*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 44*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 45*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-ARMV7 %s 46*67e74705SXin Li // CHECK-ARMV7: {{.*}}clang{{.*}}" "-cc1" 47*67e74705SXin Li // CHECK-ARMV7: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" 48*67e74705SXin Li // CHECK-ARMV7: "-internal-isystem" "{{.*}}/include/c++/4.9" 49*67e74705SXin Li // CHECK-ARMV7-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7-a/thumb" 50*67e74705SXin Li // CHECK-ARMV7-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/thumb" 51*67e74705SXin Li // CHECK-ARMV7-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi" 52*67e74705SXin Li // CHECK-ARMV7: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7-a" 53*67e74705SXin Li // CHECK-ARMV7-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7-a/thumb" 54*67e74705SXin Li // CHECK-ARMV7-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/thumb" 55*67e74705SXin Li // CHECK-ARMV7-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi" 56*67e74705SXin Li // CHECK-ARMV7: "-internal-isystem" "{{.*}}/include/c++/4.9/backward" 57*67e74705SXin Li // CHECK-ARMV7: "-internal-isystem" "{{.*}}/sysroot/usr/local/include" 58*67e74705SXin Li // CHECK-ARMV7: "-internal-isystem" "[[RESOURCE_DIR]]{{(/|\\\\)}}include" 59*67e74705SXin Li // CHECK-ARMV7: "-internal-externc-isystem" "{{.*}}/sysroot/include" 60*67e74705SXin Li // CHECK-ARMV7: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include" 61*67e74705SXin Li // CHECK-ARMV7: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 62*67e74705SXin Li // CHECK-ARMV7-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a/thumb" 63*67e74705SXin Li // CHECK-ARMV7-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/thumb" 64*67e74705SXin Li // CHECK-ARMV7-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9" 65*67e74705SXin Li // CHECK-ARMV7: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a" 66*67e74705SXin Li // CHECK-ARMV7-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a/thumb" 67*67e74705SXin Li // CHECK-ARMV7-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/thumb" 68*67e74705SXin Li // CHECK-ARMV7-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9" 69*67e74705SXin Li // CHECK-ARMV7-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/thumb" 70*67e74705SXin Li // CHECK-ARMV7-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7-a/thumb" 71*67e74705SXin Li // CHECK-ARMV7-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib" 72*67e74705SXin Li // CHECK-ARMV7: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7-a" 73*67e74705SXin Li // CHECK-ARMV7-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/thumb" 74*67e74705SXin Li // CHECK-ARMV7-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7-a/thumb" 75*67e74705SXin Li // CHECK-ARMV7-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib" 76*67e74705SXin Li // CHECK-ARMV7: "-L{{.*}}/sysroot/usr/lib" 77*67e74705SXin Li // 78*67e74705SXin Li // Other flags that can trigger armv7 mode. 79*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 80*67e74705SXin Li // RUN: -target arm-linux-androideabi -stdlib=libstdc++ \ 81*67e74705SXin Li // RUN: -march=armv7 \ 82*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 83*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 84*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-ARMV7 %s 85*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 86*67e74705SXin Li // RUN: -target arm-linux-androideabi -stdlib=libstdc++ \ 87*67e74705SXin Li // RUN: -march=armv7a \ 88*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 89*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 90*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-ARMV7 %s 91*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 92*67e74705SXin Li // RUN: -target arm-linux-androideabi -stdlib=libstdc++ \ 93*67e74705SXin Li // RUN: -march=armv7-a \ 94*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 95*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 96*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-ARMV7 %s 97*67e74705SXin Li // 98*67e74705SXin Li // ARM thumb mode. 99*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 100*67e74705SXin Li // RUN: -target arm-linux-androideabi -stdlib=libstdc++ \ 101*67e74705SXin Li // RUN: -mthumb \ 102*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 103*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 104*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-THUMB %s 105*67e74705SXin Li // CHECK-THUMB: {{.*}}clang{{.*}}" "-cc1" 106*67e74705SXin Li // CHECK-THUMB: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" 107*67e74705SXin Li // CHECK-THUMB: "-internal-isystem" "{{.*}}/include/c++/4.9" 108*67e74705SXin Li // CHECK-THUMB-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7/thumb" 109*67e74705SXin Li // CHECK-THUMB-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7" 110*67e74705SXin Li // CHECK-THUMB-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi" 111*67e74705SXin Li // CHECK-THUMB: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/thumb" 112*67e74705SXin Li // CHECK-THUMB-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7/thumb" 113*67e74705SXin Li // CHECK-THUMB-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7" 114*67e74705SXin Li // CHECK-THUMB-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi" 115*67e74705SXin Li // CHECK-THUMB: "-internal-isystem" "{{.*}}/include/c++/4.9/backward" 116*67e74705SXin Li // CHECK-THUMB: "-internal-isystem" "{{.*}}/sysroot/usr/local/include" 117*67e74705SXin Li // CHECK-THUMB: "-internal-isystem" "[[RESOURCE_DIR]]{{(/|\\\\)}}include" 118*67e74705SXin Li // CHECK-THUMB: "-internal-externc-isystem" "{{.*}}/sysroot/include" 119*67e74705SXin Li // CHECK-THUMB: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include" 120*67e74705SXin Li // CHECK-THUMB: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 121*67e74705SXin Li // CHECK-THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a/thumb" 122*67e74705SXin Li // CHECK-THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a" 123*67e74705SXin Li // CHECK-THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9" 124*67e74705SXin Li // CHECK-THUMB: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/thumb" 125*67e74705SXin Li // CHECK-THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a/thumb" 126*67e74705SXin Li // CHECK-THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a" 127*67e74705SXin Li // CHECK-THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9" 128*67e74705SXin Li // CHECK-THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7" 129*67e74705SXin Li // CHECK-THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7/thumb" 130*67e74705SXin Li // CHECK-THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib" 131*67e74705SXin Li // CHECK-THUMB: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/thumb" 132*67e74705SXin Li // CHECK-THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7" 133*67e74705SXin Li // CHECK-THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7/thumb" 134*67e74705SXin Li // CHECK-THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib" 135*67e74705SXin Li // CHECK-THUMB: "-L{{.*}}/sysroot/usr/lib" 136*67e74705SXin Li // 137*67e74705SXin Li // ARM V7 thumb mode. 138*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 139*67e74705SXin Li // RUN: -target arm-linux-androideabi -stdlib=libstdc++ \ 140*67e74705SXin Li // RUN: -march=armv7-a -mthumb \ 141*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 142*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 143*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-ARMV7THUMB %s 144*67e74705SXin Li // CHECK-ARMV7THUMB: {{.*}}clang{{.*}}" "-cc1" 145*67e74705SXin Li // CHECK-ARMV7THUMB: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" 146*67e74705SXin Li // CHECK-ARMV7THUMB: "-internal-isystem" "{{.*}}/include/c++/4.9" 147*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7-a" 148*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/thumb" 149*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi" 150*67e74705SXin Li // CHECK-ARMV7THUMB: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7-a/thumb" 151*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/armv7-a" 152*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi/thumb" 153*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-internal-isystem" "{{.*}}/include/c++/4.9/arm-linux-androideabi" 154*67e74705SXin Li // CHECK-ARMV7THUMB: "-internal-isystem" "{{.*}}/include/c++/4.9/backward" 155*67e74705SXin Li // CHECK-ARMV7THUMB: "-internal-isystem" "{{.*}}/sysroot/usr/local/include" 156*67e74705SXin Li // CHECK-ARMV7THUMB: "-internal-isystem" "[[RESOURCE_DIR]]{{(/|\\\\)}}include" 157*67e74705SXin Li // CHECK-ARMV7THUMB: "-internal-externc-isystem" "{{.*}}/sysroot/include" 158*67e74705SXin Li // CHECK-ARMV7THUMB: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include" 159*67e74705SXin Li // CHECK-ARMV7THUMB: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 160*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/thumb" 161*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a" 162*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9" 163*67e74705SXin Li // CHECK-ARMV7THUMB: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a/thumb" 164*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/thumb" 165*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/armv7-a" 166*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9" 167*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/thumb" 168*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7-a" 169*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib" 170*67e74705SXin Li // CHECK-ARMV7THUMB: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7-a/thumb" 171*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/thumb" 172*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib/armv7-a" 173*67e74705SXin Li // CHECK-ARMV7THUMB-NOT: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.9/../{{[^ ]*}}/lib" 174*67e74705SXin Li // CHECK-ARMV7THUMB: "-L{{.*}}/sysroot/usr/lib" 175*67e74705SXin Li // 176*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 177*67e74705SXin Li // RUN: -target armv7a-none-linux-androideabi -stdlib=libstdc++ \ 178*67e74705SXin Li // RUN: -mthumb \ 179*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 180*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 181*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-ARMV7THUMB %s 182*67e74705SXin Li // 183*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 184*67e74705SXin Li // RUN: -target aarch64-linux-android -stdlib=libstdc++ \ 185*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 186*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 187*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-AARCH64 %s 188*67e74705SXin Li // CHECK-AARCH64: {{.*}}clang{{.*}}" "-cc1" 189*67e74705SXin Li // CHECK-AARCH64: "-internal-isystem" "{{.*}}/include/c++/4.9" 190*67e74705SXin Li // CHECK-AARCH64: "-internal-isystem" "{{.*}}/include/c++/4.9/aarch64-linux-android" 191*67e74705SXin Li // CHECK-AARCH64: "-internal-isystem" "{{.*}}/include/c++/4.9/backward" 192*67e74705SXin Li // CHECK-AARCH64: "-internal-externc-isystem" "{{.*}}/sysroot/include" 193*67e74705SXin Li // CHECK-AARCH64: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include" 194*67e74705SXin Li // CHECK-AARCH64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 195*67e74705SXin Li // CHECK-AARCH64: "-L{{.*}}/lib/gcc/aarch64-linux-android/4.9" 196*67e74705SXin Li // CHECK-AARCH64: "-L{{.*}}/lib/gcc/aarch64-linux-android/4.9/../../../../aarch64-linux-android/lib" 197*67e74705SXin Li // CHECK-AARCH64: "-L{{.*}}/sysroot/usr/lib" 198*67e74705SXin Li // 199*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 200*67e74705SXin Li // RUN: -target arm64-linux-android -stdlib=libstdc++ \ 201*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 202*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 203*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-ARM64 %s 204*67e74705SXin Li // CHECK-ARM64: {{.*}}clang{{.*}}" "-cc1" 205*67e74705SXin Li // CHECK-ARM64: "-internal-isystem" "{{.*}}/include/c++/4.9" 206*67e74705SXin Li // CHECK-ARM64: "-internal-isystem" "{{.*}}/include/c++/4.9/aarch64-linux-android" 207*67e74705SXin Li // CHECK-ARM64: "-internal-isystem" "{{.*}}/include/c++/4.9/backward" 208*67e74705SXin Li // CHECK-ARM64: "-internal-externc-isystem" "{{.*}}/sysroot/include" 209*67e74705SXin Li // CHECK-ARM64: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include" 210*67e74705SXin Li // CHECK-ARM64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 211*67e74705SXin Li // CHECK-ARM64: "-L{{.*}}/lib/gcc/aarch64-linux-android/4.9" 212*67e74705SXin Li // CHECK-ARM64: "-L{{.*}}/lib/gcc/aarch64-linux-android/4.9/../../../../aarch64-linux-android/lib" 213*67e74705SXin Li // CHECK-ARM64: "-L{{.*}}/sysroot/usr/lib" 214*67e74705SXin Li // 215*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 216*67e74705SXin Li // RUN: -target mipsel-linux-android \ 217*67e74705SXin Li // RUN: -mips32 -stdlib=libstdc++ \ 218*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 219*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 220*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-MIPS %s 221*67e74705SXin Li // CHECK-MIPS: {{.*}}clang{{.*}}" "-cc1" 222*67e74705SXin Li // CHECK-MIPS: "-internal-isystem" "{{.*}}/include/c++/4.9" 223*67e74705SXin Li // CHECK-MIPS: "-internal-isystem" "{{.*}}/include/c++/4.9/mipsel-linux-android" 224*67e74705SXin Li // CHECK-MIPS: "-internal-isystem" "{{.*}}/include/c++/4.9/backward" 225*67e74705SXin Li // CHECK-MIPS: "-internal-externc-isystem" "{{.*}}/sysroot/include" 226*67e74705SXin Li // CHECK-MIPS: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include" 227*67e74705SXin Li // CHECK-MIPS: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 228*67e74705SXin Li // CHECK-MIPS: "-L{{.*}}/lib/gcc/mipsel-linux-android/4.9" 229*67e74705SXin Li // CHECK-MIPS: "-L{{.*}}/lib/gcc/mipsel-linux-android/4.9/../../../../mipsel-linux-android/lib" 230*67e74705SXin Li // CHECK-MIPS: "-L{{.*}}/sysroot/usr/lib" 231*67e74705SXin Li // 232*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 233*67e74705SXin Li // RUN: -target mipsel-linux-android \ 234*67e74705SXin Li // RUN: -march=mips32 -mips32r2 -stdlib=libstdc++ \ 235*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 236*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 237*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-MIPSR2 %s 238*67e74705SXin Li // CHECK-MIPSR2: {{.*}}clang{{.*}}" "-cc1" 239*67e74705SXin Li // CHECK-MIPSR2: "-internal-isystem" "{{.*}}/include/c++/4.9" 240*67e74705SXin Li // CHECK-MIPSR2: "-internal-isystem" "{{.*}}/include/c++/4.9/mipsel-linux-android/mips-r2" 241*67e74705SXin Li // CHECK-MIPSR2: "-internal-isystem" "{{.*}}/include/c++/4.9/backward" 242*67e74705SXin Li // CHECK-MIPSR2: "-internal-externc-isystem" "{{.*}}/sysroot/include" 243*67e74705SXin Li // CHECK-MIPSR2: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include" 244*67e74705SXin Li // CHECK-MIPSR2: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 245*67e74705SXin Li // CHECK-MIPSR2: "-L{{.*}}/lib/gcc/mipsel-linux-android/4.9/mips-r2" 246*67e74705SXin Li // CHECK-MIPSR2: "-L{{.*}}/lib/gcc/mipsel-linux-android/4.9/../../../../mipsel-linux-android/lib/../libr2" 247*67e74705SXin Li // CHECK-MIPSR2: "-L{{.*}}/sysroot/usr/lib/../libr2" 248*67e74705SXin Li // 249*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 250*67e74705SXin Li // RUN: -target mipsel-linux-android \ 251*67e74705SXin Li // RUN: -mips32r6 -stdlib=libstdc++ \ 252*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 253*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 254*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-MIPSR6 %s 255*67e74705SXin Li // CHECK-MIPSR6: {{.*}}clang{{.*}}" "-cc1" 256*67e74705SXin Li // CHECK-MIPSR6: "-internal-isystem" "{{.*}}/include/c++/4.9" 257*67e74705SXin Li // CHECK-MIPSR6: "-internal-isystem" "{{.*}}/include/c++/4.9/mipsel-linux-android/mips-r6" 258*67e74705SXin Li // CHECK-MIPSR6: "-internal-isystem" "{{.*}}/include/c++/4.9/backward" 259*67e74705SXin Li // CHECK-MIPSR6: "-internal-externc-isystem" "{{.*}}/sysroot/include" 260*67e74705SXin Li // CHECK-MIPSR6: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include" 261*67e74705SXin Li // CHECK-MIPSR6: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 262*67e74705SXin Li // CHECK-MIPSR6: "-L{{.*}}/lib/gcc/mipsel-linux-android/4.9/mips-r6" 263*67e74705SXin Li // CHECK-MIPSR6: "-L{{.*}}/lib/gcc/mipsel-linux-android/4.9/../../../../mipsel-linux-android/lib/../libr6" 264*67e74705SXin Li // CHECK-MIPSR6: "-L{{.*}}/sysroot/usr/lib/../libr6" 265*67e74705SXin Li // 266*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 267*67e74705SXin Li // RUN: -target mips64el-linux-android \ 268*67e74705SXin Li // RUN: -march=mips32 -mips32r2 -stdlib=libstdc++ \ 269*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 270*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 271*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-MIPS64-R2 %s 272*67e74705SXin Li // CHECK-MIPS64-R2: {{.*}}clang{{.*}}" "-cc1" 273*67e74705SXin Li // CHECK-MIPS64-R2: "-internal-isystem" "{{.*}}/include/c++/4.9" 274*67e74705SXin Li // CHECK-MIPS64-R2: "-internal-isystem" "{{.*}}/include/mips64el-linux-android/c++/4.9/mips-r2" 275*67e74705SXin Li // CHECK-MIPS64-R2: "-internal-isystem" "{{.*}}/include/c++/4.9/backward" 276*67e74705SXin Li // CHECK-MIPS64-R2: "-internal-externc-isystem" "{{.*}}/sysroot/include" 277*67e74705SXin Li // CHECK-MIPS64-R2: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include" 278*67e74705SXin Li // CHECK-MIPS64-R2: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 279*67e74705SXin Li // CHECK-MIPS64-R2: "-L{{.*}}/lib/gcc/mips64el-linux-android/4.9/32/mips-r2" 280*67e74705SXin Li // CHECK-MIPS64-R2: "-L{{.*}}/lib/gcc/mips64el-linux-android/4.9/../../../../mips64el-linux-android/lib/../libr2" 281*67e74705SXin Li // CHECK-MIPS64-R2: "-L{{.*}}/sysroot/usr/lib/../libr2" 282*67e74705SXin Li // 283*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 284*67e74705SXin Li // RUN: -target mips64el-linux-android \ 285*67e74705SXin Li // RUN: -march=mips32 -mips32r6 -stdlib=libstdc++ \ 286*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 287*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 288*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-MIPS64-R6 %s 289*67e74705SXin Li // CHECK-MIPS64-R6: {{.*}}clang{{.*}}" "-cc1" 290*67e74705SXin Li // CHECK-MIPS64-R6: "-internal-isystem" "{{.*}}/include/c++/4.9" 291*67e74705SXin Li // CHECK-MIPS64-R6: "-internal-isystem" "{{.*}}/include/mips64el-linux-android/c++/4.9/mips-r6" 292*67e74705SXin Li // CHECK-MIPS64-R6: "-internal-isystem" "{{.*}}/include/c++/4.9/backward" 293*67e74705SXin Li // CHECK-MIPS64-R6: "-internal-externc-isystem" "{{.*}}/sysroot/include" 294*67e74705SXin Li // CHECK-MIPS64-R6: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include" 295*67e74705SXin Li // CHECK-MIPS64-R6: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 296*67e74705SXin Li // CHECK-MIPS64-R6: "-L{{.*}}/lib/gcc/mips64el-linux-android/4.9/32/mips-r6" 297*67e74705SXin Li // CHECK-MIPS64-R6: "-L{{.*}}/lib/gcc/mips64el-linux-android/4.9/../../../../mips64el-linux-android/lib/../libr6" 298*67e74705SXin Li // CHECK-MIPS64-R6: "-L{{.*}}/sysroot/usr/lib/../libr6" 299*67e74705SXin Li // 300*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 301*67e74705SXin Li // RUN: -target i686-linux-android \ 302*67e74705SXin Li // RUN: -stdlib=libstdc++ \ 303*67e74705SXin Li // RUN: -B%S/Inputs/basic_android_ndk_tree \ 304*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_android_ndk_tree/sysroot \ 305*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-I686 %s 306*67e74705SXin Li // CHECK-I686: {{.*}}clang{{.*}}" "-cc1" 307*67e74705SXin Li // CHECK-I686: "-internal-isystem" "{{.*}}/include/c++/4.9" 308*67e74705SXin Li // CHECK-I686: "-internal-isystem" "{{.*}}/include/c++/4.9/i686-linux-android" 309*67e74705SXin Li // CHECK-I686: "-internal-isystem" "{{.*}}/include/c++/4.9/backward" 310*67e74705SXin Li // CHECK-I686: "-internal-externc-isystem" "{{.*}}/sysroot/include" 311*67e74705SXin Li // CHECK-I686: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include" 312*67e74705SXin Li // CHECK-I686: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 313*67e74705SXin Li // CHECK-I686: "-L{{.*}}/lib/gcc/i686-linux-android/4.9" 314*67e74705SXin Li // CHECK-I686: "-L{{.*}}/lib/gcc/i686-linux-android/4.9/../../../../i686-linux-android/lib" 315*67e74705SXin Li // CHECK-I686: "-L{{.*}}/sysroot/usr/lib" 316