Node: Complex Variables, Next: , Previous: Local Equivalence Areas, Up: Debugging and Interfacing



Complex Variables (COMPLEX)

As of 0.5.20, g77 defaults to handling COMPLEX types (and related intrinsics, constants, functions, and so on) in a manner that makes direct debugging involving these types in Fortran language mode difficult.

Essentially, g77 implements these types using an internal construct similar to C's struct, at least as seen by the gcc back end.

Currently, the back end, when outputting debugging info with the compiled code for the assembler to digest, does not detect these struct types as being substitutes for Fortran complex. As a result, the Fortran language modes of debuggers such as gdb see these types as C struct types, which they might or might not support.

Until this is fixed, switch to C language mode to work with entities of COMPLEX type and then switch back to Fortran language mode afterward. (In gdb, this is accomplished via set lang c and either set lang fortran or set lang auto.)