diff --git a/include/fast_float/bigint.h b/include/fast_float/bigint.h index 5a72caa..3ad7315 100644 --- a/include/fast_float/bigint.h +++ b/include/fast_float/bigint.h @@ -594,7 +594,12 @@ struct bigint : pow5_tables<> { exp -= small_step; } if (exp != 0) { - FASTFLOAT_TRY(small_mul(vec, limb(small_power_of_5[exp]))); + // Work around clang bug https://godbolt.org/z/zedh7rrhc + // This is similar to https://github.com/llvm/llvm-project/issues/47746, + // except the workaround described there don't work here + FASTFLOAT_TRY( + small_mul(vec, limb(((void)small_power_of_5[0], small_power_of_5[exp]))) + ); } return true;