sigh, you so crazy gcc