17.3. Returning from a Function

return, return expression

You can cancel execution of a function call with the return command. If you give an expression argument, its value is used as the function's return value.

When you use return, the debugger discards the selected stack frame (and all frames within it). You can think of this as making the discarded frame return prematurely. If you wish to specify a value to be returned, give that value as the argument to return.

This pops the selected stack frame (see Section 12.3.), and any other frames inside of it, leaving its caller as the innermost remaining frame. That frame becomes selected. The specified value is stored in the registers used for returning values of functions.

The return command does not resume execution; it leaves the program stopped in the state that would exist if the function had just returned. In contrast, the finish command (see Section 11.2.) resumes execution until the selected stack frame returns naturally.