##### 15.4.1.5 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.