From de5ce6d4613093f06de34746e865b32bcc243dd9 Mon Sep 17 00:00:00 2001
From: stijn <stinos@zoho.com>
Date: Thu, 19 Jun 2014 13:53:15 +0200
Subject: [PATCH] gc: Use simple cast instead of union to silence compiler

---
 unix/gccollect.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/unix/gccollect.c b/unix/gccollect.c
index 792913821..f24cc5249 100644
--- a/unix/gccollect.c
+++ b/unix/gccollect.c
@@ -144,15 +144,7 @@ void gc_collect(void) {
     regs_t regs;
     gc_helper_get_regs(regs);
     // GC stack (and regs because we captured them)
-#ifdef __MINGW32__
-    // The Mingw cross-compiler on Travis complains
-    // 'warning: dereferencing type-punned pointer will break strict-aliasing rules'
-    // when casting &regs to void** directly so use a union.
-    union { regs_t *r; void **ptr; } cast_regs = { &regs };
-    void **regs_ptr = cast_regs.ptr;
-#else
-    void **regs_ptr = (void**)&regs;
-#endif
+    void **regs_ptr = (void**)(void*)&regs;
     gc_collect_root(regs_ptr, ((machine_uint_t)stack_top - (machine_uint_t)&regs) / sizeof(machine_uint_t));
     gc_collect_end();
 
-- 
GitLab