On 5/10/22 02:15, Pedro Alves via Dwarf-Discuss wrote:
  But still, at the language level, the types ARE different.  And DWARF is
also about language source to machine code mapping.  C/C++ don't let you take 
the
address of a bitfield, for example, so it's possible type expressions in the
debugger that behave differently depending on what the DWARF described.

In a previous email in this thread, I mentioned that I thought "char a;"
and "char a:8" in a struct were equivalent.  I forgot about the
restriction on using the address operator, mentioned in ISO C Sect.
6.5.3.2 (at least, in the old copy I have).  They are not equivalent.
Thanks for reminding me.

So in my view, you'd want a producer to always indicate that the field
is a bitfield somehow, even if the memory layout wouldn't change, i.e.,
regardless of ABI.

Maybe we can convince Clang folks of the same as GCC, that certainly sounds 
simpler,
but I figured that maybe there would be agreement that the spec itself should 
be tweaked
in this direction, if every producer would come to the same conclusion.

It's better to propose a change to the DWARF Standard.

You can submit a proposal on the Public Comment page:
https://dwarfstd.org/Comment.php.  Describe the issue briefly and, if
possible, please specify the change to the wording of the DWARF
Standard that would think appropriate.

--
Michael Eager
_______________________________________________
Dwarf-Discuss mailing list
Dwarf-Discuss@lists.dwarfstd.org
http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org

Reply via email to