Summary: | bad DW_AT_data_member_location from g++ | ||
---|---|---|---|
Product: | gcc | Reporter: | Tom Tromey <tromey> |
Component: | debug | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | david.plumb, dodji, gcc-bugs |
Priority: | P3 | ||
Version: | 4.5.0 | ||
Target Milestone: | --- | ||
Host: | Target: | HWi == 32bits | |
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | ||
Attachments: | gcc46-pr41048.patch |
Description
Tom Tromey
2009-08-12 19:18:38 UTC
I think this only happens for HWI == 32bits. It works for me with a compiler for ppc64-linux-gnu but fails with i686-linux-gnu. (Oh it works for i386-darwin too which has HWI as being 64bits). One more reason to change HWI for x86 to be 64bits by default. Created attachment 20733 [details] gcc46-pr41048.patch Untested fix. Subject: Bug 41048 Author: jakub Date: Fri May 28 13:46:46 2010 New Revision: 159975 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159975 Log: PR debug/41048 * dwarf2out.c (double_int_type_size_in_bits): New function. (round_up_to_align): Change first argument and return value to double_int. (field_byte_offset): Work internally on double_ints. Modified: trunk/gcc/ChangeLog trunk/gcc/dwarf2out.c Fixed. |