fix compile error on old gcc