# HG changeset patch # User Frits van Bommel # Date 1242596015 -7200 # Node ID 336faed34424ad72e2c14287859be118db222386 # Parent 3af4ad55a004921905ff2fb75806e218a7396431 Allow ignored pragmas to have a body; don't ignore the body. Also, ignore errors while trying to make sense of parameters to ignored pragmas for -v. diff -r 3af4ad55a004 -r 336faed34424 dmd/attrib.c --- a/dmd/attrib.c Sun May 17 23:15:04 2009 +0200 +++ b/dmd/attrib.c Sun May 17 23:33:35 2009 +0200 @@ -1012,6 +1012,10 @@ { for (size_t i = 0; i < args->dim; i++) { + // ignore errors in ignored pragmas. + global.gag++; + unsigned errors_save = global.errors; + Expression *e = (Expression *)args->data[i]; e = e->semantic(sc); e = e->optimize(WANTvalue | WANTinterpret); @@ -1020,13 +1024,16 @@ else printf(","); printf("%s", e->toChars()); + + // restore error state. + global.gag--; + global.errors = errors_save; } if (args->dim) printf(")"); } printf("\n"); } - goto Lnodecl; } else error("unrecognized pragma(%s)", ident->toChars());