Add for libraries.
[jmk] --rw-rw-r-- M 107020 glenda sys 454 Nov 19 20:52 sys/src/cmd/cc/compat.c
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/cc/compat.c:40,42 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/cc/compat.c:40,47
memset(v, 0, size);
return v;
}
+
+ void
+ setmalloctag(void*, ulong)
+ {
+ }
[jmk] --rw-rw-r-- M 107020 glenda sys 26833 Nov 19 20:52 sys/src/cmd/cc/dcl.c
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/cc/dcl.c:374,382 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/cc/dcl.c:374,381
a = a->left;
}
if(!sametype(t, a->type)) {
- diag(a, "initialization of incompatible pointers: %s",
- s->name);
- print("%T and %T\n", t, a->type);
+ diag(a, "initialization of incompatible pointers: %s\n%T and %T",
+ s->name, t, a->type);
}
if(a->op == OADDR)
a = a->left;
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/cc/dcl.c:1535,1540 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/cc/dcl.c:1534,1540
{
Node *p, *r, *q, *m;
long w;
+ Type *zt;
if(debug['i']) {
print("contig v = %ld; s = %s\n", v, s->name);
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/cc/dcl.c:1558,1564 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/cc/dcl.c:1558,1564
stkoff = maxround(stkoff, autoffset);
symadjust(s, n, v - s->offset);
}
- if(w <= 4)
+ if(w <= ewidth[TIND])
goto no;
if(n->op == OAS)
diag(Z, "oops in contig");
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/cc/dcl.c:1572,1581 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/cc/dcl.c:1572,1581
if(n->left->type)
if(n->left->type->width == w)
goto no;
- while(w & 3)
+ while(w & ewidth[TIND])
w++; /* is this a bug?? */
/*
- * insert the following code
+ * insert the following code, where long becomes vlong if pointers are fat
*
*(long**)&X = (long*)((char*)X + sizeof(X));
do {
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/cc/dcl.c:1587,1595 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/cc/dcl.c:1587,1597
for(q=n; q->op != ONAME; q=q->left)
;
+ zt = ewidth[TIND] > ewidth[TLONG]? types[TVLONG]: types[TLONG];
+
p = new(ONAME, Z, Z);
*p = *q;
- p->type = typ(TIND, types[TLONG]);
+ p->type = typ(TIND, zt);
p->xoffset = s->offset;
r = new(ONAME, Z, Z);
/n/sourcesdump/2005/1119/plan9/sys/src/cmd/cc/dcl.c:1602,1608 -
/n/sourcesdump/2005/1120/plan9/sys/src/cmd/cc/dcl.c:1604,1610
m = new(OCONST, Z, Z);
m->vconst = 0;
- m->type = types[TLONG];
+ m->type = zt;
q = new(OAS, q, m);
|