Хотите поржать?
BOOL ShaderElement::equal(ShaderElement* S)
{
    if (nullptr == S && nullptr == this)
        return TRUE;
    if (nullptr == S || nullptr == this)
        return FALSE;
    return equal(*S);
}
gcc само собой выкидывает бессмысленные проверки, valgrind показывает что чуть позже происходит повреждение памяти. А на винде этот код работает!!! Так что это тупо защита от быдлокода, который вызывает потерю контекста.












