1 // Check handling -mhard-float / -msoft-float options
2 // when build for SPARC platforms.
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"
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"
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"
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"
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"
35 // check invalid -mfloat-abi
36 // RUN: not %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'
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"
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"
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"
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"
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"
72 // check invalid -mfloat-abi
73 // RUN: not %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'