[Issue 7396] Indicate default alignment with 0.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Jan 30 12:01:17 PST 2012
http://d.puremagic.com/issues/show_bug.cgi?id=7396
--- Comment #14 from Daniel Green <venix1 at gmail.com> 2012-01-30 12:01:15 PST ---
The statement:
`align:` becomes `align(8)`
in based entirely on how the parser handles the align attribute.
// excerpt from parse.c line 503.
case TOKalign:
{ unsigned n;
s = NULL;
nextToken();
if (token.value == TOKlparen)
{
nextToken();
if (token.value == TOKint32v && token.uns64value > 0)
n = (unsigned)token.uns64value;
else
{ error("positive integer expected, not %s", token.toChars());
n = 1;
}
nextToken();
check(TOKrparen);
}
else
n = global.structalign; // default
a = parseBlock();
s = new AlignDeclaration(n, a);
break;
}
When `align:` is encountered n is set to global.structalign. This makes the
statement equal to `align(8)`.
It's not that I don't understand that `align:` means default alignment and
should be treated differently than `align(8)`. It's that only the parser knows
that and currently doesn't convey that information.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list