================
@@ -100,12 +100,13 @@ template <bool Signed> class IntegralAP final {
   }
   static IntegralAP from(const Boolean &B) {
     assert(false);
-    return IntegralAP::zero();
+    return IntegralAP::zero(1);
   }
 
-  static IntegralAP zero() {
-    assert(false);
-    return IntegralAP(0);
+  static IntegralAP zero(int32_t BitWidth) {
+    APSInt V =
+        APSInt(APInt(BitWidth, static_cast<int64_t>(0), Signed), !Signed);
----------------
AaronBallman wrote:

Oh wow, that's... neat. The explicit cast is also fine, but perhaps should be 
to `uint64_t` to remove one more implicit conversion step.

https://github.com/llvm/llvm-project/pull/68081
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to