summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Forsyth <charles.forsyth@gmail.com>2017-04-16 20:34:27 +0100
committerCharles Forsyth <charles.forsyth@gmail.com>2017-04-16 20:34:27 +0100
commit905c4a20d8772e52a3871cc5fb6a2172ae5a2f51 (patch)
treef68760bc61f584acb3779fcdab3c2f730b7462a1
parent5da01da38fbf2fd583ece152e95e70885d54d4d3 (diff)
change from Aaron R Robinson to fix interface generation when exception types appear
-rw-r--r--appl/cmd/limbo/typecheck.b4
-rw-r--r--dis/limbo.disbin343658 -> 343678 bytes
-rw-r--r--limbo/typecheck.c4
3 files changed, 6 insertions, 2 deletions
diff --git a/appl/cmd/limbo/typecheck.b b/appl/cmd/limbo/typecheck.b
index 5629500b..88060840 100644
--- a/appl/cmd/limbo/typecheck.b
+++ b/appl/cmd/limbo/typecheck.b
@@ -759,9 +759,11 @@ concheck(n: ref Node, isglobal: int)
exname(d: ref Decl): string
{
s := "";
- m := impmods.sym;
+ m: ref Sym;
if(d.dot != nil)
m = d.dot.sym;
+ else if(impmods != nil)
+ m = impmods.sym;
if(m != nil)
s += m.name+".";
if(fndec != nil)
diff --git a/dis/limbo.dis b/dis/limbo.dis
index 76c2dfb4..b4e3acac 100644
--- a/dis/limbo.dis
+++ b/dis/limbo.dis
Binary files differ
diff --git a/limbo/typecheck.c b/limbo/typecheck.c
index 52e0295d..ce3da87b 100644
--- a/limbo/typecheck.c
+++ b/limbo/typecheck.c
@@ -873,9 +873,11 @@ exname(Decl *d)
n = 0;
sprint(buf, "%d", scope-ScopeGlobal);
- m = impmods->sym;
+ m = nil;
if(d->dot)
m = d->dot->sym;
+ else if(impmods)
+ m = impmods->sym;
if(m)
n += strlen(m->name)+1;
if(fndec)