[Bug debug/12500] stabs debug info -- void no longer a predefined / builtin type

dtaylor at emc dot com gcc-bugzilla@gcc.gnu.org
Fri Oct 10 16:59:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12500



------- Additional Comments From dtaylor at emc dot com  2003-10-10 16:59 -------
Subject:  stabs debug info -- void no longer a predefined / builtin type

    ------- Additional Comments From drow at gcc dot gnu dot org  2003-10-10 14:23 -
    ------
    Hi David,

    Could you provide a testcase where the missing type causes a problem?

I don't have one handy; but, with some hints / help, I'd be glad to.

How does one write a gcc (not gdb!) testcase to test the debug information?
Are there existing examples?

BTW, I consider my one line fix to be low risk because:

. it does not affect code generation for ANY targets, regardless of
  the command line options

. it only affects stabs debug information

. the function modified is only called once; and it only produces one
additional line of stabs output -- a line of output that was present in
2.95.3.

. the compiler bootstraps just fine

. void was the only deletion; and it appears to have been done
accidentally as a side effect of another change (so, I believe that
putting it back is "the right fix").

. we are using it in house and it works

NOTE: The problem was initially observed internally using a locally
written stabs parser.

I believe that there were structs containing pointers to void and they
got mis-represented as either instances of non-existent types or self
referential types or some such.

The types printed in 2.95.3 permit you to generate correct debug
information for things like:

    void *foo;

Whereas I believe that the types printed in 3.3.1 -- wihich do not
contain a void of any flavor -- do not permit such.



More information about the Gcc-bugs mailing list