 C has this ability via the ANSI C setjmp and longjmp.This is equivalent, but arguably less safe, since it stores program specific information like jump addresses and stack frames in a programmer accessible structure.Pascal routines that return a value are called functions; routines that don't return a value are called procedures.