This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Debug info for 'complex' types

While otherwise fixing complex value support in GDB, I came across this

Sun Jul 23 11:52:03 2000  George Helffrich (

        * dbxout.c (dbxout_type, case COMPLEX_TYPE): Fix length field in stab.

It's wrong - the GDB stabs reader says:
  /* If n3 is zero and n2 is positive, we want a floating type, and n2
     is the width in bytes.

     Fortran programs appear to use this for complex types also.  To
     distinguish between floats and complex, g77 (and others?)  seem
     to use self-subranges for the complexes, and subranges of int for
     the floats.

     Also note that for complexes, g77 sets n2 to the size of one of
     the member floats, not the whole complex beast.  My guess is that
     this was to work well with pre-COMPLEX versions of gdb. */

This was true as late as 2.95.3, and broken by this patch.  Can it be
reverted for 3.0.4 and 3.1, please?  There's no way for GDB to tell if this
change is present or not in any reasonable fashion, so there is no way to
support it.

Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]