33 lines
1.7 KiB
C++
33 lines
1.7 KiB
C++
//===--- FPOptions.def - Floating Point Options database --------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// This file defines the Floating Point language options. Users of this file
|
|
// must define the FP_OPTION macro to make use of this information.
|
|
#ifndef FP_OPTION
|
|
# error Define the FP_OPTION macro to handle floating point language options
|
|
#endif
|
|
|
|
// FP_OPTION(name, type, width, previousName)
|
|
FP_OPTION(FPContractMode, LangOptions::FPModeKind, 2, First)
|
|
FP_OPTION(RoundingMath, bool, 1, FPContractMode)
|
|
FP_OPTION(ConstRoundingMode, LangOptions::RoundingMode, 3, RoundingMath)
|
|
FP_OPTION(SpecifiedExceptionMode, LangOptions::FPExceptionModeKind, 2, ConstRoundingMode)
|
|
FP_OPTION(AllowFEnvAccess, bool, 1, SpecifiedExceptionMode)
|
|
FP_OPTION(AllowFPReassociate, bool, 1, AllowFEnvAccess)
|
|
FP_OPTION(NoHonorNaNs, bool, 1, AllowFPReassociate)
|
|
FP_OPTION(NoHonorInfs, bool, 1, NoHonorNaNs)
|
|
FP_OPTION(NoSignedZero, bool, 1, NoHonorInfs)
|
|
FP_OPTION(AllowReciprocal, bool, 1, NoSignedZero)
|
|
FP_OPTION(AllowApproxFunc, bool, 1, AllowReciprocal)
|
|
FP_OPTION(FPEvalMethod, LangOptions::FPEvalMethodKind, 2, AllowApproxFunc)
|
|
FP_OPTION(Float16ExcessPrecision, LangOptions::ExcessPrecisionKind, 2, FPEvalMethod)
|
|
FP_OPTION(BFloat16ExcessPrecision, LangOptions::ExcessPrecisionKind, 2, Float16ExcessPrecision)
|
|
FP_OPTION(MathErrno, bool, 1, BFloat16ExcessPrecision)
|
|
FP_OPTION(ComplexRange, LangOptions::ComplexRangeKind, 3, MathErrno)
|
|
#undef FP_OPTION
|