fix compile with gcc 4.6.4