--- Comment #11 from Daniel Green <> 2012-01-30 08:06:37 PST ---
(In reply to comment #9)
> The addition of an align(0) is not the right solution.

    `align:` becomes`align(8)`.  Ambiguous. default alignment or 8 byte? 

Using 0,
    `align:` becomes `align(0)`.  Now if 0, default alignment is requested.

I'm not suggesting adding align(0).  I'm suggesting setting the internal
variable to 0 when default alignment is wanted.  The reason for this is the
knowledge that default alignment is required is only available to the parser
and not saved.

The biggest issue with this method is that if new code is added which uses the
structalign field of a scope block.  It must also check for 0.  This could be
alleviated by removing direct access to structalign and adding 2 member

Scope::alignsize() - return (structalign ? structalign : global.structalign);
Scope::isDefaultAlignment() - return !structalign


The original patch is designed to allow GDC to do what it's been doing without
breaking DMD or diverging the source more than necessary.  Since you have
suggested DMD should change to match gcc on gcc platforms.  It should be
considered invalid as any solution for DMD will solve the problem for GDC as

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to