1//===--- FPOptions.def - Floating Point Options database --------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9// This file defines the Floating Point language options. Users of this file
10//  must define the OPTION macro to make use of this information.
11#ifndef OPTION
12#  error Define the OPTION macro to handle floating point language options
13#endif
14
15// OPTION(name, type, width, previousName)
16OPTION(FPContractMode, LangOptions::FPModeKind, 2, First)
17OPTION(RoundingMode, LangOptions::RoundingMode, 3, FPContractMode)
18OPTION(FPExceptionMode, LangOptions::FPExceptionModeKind, 2, RoundingMode)
19OPTION(AllowFEnvAccess, bool, 1, FPExceptionMode)
20OPTION(AllowFPReassociate, bool, 1, AllowFEnvAccess)
21OPTION(NoHonorNaNs, bool, 1, AllowFPReassociate)
22OPTION(NoHonorInfs, bool, 1, NoHonorNaNs)
23OPTION(NoSignedZero, bool, 1, NoHonorInfs)
24OPTION(AllowReciprocal, bool, 1, NoSignedZero)
25OPTION(AllowApproxFunc, bool, 1, AllowReciprocal)
26#undef OPTION
27