Provided that goto operations are limited to forward and outward transfers of control, they are relatively harmless, although they do make flow analysis within an optimizing compiler more difficult.