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..

Reply via email to