Revision: 4dd5c0ca90
Author: for...@vitanuova.com
Date: Tue Jul 13 01:44:18 2010
Log: 20100713-0944
http://code.google.com/p/inferno-npe/source/detail?r=4dd5c0ca90
Revision: 5ff87f5965
Author: for...@vitanuova.com
Date: Tue Jul 13 03:14:55 2010
Log: 20100713-1114
http://code.google.com/p/inferno-npe/source/detail?r=5ff87f5965
Revision: d5f1a068e0
Author: for...@vitanuova.com
Date: Tue Jul 13 15:57:33 2010
Log: 20100713-2357
http://code.google.com/p/inferno-npe/source/detail?r=d5f1a068e0
Revision: 25083275c4
Author: Mechiel Lukkien <mec...@ueber.net>
Date: Thu Jul 15 13:13:27 2010
Log: Merge with inferno-os 20100713-2357.
http://code.google.com/p/inferno-npe/source/detail?r=25083275c4
==============================================================================
Revision: 4dd5c0ca90
Author: for...@vitanuova.com
Date: Tue Jul 13 01:44:18 2010
Log: 20100713-0944
http://code.google.com/p/inferno-npe/source/detail?r=4dd5c0ca90
Modified:
/utils/qc/txt.c
=======================================
--- /utils/qc/txt.c Tue Apr 27 04:51:13 2010
+++ /utils/qc/txt.c Tue Jul 13 01:44:18 2010
@@ -1493,15 +1493,12 @@
f2 = t;
regalloc(&nod, ®node, Z);
gins3(AMULLW, f1->right, f2->right, &nod); /* lo(f2.low*f1.low) */
- a1 = AMULHW;
- if(o == OLMUL || o == OASLMUL)
- a1 = AMULHWU;
regalloc(&nod1, ®node, Z);
- gins3(a1, f1->right, f2->right, &nod1); /* hi(f2.low*f1.low) */
+ gins3(AMULHWU, f1->right, f2->right, &nod1); /* hi(f2.low*f1.low) */
regalloc(&nod2, ®node, Z);
gins3(AMULLW, f2->right, f1->left, &nod2); /* lo(f2.low*f1.high) */
gins(AADD, &nod2, &nod1);
- gins3(AMULLW, f1->right, f2->left, &nod2); /* hi(f2.high*f1.low) */
+ gins3(AMULLW, f1->right, f2->left, &nod2); /* lo(f2.high*f1.low) */
gins(AADD, &nod2, &nod1);
regfree(&nod2);
gmove(&nod, t->right);
==============================================================================
Revision: 5ff87f5965
Author: for...@vitanuova.com
Date: Tue Jul 13 03:14:55 2010
Log: 20100713-1114
http://code.google.com/p/inferno-npe/source/detail?r=5ff87f5965
Modified:
/utils/cc/dpchk.c
=======================================
--- /utils/cc/dpchk.c Tue Apr 27 04:51:13 2010
+++ /utils/cc/dpchk.c Tue Jul 13 03:14:55 2010
@@ -75,9 +75,9 @@
nstar = 0;
for(;;) {
s += chartorune(&c, s);
+ fmt += runetochar(fmt, &c);
if(c == 0 || c >= nelem(flagbits))
break;
- fmt += runetochar(fmt, &c);
f = flagbits[c];
switch(f) {
case Fnone:
==============================================================================
Revision: d5f1a068e0
Author: for...@vitanuova.com
Date: Tue Jul 13 15:57:33 2010
Log: 20100713-2357
http://code.google.com/p/inferno-npe/source/detail?r=d5f1a068e0
Modified:
/utils/cc/sub.c
=======================================
--- /utils/cc/sub.c Fri Dec 22 13:39:35 2006
+++ /utils/cc/sub.c Tue Jul 13 15:57:33 2010
@@ -9,7 +9,12 @@
n->op = t;
n->left = l;
n->right = r;
- n->lineno = lineno;
+ if(l && t != OGOTO)
+ n->lineno = l->lineno;
+ else if(r)
+ n->lineno = r->lineno;
+ else
+ n->lineno = lineno;
newflag = 1;
return n;
}
@@ -103,7 +108,7 @@
print(" %T", n->type);
if(n->complex != 0)
print(" (%d)", n->complex);
- print("\n");
+ print(" %L\n", n->lineno);
if(i & 2)
prtree1(n->left, d, 1);
if(i & 1)
@@ -1819,7 +1824,7 @@
void
tinit(void)
{
- int i;
+ int *ip;
Init *p;
for(p=thashinit; p->code >= 0; p++) {
@@ -1850,66 +1855,66 @@
urk("onames", nelem(onames), p->code);
onames[p->code] = p->s;
}
- for(i=0; typeiinit[i] >= 0; i++) {
- urk("typei", nelem(typei), typeiinit[i]);
- typei[typeiinit[i]] = 1;
- }
- for(i=0; typeuinit[i] >= 0; i++) {
- urk("typeu", nelem(typeu), typeuinit[i]);
- typeu[typeuinit[i]] = 1;
- }
- for(i=0; typesuvinit[i] >= 0; i++) {
- urk("typesuv", nelem(typesuv), typesuvinit[i]);
- typesuv[typesuvinit[i]] = 1;
- }
- for(i=0; typeilpinit[i] >= 0; i++) {
- urk("typeilp", nelem(typeilp), typeilpinit[i]);
- typeilp[typeilpinit[i]] = 1;
- }
- for(i=0; typechlinit[i] >= 0; i++) {
- urk("typechl", nelem(typechl), typechlinit[i]);
- typechl[typechlinit[i]] = 1;
- typechlv[typechlinit[i]] = 1;
- typechlvp[typechlinit[i]] = 1;
- }
- for(i=0; typechlpinit[i] >= 0; i++) {
- urk("typechlp", nelem(typechlp), typechlpinit[i]);
- typechlp[typechlpinit[i]] = 1;
- typechlvp[typechlinit[i]] = 1;
- }
- for(i=0; typechlpfdinit[i] >= 0; i++) {
- urk("typechlpfd", nelem(typechlpfd), typechlpfdinit[i]);
- typechlpfd[typechlpfdinit[i]] = 1;
- }
- for(i=0; typecinit[i] >= 0; i++) {
- urk("typec", nelem(typec), typecinit[i]);
- typec[typecinit[i]] = 1;
- }
- for(i=0; typehinit[i] >= 0; i++) {
- urk("typeh", nelem(typeh), typehinit[i]);
- typeh[typehinit[i]] = 1;
- }
- for(i=0; typeilinit[i] >= 0; i++) {
- urk("typeil", nelem(typeil), typeilinit[i]);
- typeil[typeilinit[i]] = 1;
- }
- for(i=0; typevinit[i] >= 0; i++) {
- urk("typev", nelem(typev), typevinit[i]);
- typev[typevinit[i]] = 1;
- typechlv[typevinit[i]] = 1;
- typechlvp[typechlinit[i]] = 1;
- }
- for(i=0; typefdinit[i] >= 0; i++) {
- urk("typefd", nelem(typefd), typefdinit[i]);
- typefd[typefdinit[i]] = 1;
- }
- for(i=0; typeafinit[i] >= 0; i++) {
- urk("typeaf", nelem(typeaf), typeafinit[i]);
- typeaf[typeafinit[i]] = 1;
- }
- for(i=0; typesuinit[i] >= 0; i++) {
- urk("typesu", nelem(typesu), typesuinit[i]);
- typesu[typesuinit[i]] = 1;
+ for(ip=typeiinit; *ip>=0; ip++) {
+ urk("typei", nelem(typei), *ip);
+ typei[*ip] = 1;
+ }
+ for(ip=typeuinit; *ip>=0; ip++) {
+ urk("typeu", nelem(typeu), *ip);
+ typeu[*ip] = 1;
+ }
+ for(ip=typesuvinit; *ip>=0; ip++) {
+ urk("typesuv", nelem(typesuv), *ip);
+ typesuv[*ip] = 1;
+ }
+ for(ip=typeilpinit; *ip>=0; ip++) {
+ urk("typeilp", nelem(typeilp), *ip);
+ typeilp[*ip] = 1;
+ }
+ for(ip=typechlinit; *ip>=0; ip++) {
+ urk("typechl", nelem(typechl), *ip);
+ typechl[*ip] = 1;
+ typechlv[*ip] = 1;
+ typechlvp[*ip] = 1;
+ }
+ for(ip=typechlpinit; *ip>=0; ip++) {
+ urk("typechlp", nelem(typechlp), *ip);
+ typechlp[*ip] = 1;
+ typechlvp[*ip] = 1;
+ }
+ for(ip=typechlpfdinit; *ip>=0; ip++) {
+ urk("typechlpfd", nelem(typechlpfd), *ip);
+ typechlpfd[*ip] = 1;
+ }
+ for(ip=typecinit; *ip>=0; ip++) {
+ urk("typec", nelem(typec), *ip);
+ typec[*ip] = 1;
+ }
+ for(ip=typehinit; *ip>=0; ip++) {
+ urk("typeh", nelem(typeh), *ip);
+ typeh[*ip] = 1;
+ }
+ for(ip=typeilinit; *ip>=0; ip++) {
+ urk("typeil", nelem(typeil), *ip);
+ typeil[*ip] = 1;
+ }
+ for(ip=typevinit; *ip>=0; ip++) {
+ urk("typev", nelem(typev), *ip);
+ typev[*ip] = 1;
+ typechlv[*ip] = 1;
+ typechlvp[*ip] = 1;
+ }
+ for(ip=typefdinit; *ip>=0; ip++) {
+ urk("typefd", nelem(typefd), *ip);
+ typefd[*ip] = 1;
+ }
+ for(ip=typeafinit; *ip>=0; ip++) {
+ urk("typeaf", nelem(typeaf), *ip);
+ typeaf[*ip] = 1;
+ }
+ for(ip=typesuinit; *ip >= 0; ip++) {
+ urk("typesu", nelem(typesu), *ip);
+ typesu[*ip] = 1;
}
for(p=tasigninit; p->code >= 0; p++) {
urk("tasign", nelem(tasign), p->code);
@@ -1943,8 +1948,15 @@
urk("trel", nelem(trel), p->code);
trel[p->code] = p->value;
}
+
+ /* 32-bit defaults */
+ typeword = typechlp;
+ typecmplx = typesuv;
}
+/*
+ * return 1 if it is impossible to jump into the middle of n.
+ */
static int
deadhead(Node *n, int caseok)
{
==============================================================================
Revision: 25083275c4
Author: Mechiel Lukkien <mec...@ueber.net>
Date: Thu Jul 15 13:13:27 2010
Log: Merge with inferno-os 20100713-2357.
http://code.google.com/p/inferno-npe/source/detail?r=25083275c4