blob: 4a666eefaf0ab39c1ee78325b0f2be82ef25c5fe [file] [log] [blame]
Akira Hatanaka54edd472012-03-26 17:37:20 +00001// Check handling -mhard-float / -msoft-float / -mfloat-abi options
2// when build for MIPS platforms.
3//
4// Default
5// RUN: %clang -c %s -### -o %t.o 2>&1 \
6// RUN: -target mips-linux-gnu \
7// RUN: | FileCheck --check-prefix=CHECK-DEF %s
8// CHECK-DEF: "-mfloat-abi" "hard"
9//
10// -mhard-float
11// RUN: %clang -c %s -### -o %t.o 2>&1 \
12// RUN: -target mips-linux-gnu -mhard-float \
13// RUN: | FileCheck --check-prefix=CHECK-HARD %s
14// CHECK-HARD: "-mfloat-abi" "hard"
15//
16// -msoft-float
17// RUN: %clang -c %s -### -o %t.o 2>&1 \
18// RUN: -target mips-linux-gnu -msoft-float \
19// RUN: | FileCheck --check-prefix=CHECK-SOFT %s
20// CHECK-SOFT: "-msoft-float"
21// CHECK-SOFT: "-mfloat-abi" "soft"
22// CHECK-SOFT: "-target-feature" "+soft-float"
23//
24// -mfloat-abi=hard
25// RUN: %clang -c %s -### -o %t.o 2>&1 \
26// RUN: -target mips-linux-gnu -mfloat-abi=hard \
27// RUN: | FileCheck --check-prefix=CHECK-ABI-HARD %s
28// CHECK-ABI-HARD: "-mfloat-abi" "hard"
29//
30// -mfloat-abi=soft
31// RUN: %clang -c %s -### -o %t.o 2>&1 \
32// RUN: -target mips-linux-gnu -mfloat-abi=soft \
33// RUN: | FileCheck --check-prefix=CHECK-ABI-SOFT %s
34// CHECK-ABI-SOFT: "-msoft-float"
35// CHECK-ABI-SOFT: "-mfloat-abi" "soft"
36// CHECK-ABI-SOFT: "-target-feature" "+soft-float"
37//
38// -mfloat-abi=single
39// RUN: %clang -c %s -### -o %t.o 2>&1 \
40// RUN: -target mips-linux-gnu -mfloat-abi=single \
41// RUN: | FileCheck --check-prefix=CHECK-ABI-SINGLE %s
42// CHECK-ABI-SINGLE: "-target-feature" "+single-float"
43//
44// Let's check float ABI related macros.
45//
46// -mfloat-abi=hard
47// RUN: %clang -c %s -dM -E 2>&1 \
48// RUN: -target mips-linux-gnu -mfloat-abi=hard \
49// RUN: | grep "#define __mips_hard_float 1"
50//
51// -mfloat-abi=soft
52// RUN: %clang -c %s -dM -E 2>&1 \
53// RUN: -target mips-linux-gnu -mfloat-abi=soft \
54// RUN: | grep "#define __mips_soft_float 1"
55//
56// -mfloat-abi=single
57// RUN: %clang -c %s -dM -E 2>&1 \
58// RUN: -target mips-linux-gnu -mfloat-abi=single \
59// RUN: | grep "#define __mips_single_float 1"