Author: Yaxun (Sam) Liu Date: 2023-08-24T19:50:10-04:00 New Revision: e94c171ddb036e9672681d74725069352dd04d0e
URL: https://github.com/llvm/llvm-project/commit/e94c171ddb036e9672681d74725069352dd04d0e DIFF: https://github.com/llvm/llvm-project/commit/e94c171ddb036e9672681d74725069352dd04d0e.diff LOG: [clang][Driver] recognize `-ffp-contract=fast-honor-pragmas` -ffp-contract=fast-honor-pragmas is a valid option recognized by clang -cc1 but it is missed by clang driver. Reviewed by: Matt Arsenault Differential Revision: https://reviews.llvm.org/D145648 Added: Modified: clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/fp-contract.c Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index aaff62e5661a95..488838b1ff4bb7 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -2955,7 +2955,8 @@ static void RenderFloatingPointOptions(const ToolChain &TC, const Driver &D, // -ffp-model=precise sets PreciseFPModel to on and Val to // "precise". FPContract is set. ; - } else if (Val.equals("fast") || Val.equals("on") || Val.equals("off")) { + } else if (Val.equals("fast") || Val.equals("on") || Val.equals("off") || + Val.equals("fast-honor-pragmas")) { FPContract = Val; LastSeenFfpContractOption = Val; } else diff --git a/clang/test/Driver/fp-contract.c b/clang/test/Driver/fp-contract.c index e89c57d6fd68f4..660f67fad3ccbe 100644 --- a/clang/test/Driver/fp-contract.c +++ b/clang/test/Driver/fp-contract.c @@ -21,6 +21,10 @@ // RUN: %clang -### -ffast-math -ffp-contract=fast -c %s 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-FPC-FAST %s +// RUN: %clang -### -ffast-math -ffp-contract=fast-honor-pragmas -c %s 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-FPC-FAST-HONOR %s +// CHECK-FPC-FAST-HONOR: "-ffp-contract=fast-honor-pragmas" + // RUN: %clang -### -ffp-contract=fast -ffast-math -c %s 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-FPC-FAST %s // RUN: %clang -### -ffp-contract=on -ffast-math -c %s 2>&1 \ _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits