https://github.com/ojhunt updated https://github.com/llvm/llvm-project/pull/137661
>From a52df39baea119a5a7b13dd8d98dd145522f6293 Mon Sep 17 00:00:00 2001 From: Oliver Hunt <oli...@apple.com> Date: Thu, 24 Apr 2025 13:30:40 -0700 Subject: [PATCH 1/2] [clang] Remove FEM_Indeterminable Remove FEM_Indeterminable as it is unused and cannot be stored safely in an unsigned bitfield --- clang/include/clang/Basic/FPOptions.def | 2 +- clang/include/clang/Basic/LangOptions.def | 16 +--------------- clang/include/clang/Basic/LangOptions.h | 5 +---- 3 files changed, 3 insertions(+), 20 deletions(-) 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..ed873faa851b7 100644 --- a/clang/include/clang/Basic/LangOptions.h +++ b/clang/include/clang/Basic/LangOptions.h @@ -321,10 +321,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. >From 5bb81005271cab6271393b58634b195fcc7d5503 Mon Sep 17 00:00:00 2001 From: Oliver Hunt <oli...@apple.com> Date: Fri, 2 May 2025 12:45:42 -0700 Subject: [PATCH 2/2] Revert c2a62af --- clang/include/clang/Basic/LangOptions.h | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/clang/include/clang/Basic/LangOptions.h b/clang/include/clang/Basic/LangOptions.h index ed873faa851b7..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 }; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits