summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--appl/cmd/limbo/limbo.y4
-rw-r--r--appl/cmd/limbo/types.b2
-rw-r--r--dis/limbo.disbin343678 -> 343687 bytes
-rw-r--r--limbo/limbo.y4
-rw-r--r--limbo/types.c4
-rw-r--r--module/draw.m2
6 files changed, 8 insertions, 8 deletions
diff --git a/appl/cmd/limbo/limbo.y b/appl/cmd/limbo/limbo.y
index 2f7d3ba8..4eb4af8a 100644
--- a/appl/cmd/limbo/limbo.y
+++ b/appl/cmd/limbo/limbo.y
@@ -655,13 +655,13 @@ ftype : nids ':' type
{
$$ = mkids($1.src, enter("junk", 0), $3, nil);
$$.store = Darg;
- yyerror("illegal argument declaraion");
+ yyerror("illegal argument declaration");
}
| idterms ':' adtk
{
$$ = mkids($1.src, enter("junk", 0), $3, nil);
$$.store = Darg;
- yyerror("illegal argument declaraion");
+ yyerror("illegal argument declaration");
}
;
diff --git a/appl/cmd/limbo/types.b b/appl/cmd/limbo/types.b
index 6b1802e5..2ee207b3 100644
--- a/appl/cmd/limbo/types.b
+++ b/appl/cmd/limbo/types.b
@@ -1775,7 +1775,7 @@ cycfield(base: ref Type, id: ref Decl)
+id.sym.name+" of "+stypeconv(base));
id.cycerr = byte 1;
}else if(arc & ArcCyc){
- if((arc & ArcArray) && id.cyc == byte 0 && !(arc & ArcPolycyc)){
+ if((arc & ArcArray) && oldcycles && id.cyc == byte 0 && !(arc & ArcPolycyc)){
if(id.cycerr == byte 0)
error(base.src.start, "illegal circular reference to type "+typeconv(id.ty)
+" in field "+id.sym.name+" of "+stypeconv(base));
diff --git a/dis/limbo.dis b/dis/limbo.dis
index b4e3acac..d6e949ed 100644
--- a/dis/limbo.dis
+++ b/dis/limbo.dis
Binary files differ
diff --git a/limbo/limbo.y b/limbo/limbo.y
index a6ccab90..f869f01c 100644
--- a/limbo/limbo.y
+++ b/limbo/limbo.y
@@ -582,13 +582,13 @@ ftype : nids ':' type
{
$$ = mkids(&$1->src, enter("junk", 0), $3, nil);
$$->store = Darg;
- yyerror("illegal argument declaraion");
+ yyerror("illegal argument declaration");
}
| idterms ':' adtk
{
$$ = mkids(&$1->src, enter("junk", 0), $3, nil);
$$->store = Darg;
- yyerror("illegal argument declaraion");
+ yyerror("illegal argument declaration");
}
;
diff --git a/limbo/types.c b/limbo/types.c
index 6d231115..c8105d5a 100644
--- a/limbo/types.c
+++ b/limbo/types.c
@@ -2024,7 +2024,7 @@ cycfield(Type *base, Decl *id)
id->sym->name, base);
id->cycerr = 1;
}else if(arc & ArcCyc){
- if((arc & ArcArray) && id->cyc == 0 && !(arc & ArcPolycyc)){
+ if((arc & ArcArray) && oldcycles && id->cyc == 0 && !(arc & ArcPolycyc)){
if(id->cycerr == 0)
error(base->src.start, "illegal circular reference to type %T in field %s of %t",
id->ty, id->sym->name, base);
@@ -3466,7 +3466,7 @@ expandtype(Type *t, Type *instt, Decl *adtt, Tpair **tp)
if(t == nil)
return nil;
-if(debug['w']) print("expandtype %d %lux %T\n", t->kind, (ulong)t, t);
+if(debug['w']) print("expandtype %d %#p %T\n", t->kind, t, t);
if(!toccurs(t, tp))
return t;
if(debug['w']) print("\texpanding\n");
diff --git a/module/draw.m b/module/draw.m
index 730e62ac..a9dabd8f 100644
--- a/module/draw.m
+++ b/module/draw.m
@@ -91,7 +91,7 @@ Draw: module
RGB15: con Chans(((CIgnore<<4)|1)<<24 | ((CRed<<4)|5)<<16 | ((CGreen<<4)|5)<<8 | ((CBlue<<4)|5));
RGB16: con Chans(((CRed<<4)|5)<<16 | ((CGreen<<4)|6)<<8 | ((CBlue<<4)|5));
RGB24: con Chans(((CRed<<4)|8)<<16 | ((CGreen<<4)|8)<<8 | ((CBlue<<4)|8));
- RGBA32: con Chans((((CRed<<4)|8)<<16 | ((CGreen<<4)|8)<<8 | ((CBlue<<4)|8))<<8 | ((CAlpha<<4)|8));
+ RGBA32: con Chans((((CRed<<4)|8)<<24 | ((CGreen<<4)|8)<<16 | ((CBlue<<4)|8))<<8 | ((CAlpha<<4)|8));
ARGB32: con Chans(((CAlpha<<4)|8)<<24 | ((CRed<<4)|8)<<16 | ((CGreen<<4)|8)<<8 | ((CBlue<<4)|8)); # stupid VGAs
XRGB32: con Chans(((CIgnore<<4)|8)<<24 | ((CRed<<4)|8)<<16 | ((CGreen<<4)|8)<<8 | ((CBlue<<4)|8)); # stupid VGAs