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 8957f55d531472e8ee742cc1e8d74deba2b6997d
parent 5f75e0b752978450bac1fd82b977727bebce52f3
Author: Michael Forney <mforney@mforney.org>
Date:   Sat, 13 Apr 2019 19:37:36 -0700

decl: Allow `register` in old-style parameter declarations

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

diff --git a/decl.c b/decl.c @@ -609,11 +609,14 @@ paramdecl(struct scope *s, struct param *params) { struct param *p; struct qualtype t, base; + enum storageclass sc; char *name; - base = declspecs(s, NULL, NULL, NULL); + base = declspecs(s, &sc, NULL, NULL); if (!base.type) return false; + if (sc && sc != SCREGISTER) + error(&tok.loc, "parameter declaration has invalid storage-class specifier"); for (;;) { t = declarator(s, base, &name, false); for (p = params; p && strcmp(name, p->name) != 0; p = p->next)