mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-02-07 07:23:13 +01:00
Make align(n), n != 1 an error.
This commit is contained in:
@@ -492,10 +492,14 @@ void ProtDeclaration::toCBuffer(OutBuffer *buf, HdrGenState *hgs)
|
||||
|
||||
/********************************* AlignDeclaration ****************************/
|
||||
|
||||
AlignDeclaration::AlignDeclaration(unsigned sa, Array *decl)
|
||||
AlignDeclaration::AlignDeclaration(Loc loc, unsigned sa, Array *decl)
|
||||
: AttribDeclaration(decl)
|
||||
{
|
||||
this->loc = loc;
|
||||
salign = sa;
|
||||
|
||||
if (salign != 1)
|
||||
error("align(%d) is not implemented and specified to be unportable anyway, use align(1) and manual fillers instead", salign);
|
||||
}
|
||||
|
||||
Dsymbol *AlignDeclaration::syntaxCopy(Dsymbol *s)
|
||||
@@ -503,7 +507,7 @@ Dsymbol *AlignDeclaration::syntaxCopy(Dsymbol *s)
|
||||
AlignDeclaration *ad;
|
||||
|
||||
assert(!s);
|
||||
ad = new AlignDeclaration(salign, Dsymbol::arraySyntaxCopy(decl));
|
||||
ad = new AlignDeclaration(loc, salign, Dsymbol::arraySyntaxCopy(decl));
|
||||
return ad;
|
||||
}
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@ struct AlignDeclaration : AttribDeclaration
|
||||
{
|
||||
unsigned salign;
|
||||
|
||||
AlignDeclaration(unsigned sa, Array *decl);
|
||||
AlignDeclaration(Loc loc, unsigned sa, Array *decl);
|
||||
Dsymbol *syntaxCopy(Dsymbol *s);
|
||||
void semantic(Scope *sc);
|
||||
void toCBuffer(OutBuffer *buf, HdrGenState *hgs);
|
||||
|
||||
@@ -367,7 +367,7 @@ Array *Parser::parseDeclDefs(int once)
|
||||
n = global.structalign; // default
|
||||
|
||||
a = parseBlock();
|
||||
s = new AlignDeclaration(n, a);
|
||||
s = new AlignDeclaration(loc, n, a);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user