[clang] 55e3910 - [clang] Remove FEM_Indeterminable (#137661)
via cfe-commits
cfe-commits at lists.llvm.org
Fri May 2 13:05:56 PDT 2025
Author: Oliver Hunt
Date: 2025-05-02T13:05:52-07:00
New Revision: 55e39100dae2a131c7cbcdbbe628c0b82f8c12ca
URL: https://github.com/llvm/llvm-project/commit/55e39100dae2a131c7cbcdbbe628c0b82f8c12ca
DIFF: https://github.com/llvm/llvm-project/commit/55e39100dae2a131c7cbcdbbe628c0b82f8c12ca.diff
LOG: [clang] Remove FEM_Indeterminable (#137661)
Remove FEM_Indeterminable as it is unused and cannot be stored safely in
an unsigned bitfield
Added:
Modified:
clang/include/clang/Basic/FPOptions.def
clang/include/clang/Basic/LangOptions.def
clang/include/clang/Basic/LangOptions.h
Removed:
################################################################################
diff --git a/clang/include/clang/Basic/FPOptions.def b/clang/include/clang/Basic/FPOptions.def
index 85986b4ff0b9c..90428c3c73c8b 100644
--- a/clang/include/clang/Basic/FPOptions.def
+++ b/clang/include/clang/Basic/FPOptions.def
@@ -24,7 +24,7 @@ OPTION(NoHonorInfs, bool, 1, NoHonorNaNs)
OPTION(NoSignedZero, bool, 1, NoHonorInfs)
OPTION(AllowReciprocal, bool, 1, NoSignedZero)
OPTION(AllowApproxFunc, bool, 1, AllowReciprocal)
-OPTION(FPEvalMethod, LangOptions::FPEvalMethodKind, 3, AllowApproxFunc)
+OPTION(FPEvalMethod, LangOptions::FPEvalMethodKind, 2, AllowApproxFunc)
OPTION(Float16ExcessPrecision, LangOptions::ExcessPrecisionKind, 2, FPEvalMethod)
OPTION(BFloat16ExcessPrecision, LangOptions::ExcessPrecisionKind, 2, Float16ExcessPrecision)
OPTION(MathErrno, bool, 1, BFloat16ExcessPrecision)
diff --git a/clang/include/clang/Basic/LangOptions.def b/clang/include/clang/Basic/LangOptions.def
index bc68f95079dc7..930c1c06d1a76 100644
--- a/clang/include/clang/Basic/LangOptions.def
+++ b/clang/include/clang/Basic/LangOptions.def
@@ -347,21 +347,7 @@ BENIGN_ENUM_LANGOPT(DefaultFPContractMode, FPModeKind, 2, FPM_Off, "FP contracti
COMPATIBLE_LANGOPT(ExpStrictFP, 1, false, "Enable experimental strict floating point")
BENIGN_LANGOPT(RoundingMath, 1, false, "Do not assume default floating-point rounding behavior")
BENIGN_ENUM_LANGOPT(FPExceptionMode, FPExceptionModeKind, 2, FPE_Default, "FP Exception Behavior Mode type")
-
-#if defined(__clang__) && defined(__has_warning)
-#if __has_warning("-Wpreferred-type-bitfield-enum-conversion")
-// FIXME: Remove this once the warning is fixed, https://llvm.org/PR137600
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wpreferred-type-bitfield-enum-conversion"
-#endif
-#endif
-BENIGN_ENUM_LANGOPT(FPEvalMethod, FPEvalMethodKind, 3, FEM_UnsetOnCommandLine, "FP type used for floating point arithmetic")
-#if defined(__clang__) && defined(__has_warning)
-#if __has_warning("-Wpreferred-type-bitfield-enum-conversion")
-#pragma clang diagnostic pop
-#endif
-#endif
-
+BENIGN_ENUM_LANGOPT(FPEvalMethod, FPEvalMethodKind, 2, FEM_UnsetOnCommandLine, "FP type used for floating point arithmetic")
ENUM_LANGOPT(Float16ExcessPrecision, ExcessPrecisionKind, 2, FPP_Standard, "Intermediate truncation behavior for Float16 arithmetic")
ENUM_LANGOPT(BFloat16ExcessPrecision, ExcessPrecisionKind, 2, FPP_Standard, "Intermediate truncation behavior for BFloat16 arithmetic")
LANGOPT(NoBitFieldTypeAlign , 1, 0, "bit-field type alignment")
diff --git a/clang/include/clang/Basic/LangOptions.h b/clang/include/clang/Basic/LangOptions.h
index 40debd961f752..c3b6264e62659 100644
--- a/clang/include/clang/Basic/LangOptions.h
+++ b/clang/include/clang/Basic/LangOptions.h
@@ -78,21 +78,6 @@ class LangOptionsBase {
LangOptionsBase() = default;
-#if defined(__clang__) && defined( __has_warning)
-#if __has_warning("-Wpreferred-type-bitfield-enum-conversion")
-// FIXME: Remove this once the warning is fixed, https://llvm.org/PR137600
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wpreferred-type-bitfield-enum-conversion"
-#endif
-#endif
- LangOptionsBase(const LangOptionsBase&) = default;
- LangOptionsBase& operator=(const LangOptionsBase&) = default;
-#if defined(__clang__) && defined( __has_warning)
-#if __has_warning("-Wpreferred-type-bitfield-enum-conversion")
-#pragma clang diagnostic pop
-#endif
-#endif
-
enum GCMode { NonGC, GCOnly, HybridGC };
enum StackProtectorMode { SSPOff, SSPOn, SSPStrong, SSPReq };
@@ -321,10 +306,7 @@ class LangOptionsBase {
};
/// Possible float expression evaluation method choices.
- enum FPEvalMethodKind {
- /// The evaluation method cannot be determined or is inconsistent for this
- /// target.
- FEM_Indeterminable = -1,
+ enum FPEvalMethodKind : unsigned {
/// Use the declared type for fp arithmetic.
FEM_Source = 0,
/// Use the type double for fp arithmetic.
More information about the cfe-commits
mailing list