digitalmars.D.bugs - [Issue 7362] New: forward referenced inner struct with align(1) doesn't add to offset of next field when used inside a union of another struct, that is nested in the same outer struct
- d-bugmail puremagic.com (42/42) Jan 24 2012 http://d.puremagic.com/issues/show_bug.cgi?id=7362
- d-bugmail puremagic.com (10/10) Apr 19 2012 http://d.puremagic.com/issues/show_bug.cgi?id=7362
- d-bugmail puremagic.com (12/12) Apr 20 2012 http://d.puremagic.com/issues/show_bug.cgi?id=7362
http://d.puremagic.com/issues/show_bug.cgi?id=7362 Summary: forward referenced inner struct with align(1) doesn't add to offset of next field when used inside a union of another struct, that is nested in the same outer struct Product: D Version: D2 Platform: All OS/Version: Linux Status: NEW Keywords: wrong-code Severity: minor Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: Marco.Leise gmx.de --- Comment #0 from Marco Leise <Marco.Leise gmx.de> 2012-01-24 10:49:06 PST --- This happened to me when I designed data structures for CD sectors, and used an outer struct to wrap all the different sector layouts (Mode1/2 CDs, ...). The short code below is more suited for a unittest: struct Outer { struct Inner1 { union { Inner2 a; } byte I_AM_AT_THE_WRONG_OFFSET; } align(1) struct Inner2 { ubyte x; } } void main() { writeln(Outer.Inner1.I_AM_AT_THE_WRONG_OFFSET.offsetof); } This prints '0', which means that field 'I_AM_AT_THE_WRONG_OFFSET' wasn't correctly offset behind field 'a'. It works correctly when a) align(1) is removed b) Inner2 is declared before Inner1 c) 'a' is not inside a union block -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 24 2012
http://d.puremagic.com/issues/show_bug.cgi?id=7362 SomeDude <lovelydear mailmetrash.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lovelydear mailmetrash.com --- Comment #1 from SomeDude <lovelydear mailmetrash.com> 2012-04-19 14:44:01 PDT --- Returns 1 on Win32 2.059 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 19 2012
http://d.puremagic.com/issues/show_bug.cgi?id=7362 Marco Leise <Marco.Leise gmx.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Target Milestone|--- |2.059 --- Comment #2 from Marco Leise <Marco.Leise gmx.de> 2012-04-20 08:55:45 PDT --- Yes, it has been fixed in the mean time. Add this to the solved bugs for 2.059! -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 20 2012