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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
I don't read any ambiguity.  How DW_FORM_data1 255 is interpreted depends on
context - but if the context only says 'int', then this is not enough
context to decide if <unknown-sign> char 255 is supposed to be sign or
zero-extended to 'int'.  A reasonable interpretation would be that the
producer would only truncate the data when there is no such ambiguity,
either resulting in DW_FORM_data2 255 or in the consumer assuming
zero-extension(?)

IMO LLVM in this case is the one to blame for any ambiguity and it should
not truncate using DW_FORM_dataN when the result has the sign bit not zero.

Reply via email to