Mercurial > projects > ldc
diff dmd/attrib.c @ 710:20a5180f2e80
Make align(n), n != 1 an error.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sat, 18 Oct 2008 14:33:11 +0200 |
parents | 6aaa3d3c1183 |
children | b654bb98d31d |
line wrap: on
line diff
--- a/dmd/attrib.c Thu Oct 16 22:36:26 2008 +0200 +++ b/dmd/attrib.c Sat Oct 18 14:33:11 2008 +0200 @@ -492,10 +492,14 @@ /********************************* 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 @@ AlignDeclaration *ad; assert(!s); - ad = new AlignDeclaration(salign, Dsymbol::arraySyntaxCopy(decl)); + ad = new AlignDeclaration(loc, salign, Dsymbol::arraySyntaxCopy(decl)); return ad; }