Странно, что никто раньше не написал, ибо без этого не компилится на gcc