This changes 2 things to achieve compatibility with MSVC:
The GNU specific function attribute constructor was replaced by a new INITIALIZER(_name) macro which creates a function which behaves similar on MSVC and GNU. Please confirm if this still works in clang or other compilers.
Ports to other compilers would be appreciated.
The heap size was at 2 GiB which already caused overflows. Furthermore my Windows VM only had 1 GiB of free RAM left. Overall if feels like Windows is somewhat worse at overcomitting or giving you the RAM you ask for. 1 GiB is still enough for testing until someone fixes #14 .
I've tested this change with the latest x64 MinGW (MSYS2), x86/x64 MSVC 2017 (Windows 10), and x64 gcc (Arch Linux).
Please test if this change still works on macOS @mborgerson
(I'll leave this open for 1-2 days probably, unless I can confirm that this works fine on macOS earlier)
This changes 2 things to achieve compatibility with MSVC:
The GNU specific function attribute
constructor
was replaced by a newINITIALIZER(_name)
macro which creates a function which behaves similar on MSVC and GNU. Please confirm if this still works in clang or other compilers. Ports to other compilers would be appreciated.The heap size was at 2 GiB which already caused overflows. Furthermore my Windows VM only had 1 GiB of free RAM left. Overall if feels like Windows is somewhat worse at overcomitting or giving you the RAM you ask for. 1 GiB is still enough for testing until someone fixes #14 .
I've tested this change with the latest x64 MinGW (MSYS2), x86/x64 MSVC 2017 (Windows 10), and x64 gcc (Arch Linux). Please test if this change still works on macOS @mborgerson
(I'll leave this open for 1-2 days probably, unless I can confirm that this works fine on macOS earlier)