comply with gcc4.6