fix compile with gcc4.7+