https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90109

--- Comment #5 from Jim Wilson <wilson at gcc dot gnu.org> ---
Stabs requires that we emit info for all of the base types at the start.  But
if one of the base types does not exist for a 32-bit K&R C target, then we are
struck, as that can't be described.  And if we can't describe one or more of
the base types, then we can't safely describe derived types. Currently, we just
lie about the base types we can't describe, which lets us emit debug info for
the derived types that we can describe.  It is possible to describe some things
as derived types that can't be described as base types.  But if we aren't
allowed to lie about base types, then we probably have to refuse to emit any
debug info at all for the file, which doesn't help.

You can get correct debug info for this testcase if you use
stabs-plus-gdb-extensions.  At least until you try to use some language feature
invented in the last decade or two that we never added
stabs-plus-gdb-extensions support for, and then you are screwed again.

Which takes me back to don't use stabs again.

Reply via email to