fix gcc bug