fix compile on gcc 4.6+