cproc

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.nihaljere.xyz/cproc
Log | Files | Refs | Submodules | README | LICENSE

commit bb3a22a3eb6b0b2be52620577c1ef5465d3bcd76
parent f41c37d7be16f7845795bae95e1356ca1f7a2fd6
Author: Michael Forney <mforney@mforney.org>
Date:   Sun, 19 May 2019 01:06:03 -0700

decl: Allow zero length arrays

gcc allows this, and glibc uses it in some headers instead of flexible
array members.

Diffstat:
Mdecl.c | 4++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/decl.c b/decl.c @@ -552,8 +552,8 @@ declaratortypes(struct scope *s, struct list *result, char **name, bool allowabs if (e->kind != EXPRCONST || !(e->type->prop & PROPINT)) error(&tok.loc, "VLAs are not yet supported"); i = e->constant.i; - if (i == 0 || e->type->basic.issigned && i > INT64_MAX) - error(&tok.loc, "array length must be positive"); + if (e->type->basic.issigned && i > INT64_MAX) + error(&tok.loc, "array length must be non-negative"); delexpr(e); expect(TRBRACK, "after array length"); }