gdb.info: C Checks

Go forward to Debugging C
Go backward to C Defaults
Go up to C
Go to the top op gdb

C and C++ type and range checks

By default, when GDB parses C or C++ expressions, type checking is not
used.  However, if you turn type checking on, GDB considers two
variables type equivalent if:
   * The two variables are structured and have the same structure,
     union, or enumerated tag.
   * The two variables have the same type name, or types that have been
     declared equivalent through `typedef'.
   Range checking, if turned on, is done on mathematical operations.
Array indices are not checked, since they are often used to index a
pointer that is not itself an array.