Bad GO TO

A bad GO TO occurs when a GO TO statement in an inner block transfers control to a label that is global to that block. A necessary side effect of a bad GO TO is that the block in which it occurs is exited abruptly and local variables are deallocated immediately.

A bad GO TO requires cutting back the lexical (lex) level to a more global block. To perform a bad GO TO, the operating system is invoked to cut back the stack and discard any locally declared items that occupy memory space outside of the stack, sometimes referred to as nonstack items, such as files, arrays, and interrupts.