15.4.1.5 C and C++ Type and Range Checks

By default, when GDB parses C or C++ expressions, strict type
checking is used. However, if you turn type checking off, GDB
will allow certain non-standard conversions, such as promoting integer
constants to pointers.

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.