[sgen] Avoid designated initializer.
authorJon Purdy <evincarofautumn@gmail.com>
Tue, 12 May 2015 17:55:33 +0000 (10:55 -0700)
committerJon Purdy <evincarofautumn@gmail.com>
Thu, 3 Sep 2015 23:25:14 +0000 (16:25 -0700)
Designated-initializer expressions are not considered constant
expressions, so they can't be used to initialize static variables.

mono/sgen/sgen-gchandles.c

index ba0161ac46621e775c2695d059033412f44173bd..8e96c718dd3f676d2133d287cff798cee2524dca 100644 (file)
@@ -146,22 +146,11 @@ try_occupy_slot (HandleData *handles, guint bucket, guint offset, GCObject *obj,
        return try_set_slot (link_addr, obj, NULL, handles->type) != NULL;
 }
 
-#define EMPTY_HANDLE_DATA(t) \
-       (HandleData) { \
-               .entries = { NULL }, \
-               .capacity = 0, \
-               .slot_hint = 0, \
-               .max_index = 0, \
-               .type = (t) \
-       }
-
-/* weak and weak-track arrays will be allocated in malloc memory 
- */
 static HandleData gc_handles [] = {
-       EMPTY_HANDLE_DATA (HANDLE_WEAK),
-       EMPTY_HANDLE_DATA (HANDLE_WEAK_TRACK),
-       EMPTY_HANDLE_DATA (HANDLE_NORMAL),
-       EMPTY_HANDLE_DATA (HANDLE_PINNED)
+       { { NULL }, 0, 0, 0, (HANDLE_WEAK) },
+       { { NULL }, 0, 0, 0, (HANDLE_WEAK_TRACK) },
+       { { NULL }, 0, 0, 0, (HANDLE_NORMAL) },
+       { { NULL }, 0, 0, 0, (HANDLE_PINNED) }
 };
 
 static HandleData *