added a gcc wrong-code bug