Thank you for testing my code and for help with dub.
I have rebuilt SDL2 from source. Unwrapped macroses and found
that the error in the next code:
__m128 c128;
Uint32 __attribute__((aligned(16))) cccc[4];
cccc[0] = color; // THE ERROR IS HERE
cccc[1] = color;
cccc[2] = color;
cccc[3] = color;
c128 = *(__m128 *)cccc;
Valgrind shows it as:
==17988== Process terminating with default action of signal 11
(SIGSEGV)
==17988== General Protection Fault
==17988== at 0x4857598: SDL_FillRect4SSE (SDL_fillrect.c:139)
==17988== by 0x4857598: SDL_FillRect_REAL (SDL_fillrect.c:358)
==17988== by 0x47E109E: SDL_FillRect (SDL_dynapi_procs.h:499)
==17988== by 0x807B57F: _Dmain (source/main.d:34)
==17988== by 0x8086262:
_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv
(in /home/undefer/unDE/Source/unde/testsdl)
==17988== by 0x80861C5:
_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ7tryExecMFMDFZvZv (in
/home/undefer/unDE/Source/unde/testsdl)
==17988== by 0x808621E:
_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZv (in
/home/undefer/unDE/Source/unde/testsdl)
==17988== by 0x80861C5:
_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ7tryExecMFMDFZvZv (in
/home/undefer/unDE/Source/unde/testsdl)
==17988== by 0x808614E: _d_run_main (in
/home/undefer/unDE/Source/unde/testsdl)
==17988== by 0x807B9AB: main (in
/home/undefer/unDE/Source/unde/testsdl)
But it really doesn't help..