New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
backend: dwarfdbginf: Remove artificial attributes on wchar_t typedef #13247
Conversation
Thanks for your pull request, @ljmf00! Bugzilla references
Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub run digger -- build "master + dmd#13247" |
Sounds right. I'll have a look at the spec just in case. Got any ref for us ? |
I wonder why this is necessary. This doesn't work particularly with I'm surprised that only LLDB hangs on this, although According to the specification in
I interpret
For now, I'm going to change this to match the C/C++ behaviour.
We shouldn't use this type for D anyway, since |
6520664
to
b659e97
Compare
debug_info.buf.write16(1); // DW_AT_decl_line | ||
typidx_tab[ty] = idx; | ||
debug_info.buf.writeByte(tysize(TYint)); // DW_AT_byte_size | ||
debug_info.buf.writeByte(DW_ATE_signed); // DW_AT_encoding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is technically signed because it mimics the int
type. This behaviour complies with clang/gcc debug info.
Since this logic belongs to DMC I'm not going to test this here, unless we have some test suite for SCPP version. I'm going to stack a PR on top of this to implement |
According to DWARF, declaration coordinates are not mandatory and wchar_t is currently an artificial typedef. We should not generate DECL attributes for such artificial TAGs. Fixes #22467 . Signed-off-by: Luís Ferreira <contact@lsferreira.net>
b659e97
to
9295f90
Compare
Can you re-review @Geod24 ? |
According to DWARF, declaration coordinates are not mandatory and wchar_t is
currently an artificial typedef. We should not generate DECL attributes for
such artificial TAGs.
Signed-off-by: Luís Ferreira contact@lsferreira.net