shithub: mc

Download patch

ref: e4299d409e5f62e73346227fc9c10ed63d078000
parent: 1b09d79abf7fbb487958224eb148dd66bf38b253
author: Ori Bernstein <[email protected]>
date: Wed Dec 25 13:05:51 EST 2013

Don't make shadowed vars conflict.

    When specializing (which is the only place that we install
    names after the nested scopes get linked), we would error if
    a generic's argument list contained a name declared in one of
    the super scopes.

    This fixes that problem.

--- a/parse/stab.c
+++ b/parse/stab.c
@@ -174,7 +174,7 @@
 {
     Node *d;
 
-    d = getdcl(st, s->decl.name);
+    d = htget(st->dcl, s->decl.name);
     if (d)
         fatal(s->line, "%s already declared (on line %d)", namestr(s->decl.name), d->line);
     if (st->name)