summaryrefslogtreecommitdiff
path: root/thread_win32.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-05-04 10:08:23 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-05-04 10:08:23 +0900
commitef406a6c215d70139364c62a2b4c94dc65e101a4 (patch)
tree20ae12b08ae5a34247108f07cd6e750f9d85f8cb /thread_win32.c
parent7a3dd05e21078ccc62c70a5047fcf6c128754fc7 (diff)
Suppress maybe-uninitialized warning by mingw gcc 11
Diffstat (limited to 'thread_win32.c')
-rw-r--r--thread_win32.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/thread_win32.c b/thread_win32.c
index f4b4ea214c..04c48653c5 100644
--- a/thread_win32.c
+++ b/thread_win32.c
@@ -546,6 +546,17 @@ ruby_init_stack(volatile VALUE *addr)
#define CHECK_ERR(expr) \
{if (!(expr)) {rb_bug("err: %lu - %s", GetLastError(), #expr);}}
+COMPILER_WARNING_PUSH
+#if defined(__GNUC__)
+COMPILER_WARNING_IGNORED(-Wmaybe-uninitialized)
+#endif
+static inline SIZE_T
+query_memory_basic_info(PMEMORY_BASIC_INFORMATION mi)
+{
+ return VirtualQuery(mi, mi, sizeof(*mi));
+}
+COMPILER_WARNING_POP
+
static void
native_thread_init_stack(rb_thread_t *th)
{
@@ -553,7 +564,7 @@ native_thread_init_stack(rb_thread_t *th)
char *base, *end;
DWORD size, space;
- CHECK_ERR(VirtualQuery(&mi, &mi, sizeof(mi)));
+ CHECK_ERR(query_memory_basic_info(&mi));
base = mi.AllocationBase;
end = mi.BaseAddress;
end += mi.RegionSize;