Debugging with GDB Manual (5900-1473; WDB 6.2; January 2011)

Table Of Contents
'.cxx',
'.c++'
'.f',
'.F',
'.f90'
Fortran source file. GDB does not distinguish between Fortran 77 and Fortran
90 files.
'.s',
'.S'
Assembler source file. This actually behaves almost like C, but GDB does not
skip over function prologues when stepping.
In addition, you may set the language associated with a filename extension. See
“Displaying the language” (page 96).
9.1.2 Setting the working language
If you allow GDB to set the language automatically, expressions are interpreted the same
way in your debugging session and your program.
If you wish, you may set the language manually. To do this, issue the command 'set
language lang', where lang is the name of a language, such as c. For a list of the
supported languages, type 'set language'.
Setting the language manually prevents GDB from updating the working language
automatically. This can lead to confusion if you try to debug a program when the working
language is not the same as the source language, when an expression is acceptable to
both languages―but means different things. For instance, if the current source file was
written in C, and GDB was parsing Modula-2, a command such as:
print a = b + c
might not have the effect you intended. In C, this means to add b and c and place the
result in a. The result printed would be the value of a. In Modula-2, this means to compare
a to the result of b+c, yielding a BOOLEAN value.
9.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.
9.1 Switching between source languages 95