Home | History | Annotate | Download | only in Driver
      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