|
clang 24.0.0git
|
Represents difference between two FPOptions values. More...
#include "clang/Basic/LangOptions.h"
Public Types | |
| using | RoundingMode = llvm::RoundingMode |
| using | storage_type = uint64_t |
| The type suitable for storing values of FPOptionsOverride. | |
Public Member Functions | |
| FPOptionsOverride () | |
| FPOptionsOverride (const LangOptions &LO) | |
| FPOptionsOverride (FPOptions FPO) | |
| FPOptionsOverride (FPOptions FPO, FPOptions::storage_type Mask) | |
| bool | requiresTrailingStorage () const |
| void | setAllowFPContractWithinStatement () |
| void | setAllowFPContractAcrossStatement () |
| void | setDisallowFPContract () |
| void | setFPPreciseEnabled (bool Value) |
| void | setDisallowOptimizations () |
| storage_type | getAsOpaqueInt () const |
| FPOptions | applyOverrides (FPOptions Base) |
| FPOptions | applyOverrides (const LangOptions &LO) |
| bool | operator== (FPOptionsOverride other) const |
| bool | operator!= (FPOptionsOverride other) const |
| LLVM_DUMP_METHOD void | dump () |
Static Public Member Functions | |
| static FPOptionsOverride | getFromOpaqueInt (storage_type I) |
Static Public Attributes | |
| static constexpr storage_type | OverrideMaskBits |
| Bit mask selecting bits of OverrideMask in serialized representation of FPOptionsOverride. | |
Represents difference between two FPOptions values.
The effect of language constructs changing the set of floating point options is usually a change of some FP properties while leaving others intact. This class describes such changes by keeping information about what FP options are overridden.
The integral set of FP options, described by the class FPOptions, may be represented as a default FP option set, defined by language standard and command line options, with the overrides introduced by pragmas.
The is implemented as a value of the new FPOptions plus a mask showing which fields are actually set in it.
NOTE: This type is serialized into the AST format (e.g. for defaulted functions). When adding a new field here or in FPOptions, ensure that the AST VERSION_MAJOR is bumped if it changes the layout or size.
Definition at line 1002 of file LangOptions.h.
| using clang::FPOptionsOverride::RoundingMode = llvm::RoundingMode |
Definition at line 1007 of file LangOptions.h.
| using clang::FPOptionsOverride::storage_type = uint64_t |
The type suitable for storing values of FPOptionsOverride.
Must be twice as wide as bit size of FPOption.
Definition at line 1011 of file LangOptions.h.
|
inline |
Definition at line 1020 of file LangOptions.h.
Referenced by getFromOpaqueInt(), operator!=(), and operator==().
|
inline |
Definition at line 1021 of file LangOptions.h.
References OverrideMaskBits.
|
inline |
Definition at line 1023 of file LangOptions.h.
References OverrideMaskBits.
|
inline |
Definition at line 1025 of file LangOptions.h.
|
inline |
Definition at line 1079 of file LangOptions.h.
References applyOverrides().
Definition at line 1072 of file LangOptions.h.
References clang::FPOptions::getFromOpaqueInt(), and clang::Result.
Referenced by clang::Sema::ActOnPragmaCXLimitedRange(), clang::Sema::ActOnPragmaFEnvAccess(), clang::Sema::ActOnPragmaFEnvRound(), clang::Sema::ActOnPragmaFloatControl(), clang::Sema::ActOnPragmaFPContract(), clang::Sema::ActOnPragmaFPEvalMethod(), clang::Sema::ActOnPragmaFPValueChangingOption(), clang::FPOptions::applyChanges(), applyOverrides(), clang::BinaryOperator::getFPFeaturesInEffect(), clang::CallExpr::getFPFeaturesInEffect(), clang::CastExpr::getFPFeaturesInEffect(), clang::ConvertVectorExpr::getFPFeaturesInEffect(), clang::UnaryOperator::getFPFeaturesInEffect(), clang::ASTReader::InitializeSema(), and clang::Sema::setExceptionMode().
| LLVM_DUMP_METHOD void FPOptionsOverride::dump | ( | ) |
Definition at line 260 of file LangOptions.cpp.
|
inline |
Definition at line 1060 of file LangOptions.h.
References clang::FPOptions::StorageBitSize.
|
inlinestatic |
Definition at line 1065 of file LangOptions.h.
References FPOptionsOverride(), clang::FPOptions::getFromOpaqueInt(), OverrideMaskBits, and clang::FPOptions::StorageBitSize.
Referenced by clang::ASTReader::InitializeSema(), and clang::ASTDeclReader::VisitFunctionDecl().
|
inline |
Definition at line 1086 of file LangOptions.h.
References FPOptionsOverride().
|
inline |
Definition at line 1083 of file LangOptions.h.
References FPOptionsOverride().
|
inline |
Definition at line 1028 of file LangOptions.h.
Referenced by clang::BinaryOperator::BinaryOperator(), clang::BinaryOperator::BinaryOperator(), clang::CallExpr::CallExpr(), clang::BinaryOperator::Create(), clang::CallExpr::Create(), clang::CompoundAssignOperator::Create(), clang::CompoundStmt::Create(), clang::ConvertVectorExpr::Create(), clang::CStyleCastExpr::Create(), clang::CUDAKernelCallExpr::Create(), clang::CXXFunctionalCastExpr::Create(), clang::CXXMemberCallExpr::Create(), clang::CXXOperatorCallExpr::Create(), clang::CXXStaticCastExpr::Create(), clang::ImplicitCastExpr::Create(), clang::UnaryOperator::Create(), clang::UserDefinedLiteral::Create(), and clang::UnaryOperator::UnaryOperator().
|
inline |
Definition at line 1034 of file LangOptions.h.
References clang::LangOptionsBase::FPM_Fast.
Referenced by clang::Sema::ActOnPragmaFPContract(), and setFPPreciseEnabled().
|
inline |
Definition at line 1030 of file LangOptions.h.
References clang::LangOptionsBase::FPM_On.
Referenced by clang::Sema::ActOnPragmaFPContract(), and setFPPreciseEnabled().
|
inline |
Definition at line 1038 of file LangOptions.h.
References clang::LangOptionsBase::FPM_Off.
Referenced by clang::Sema::ActOnPragmaFPContract().
|
inline |
Definition at line 1058 of file LangOptions.h.
References setFPPreciseEnabled().
Referenced by clang::Sema::applyFunctionAttributesBeforeParsingBody().
|
inline |
Definition at line 1042 of file LangOptions.h.
References setAllowFPContractAcrossStatement(), and setAllowFPContractWithinStatement().
Referenced by clang::Sema::ActOnPragmaFloatControl(), and setDisallowOptimizations().
|
staticconstexpr |
Bit mask selecting bits of OverrideMask in serialized representation of FPOptionsOverride.
Definition at line 1017 of file LangOptions.h.
Referenced by FPOptionsOverride(), FPOptionsOverride(), and getFromOpaqueInt().