#### 15.1.3 Having GDB Infer the Source Language ¶

To have GDB set the working language automatically, use ‘`set language local`’ or ‘`set language auto`’. GDB then infers the working language. That is, when your program stops in a frame (usually by encountering a breakpoint), GDB sets the working language to the language recorded for the function in that frame. If the language for a frame is unknown (that is, if the function or block corresponding to the frame was defined in a source file that does not have a recognized extension), the current working language is not changed, and GDB issues a warning.

This may not seem necessary for most programs, which are written entirely in one source language. However, program modules and libraries written in one source language can be used by a main program written in a different source language. Using ‘`set language auto`’ in this case frees you from having to set the working language manually.

The warning is enabled by default, but it can be controlled via a setting:

`set warn-language-frame-mismatch [on|off]` ¶

  Enable or disable the warning that is issued when the current language is set to a value that does not match the current frame.

`show warn-language-frame-mismatch`

  Show whether the frame-mismatch warning will be issued.