Author: Timm Baeder Date: 2025-11-26T06:34:26+01:00 New Revision: 8396d4c10e98fedba5d8f6861087078b2de49674
URL: https://github.com/llvm/llvm-project/commit/8396d4c10e98fedba5d8f6861087078b2de49674 DIFF: https://github.com/llvm/llvm-project/commit/8396d4c10e98fedba5d8f6861087078b2de49674.diff LOG: [clang][bytecode][NFC] Clean up Integral::from() functions (#169513) Added: Modified: clang/lib/AST/ByteCode/Integral.h Removed: ################################################################################ diff --git a/clang/lib/AST/ByteCode/Integral.h b/clang/lib/AST/ByteCode/Integral.h index 131802439f0c5..5bf6621874e69 100644 --- a/clang/lib/AST/ByteCode/Integral.h +++ b/clang/lib/AST/ByteCode/Integral.h @@ -202,26 +202,21 @@ template <unsigned Bits, bool Signed> class Integral final { static Integral min(unsigned NumBits) { return Integral(Min); } static Integral max(unsigned NumBits) { return Integral(Max); } + static Integral zero(unsigned BitWidth = 0) { return from(0); } - template <typename ValT> static Integral from(ValT Value) { - if constexpr (std::is_integral<ValT>::value) + template <typename ValT> + static Integral from(ValT Value, unsigned NumBits = 0) { + if constexpr (std::is_integral_v<ValT>) return Integral(Value); else - return Integral::from(static_cast<Integral::ReprT>(Value)); + return Integral(static_cast<Integral::ReprT>(Value)); } template <unsigned SrcBits, bool SrcSign> - static std::enable_if_t<SrcBits != 0, Integral> - from(Integral<SrcBits, SrcSign> Value) { + static Integral from(Integral<SrcBits, SrcSign> Value) { return Integral(Value.V); } - static Integral zero(unsigned BitWidth = 0) { return from(0); } - - template <typename T> static Integral from(T Value, unsigned NumBits) { - return Integral(Value); - } - static bool inRange(int64_t Value, unsigned NumBits) { return CheckRange<ReprT, Min, Max>(Value); } _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
