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