1*0a6a1f1dSLionel Sambuc // RUN: %clang -target x86_64-apple-darwin -arch armv6m -resource-dir=%S/Inputs/resource_dir %s -### 2> %t 2*0a6a1f1dSLionel Sambuc // RUN: %clang -target x86_64-apple-darwin -arch armv7em -resource-dir=%S/Inputs/resource_dir %s -### 2>> %t 3*0a6a1f1dSLionel Sambuc // RUN: %clang -target x86_64-apple-darwin -arch armv7em -mhard-float -resource-dir=%S/Inputs/resource_dir %s -### 2>> %t 4*0a6a1f1dSLionel Sambuc 5*0a6a1f1dSLionel Sambuc // RUN: %clang -target x86_64-apple-darwin -arch armv7m -fPIC -resource-dir=%S/Inputs/resource_dir %s -### 2>> %t 6*0a6a1f1dSLionel Sambuc // RUN: %clang -target x86_64-apple-darwin -arch armv7em -fPIC -mfloat-abi=hard -resource-dir=%S/Inputs/resource_dir %s -### 2>> %t 7*0a6a1f1dSLionel Sambuc // RUN: %clang -target x86_64-apple-darwin -arch armv7em -fPIC -mfloat-abi=softfp -resource-dir=%S/Inputs/resource_dir %s -### 2>> %t 8*0a6a1f1dSLionel Sambuc // RUN: %clang -target x86_64-apple-none-macho -arch armv7 -mhard-float -resource-dir=%S/Inputs/resource_dir %s -### 2>> %t 9*0a6a1f1dSLionel Sambuc // RUN: %clang -target x86_64-apple-none-macho -arch armv7 -msoft-float -fPIC -resource-dir=%S/Inputs/resource_dir %s -### 2>> %t 10*0a6a1f1dSLionel Sambuc 11*0a6a1f1dSLionel Sambuc 12*0a6a1f1dSLionel Sambuc // RUN: FileCheck %s < %t 13*0a6a1f1dSLionel Sambuc 14*0a6a1f1dSLionel Sambuc // ARMv6m has no float 15*0a6a1f1dSLionel Sambuc // CHECK-LABEL: Target: 16*0a6a1f1dSLionel Sambuc // CHECK-NOT: warning: unknown platform 17*0a6a1f1dSLionel Sambuc // CHECK: "-mfloat-abi" "soft" 18*0a6a1f1dSLionel Sambuc // CHECK: libclang_rt.soft_static.a 19*0a6a1f1dSLionel Sambuc 20*0a6a1f1dSLionel Sambuc // ARMv7em does, but defaults to soft 21*0a6a1f1dSLionel Sambuc // CHECK-LABEL: Target: 22*0a6a1f1dSLionel Sambuc // CHECK-NOT: warning: unknown platform 23*0a6a1f1dSLionel Sambuc // CHECK: "-mfloat-abi" "soft" 24*0a6a1f1dSLionel Sambuc // CHECK: libclang_rt.soft_static.a 25*0a6a1f1dSLionel Sambuc 26*0a6a1f1dSLionel Sambuc // Which can be overridden 27*0a6a1f1dSLionel Sambuc // CHECK-LABEL: Target: 28*0a6a1f1dSLionel Sambuc // CHECK-NOT: warning: unknown platform 29*0a6a1f1dSLionel Sambuc // CHECK: "-mfloat-abi" "hard" 30*0a6a1f1dSLionel Sambuc // CHECK: libclang_rt.hard_static.a 31*0a6a1f1dSLionel Sambuc 32*0a6a1f1dSLionel Sambuc // ARMv7m has no float either 33*0a6a1f1dSLionel Sambuc // CHECK-LABEL: Target: 34*0a6a1f1dSLionel Sambuc // CHECK-NOT: warning: unknown platform 35*0a6a1f1dSLionel Sambuc // CHECK: "-mfloat-abi" "soft" 36*0a6a1f1dSLionel Sambuc // CHECK: libclang_rt.soft_pic.a 37*0a6a1f1dSLionel Sambuc 38*0a6a1f1dSLionel Sambuc // But it can be enabled on ARMv7em 39*0a6a1f1dSLionel Sambuc // CHECK-LABEL: Target: 40*0a6a1f1dSLionel Sambuc // CHECK-NOT: warning: unknown platform 41*0a6a1f1dSLionel Sambuc // CHECK: "-mfloat-abi" "hard" 42*0a6a1f1dSLionel Sambuc // CHECK: libclang_rt.hard_pic.a 43*0a6a1f1dSLionel Sambuc 44*0a6a1f1dSLionel Sambuc // "softfp" must link against a soft-float library since that's what the 45*0a6a1f1dSLionel Sambuc // callers we're compiling will expect. 46*0a6a1f1dSLionel Sambuc // CHECK-LABEL: Target: 47*0a6a1f1dSLionel Sambuc // CHECK-NOT: warning: unknown platform 48*0a6a1f1dSLionel Sambuc // CHECK: "-mfloat-abi" "soft" 49*0a6a1f1dSLionel Sambuc // CHECK: libclang_rt.soft_pic.a 50*0a6a1f1dSLionel Sambuc 51*0a6a1f1dSLionel Sambuc // -arch "armv7" (== embedded v7a) can be used in a couple of variants: 52*0a6a1f1dSLionel Sambuc // CHECK-LABEL: Target: 53*0a6a1f1dSLionel Sambuc // CHECK-NOT: warning: unknown platform 54*0a6a1f1dSLionel Sambuc // CHECK: "-mfloat-abi" "hard" 55*0a6a1f1dSLionel Sambuc // CHECK: libclang_rt.hard_static.a 56*0a6a1f1dSLionel Sambuc 57*0a6a1f1dSLionel Sambuc // CHECK-LABEL: Target: 58*0a6a1f1dSLionel Sambuc // CHECK-NOT: warning: unknown platform 59*0a6a1f1dSLionel Sambuc // CHECK: "-mfloat-abi" "soft" 60*0a6a1f1dSLionel Sambuc // CHECK: libclang_rt.soft_pic.a 61