1 // Check handling -mhard-float / -msoft-float options 2 // when build for SPARC platforms. 3 // 4 // Default sparc 5 // RUN: %clang -c %s -### -o %t.o 2>&1 \ 6 // RUN: -target sparc-linux-gnu \ 7 // RUN: | FileCheck --check-prefix=CHECK-DEF %s 8 // CHECK-DEF-NOT: "-target-feature" "+soft-float" 9 // CHECK-DEF-NOT: "-msoft-float" 10 // 11 // -mhard-float 12 // RUN: %clang -c %s -### -o %t.o 2>&1 \ 13 // RUN: -target sparc-linux-gnu -mhard-float \ 14 // RUN: | FileCheck --check-prefix=CHECK-HARD %s 15 // CHECK-HARD-NOT: "-msoft-float" 16 // 17 // -msoft-float 18 // RUN: %clang -c %s -### -o %t.o 2>&1 \ 19 // RUN: -target sparc-linux-gnu -msoft-float \ 20 // RUN: | FileCheck --check-prefix=CHECK-SOFT %s 21 // CHECK-SOFT: "-target-feature" "+soft-float" 22 // 23 // -mfloat-abi=soft 24 // RUN: %clang -c %s -### -o %t.o 2>&1 \ 25 // RUN: -target sparc-linux-gnu -mfloat-abi=soft \ 26 // RUN: | FileCheck --check-prefix=CHECK-FLOATABISOFT %s 27 // CHECK-FLOATABISOFT: "-target-feature" "+soft-float" 28 // 29 // -mfloat-abi=hard 30 // RUN: %clang -c %s -### -o %t.o 2>&1 \ 31 // RUN: -target sparc-linux-gnu -mfloat-abi=hard \ 32 // RUN: | FileCheck --check-prefix=CHECK-FLOATABIHARD %s 33 // CHECK-FLOATABIHARD-NOT: "-target-feature" "+soft-float" 34 // 35 // check invalid -mfloat-abi 36 // RUN: %clang -c %s -### -o %t.o 2>&1 \ 37 // RUN: -target sparc-linux-gnu -mfloat-abi=x \ 38 // RUN: | FileCheck --check-prefix=CHECK-ERRMSG %s 39 // CHECK-ERRMSG: error: invalid float ABI '-mfloat-abi=x' 40 // 41 // Default sparc64 42 // RUN: %clang -c %s -### -o %t.o 2>&1 \ 43 // RUN: -target sparc64-linux-gnu \ 44 // RUN: | FileCheck --check-prefix=CHECK-DEF-SPARC64 %s 45 // CHECK-DEF-SPARC64-NOT: "-target-feature" "+soft-float" 46 // CHECK-DEF-SPARC64-NOT: "-msoft-float" 47 // 48 // -mhard-float 49 // RUN: %clang -c %s -### -o %t.o 2>&1 \ 50 // RUN: -target sparc64-linux-gnu -mhard-float \ 51 // RUN: | FileCheck --check-prefix=CHECK-HARD-SPARC64 %s 52 // CHECK-HARD-SPARC64-NOT: "-msoft-float" 53 // 54 // -msoft-float 55 // RUN: %clang -c %s -### -o %t.o 2>&1 \ 56 // RUN: -target sparc64-linux-gnu -msoft-float \ 57 // RUN: | FileCheck --check-prefix=CHECK-SOFT-SPARC64 %s 58 // CHECK-SOFT-SPARC64: "-target-feature" "+soft-float" 59 // 60 // -mfloat-abi=soft 61 // RUN: %clang -c %s -### -o %t.o 2>&1 \ 62 // RUN: -target sparc64-linux-gnu -mfloat-abi=soft \ 63 // RUN: | FileCheck --check-prefix=CHECK-FLOATABISOFT64 %s 64 // CHECK-FLOATABISOFT64: "-target-feature" "+soft-float" 65 // 66 // -mfloat-abi=hard 67 // RUN: %clang -c %s -### -o %t.o 2>&1 \ 68 // RUN: -target sparc64-linux-gnu -mfloat-abi=hard \ 69 // RUN: | FileCheck --check-prefix=CHECK-FLOATABIHARD64 %s 70 // CHECK-FLOATABIHARD64-NOT: "-target-feature" "+soft-float" 71 // 72 // check invalid -mfloat-abi 73 // RUN: %clang -c %s -### -o %t.o 2>&1 \ 74 // RUN: -target sparc64-linux-gnu -mfloat-abi=x \ 75 // RUN: | FileCheck --check-prefix=CHECK-ERRMSG64 %s 76 // CHECK-ERRMSG64: error: invalid float ABI '-mfloat-abi=x' 77