From 7dec6e776e3b3d016eb38bedd94bd9c967da88ba Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 17 Jun 2022 10:06:07 +0900 Subject: [PATCH] mruby-random/random.c: pointer to uint32_t cast may fail with clang. --- mrbgems/mruby-random/src/random.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mrbgems/mruby-random/src/random.c b/mrbgems/mruby-random/src/random.c index a3e899b26..ac5f39f61 100644 --- a/mrbgems/mruby-random/src/random.c +++ b/mrbgems/mruby-random/src/random.c @@ -205,7 +205,7 @@ random_m_srand(mrb_state *mrb, mrb_value self) rand_state *t = random_ptr(self); if (mrb_get_args(mrb, "|i", &i) == 0) { - seed = (uint32_t)time(NULL) ^ rand_uint32(t) ^ (uint32_t)t; + seed = (uint32_t)time(NULL) ^ rand_uint32(t) ^ (uint32_t)(uintptr_t)t; } else { seed = (uint32_t)i; @@ -426,7 +426,7 @@ void mrb_mruby_random_gem_init(mrb_state *mrb) mrb_const_set(mrb, mrb_obj_value(random), MRB_SYM(DEFAULT), d); uint32_t seed = (uint32_t)time(NULL); - rand_seed(t, seed ^ (uint32_t)t); + rand_seed(t, seed ^ (uint32_t)(uintptr_t)t); } void mrb_mruby_random_gem_final(mrb_state *mrb)