blob: 00350ab1100099e43d278c341ba7b71d8e6f7c07 [file] [log] [blame]
// Note: %s must be preceded by --, otherwise it may be interpreted as a
// command-line option, e.g. on Mac where %s is commonly under /Users.
// RUN: %clang -### -target i386 -fexcess-precision=fast -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FAST %s
// RUN: %clang_cl -### -target i386 -fexcess-precision=fast -c -- %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FAST %s
// RUN: %clang -### -target i386 -fexcess-precision=standard -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-STD %s
// RUN: %clang_cl -### -target i386 -fexcess-precision=standard -c -- %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-STD %s
// RUN: %clang -### -target i386 -fexcess-precision=16 -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-NONE %s
// RUN: %clang_cl -### -target i386 -fexcess-precision=16 -c -- %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-NONE %s
// RUN: %clang -### -target i386 -fexcess-precision=none -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-ERR-NONE %s
// RUN: %clang_cl -### -target i386 -fexcess-precision=none -c -- %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-ERR-NONE %s
// RUN: %clang -### -target x86_64 -fexcess-precision=fast -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FAST %s
// RUN: %clang_cl -### -target x86_64 -fexcess-precision=fast -c -- %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FAST %s
// RUN: %clang -### -target x86_64 -fexcess-precision=standard -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-STD %s
// RUN: %clang_cl -### -target x86_64 -fexcess-precision=standard -c \
// RUN: -- %s 2>&1 | FileCheck --check-prefix=CHECK-STD %s
// RUN: %clang -### -target x86_64 -fexcess-precision=16 -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-NONE %s
// RUN: %clang_cl -### -target x86_64 -fexcess-precision=16 -c -- %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-NONE %s
// RUN: %clang -### -target x86_64 -fexcess-precision=none -c %s 2>&1 \
// RUN: | FileCheck --check-prefixes=CHECK-ERR-NONE %s
// RUN: %clang_cl -### -target x86_64 -fexcess-precision=none -c -- %s 2>&1 \
// RUN: | FileCheck --check-prefixes=CHECK-ERR-NONE %s
// RUN: %clang -### -target aarch64 -fexcess-precision=fast -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK %s
// RUN: %clang_cl -### -target aarch64 -fexcess-precision=fast -c -- %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK %s
// RUN: %clang -### -target aarch64 -fexcess-precision=standard -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK %s
// RUN: %clang_cl -### -target aarch64 -fexcess-precision=standard -c \
// RUN: -- %s 2>&1 | FileCheck --check-prefix=CHECK %s
// RUN: %clang -### -target aarch64 -fexcess-precision=16 -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-ERR-16 %s
// RUN: %clang_cl -### -target aarch64 -fexcess-precision=16 -c -- %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-ERR-16 %s
// RUN: %clang -### -target aarch64 -fexcess-precision=none -c %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-ERR-NONE %s
// RUN: %clang_cl -### -target aarch64 -fexcess-precision=none -c -- %s 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-ERR-NONE %s
// CHECK-FAST: "-ffloat16-excess-precision=fast"
// CHECK-FAST: "-fbfloat16-excess-precision=fast"
// CHECK-STD: "-ffloat16-excess-precision=standard"
// CHECK-STD: "-fbfloat16-excess-precision=standard"
// CHECK-NONE: "-ffloat16-excess-precision=none"
// CHECK-NONE: "-fbfloat16-excess-precision=none"
// CHECK-ERR-NONE: unsupported argument 'none' to option '-fexcess-precision='
// CHECK: "-cc1"
// CHECK-NOT: "-ffloat16-excess-precision=fast"
// CHECK-NOT: "-fbfloat16-excess-precision=fast"
// CHECK-ERR-16: unsupported argument '16' to option '-fexcess-precision='