summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorTomasz Dąbrowski <[email protected]>2017-09-25 16:41:25 +0200
committerTomasz Dąbrowski <[email protected]>2017-09-27 14:42:27 +0200
commitf1a02dff580c846698c5ae327b9fb2959f34607c (patch)
tree840360fb4639ac766310628619dcdb1a762c76aa /include
parent381850280c036116adaffe42cc420da9c71d28a2 (diff)
downloadmruby-f1a02dff580c846698c5ae327b9fb2959f34607c.tar.gz
mruby-f1a02dff580c846698c5ae327b9fb2959f34607c.zip
fix: include\mruby/gc.h(43): warning C4200: nonstandard extension used: zero-sized array in struct/union
Diffstat (limited to 'include')
-rw-r--r--include/mruby/gc.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/mruby/gc.h b/include/mruby/gc.h
index ce214aa56..2a3ff4182 100644
--- a/include/mruby/gc.h
+++ b/include/mruby/gc.h
@@ -33,6 +33,13 @@ typedef enum {
MRB_GC_STATE_SWEEP
} mrb_gc_state;
+/* Disable MSVC warning "C4200: nonstandard extension used: zero-sized array
+ * in struct/union" when in C++ mode */
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable : 4200)
+#endif
+
typedef struct mrb_heap_page {
struct RBasic *freelist;
struct mrb_heap_page *prev;
@@ -43,6 +50,10 @@ typedef struct mrb_heap_page {
void *objects[];
} mrb_heap_page;
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
typedef struct mrb_gc {
mrb_heap_page *heaps; /* heaps for GC */
mrb_heap_page *sweeps;