diff --git a/micropython/py/stackctrl.c b/micropython/py/stackctrl.c
index c2f3adb5eedcd77a64dd22835e6f859a333d9d4b..c2566ebad92b84e0421cc77dd65f6c5fa2e04561 100644
--- a/micropython/py/stackctrl.c
+++ b/micropython/py/stackctrl.c
@@ -28,8 +28,15 @@
 #include "py/stackctrl.h"
 
 void mp_stack_ctrl_init(void) {
+    #if __GNUC__ >= 13
+    #pragma GCC diagnostic push
+    #pragma GCC diagnostic ignored "-Wdangling-pointer"
+    #endif
     volatile int stack_dummy;
     MP_STATE_THREAD(stack_top) = (char *)&stack_dummy;
+    #if __GNUC__ >= 13
+    #pragma GCC diagnostic pop
+    #endif
 }
 
 void mp_stack_set_top(void *top) {