manpagez: man pages & more
info gdb
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.3.1 An Overview of Type Checking

Some languages, such as Modula-2, are strongly typed, meaning that the arguments to operators and functions have to be of the correct type, otherwise an error occurs. These checks prevent type mismatch errors from ever causing any run-time problems. For example,

1 + 2 ⇒ 3
error--> 1 + 2.3

The second example fails because the CARDINAL 1 is not type-compatible with the REAL 2.3.

For the expressions you use in No value for GDBN commands, you can tell the No value for GDBN type checker to skip checking; to treat any mismatches as errors and abandon the expression; or to only issue warnings when type mismatches occur, but evaluate the expression anyway. When you choose the last of these, No value for GDBN evaluates expressions like the second example above, but also issues a warning.

Even if you turn type checking off, there may be other reasons related to type that prevent No value for GDBN from evaluating an expression. For instance, No value for GDBN does not know how to add an int and a struct foo. These particular type errors have nothing to do with the language in use, and usually arise from expressions, such as the one described above, which make little sense to evaluate anyway.

Each language defines to what degree it is strict about type. For instance, both Modula-2 and C require the arguments to arithmetical operators to be numbers. In C, enumerated types and pointers can be represented as numbers, so that they are valid arguments to mathematical operators. See section Supported Languages, for further details on specific languages.

No value for GDBN provides some additional commands for controlling the type checker:

set check type auto

Set type checking on or off based on the current working language. See section Supported Languages, for the default settings for each language.

set check type on
set check type off

Set type checking on or off, overriding the default setting for the current working language. Issue a warning if the setting does not match the language default. If any type mismatches occur in evaluating an expression while type checking is on, No value for GDBN prints a message and aborts evaluation of the expression.

set check type warn

Cause the type checker to issue warnings, but to always attempt to evaluate the expression. Evaluating the expression may still be impossible for other reasons. For example, No value for GDBN cannot add numbers and structures.

show type

Show the current setting of the type checker, and whether or not No value for GDBN is setting it automatically.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]
© 2000-2021
Individual documents may contain additional copyright information.