mirror of
https://github.com/golang/go
synced 2024-11-18 20:04:52 -07:00
minor bugs
R=r OCL=14702 CL=14702
This commit is contained in:
parent
33ee52727f
commit
a7f1af81bd
@ -102,10 +102,10 @@ dowidth(Type *t)
|
||||
{
|
||||
uint32 w;
|
||||
|
||||
w = 0;
|
||||
if(t == T)
|
||||
return;
|
||||
|
||||
w = 0;
|
||||
switch(t->etype) {
|
||||
default:
|
||||
fatal("dowidth: unknown type: %E", t->etype);
|
||||
@ -123,13 +123,13 @@ dowidth(Type *t)
|
||||
case TINT32:
|
||||
case TUINT32:
|
||||
case TFLOAT32:
|
||||
case TPTR32:
|
||||
case TPTR32: // note lack of recursion
|
||||
w = 4;
|
||||
break;
|
||||
case TINT64:
|
||||
case TUINT64:
|
||||
case TFLOAT64:
|
||||
case TPTR64:
|
||||
case TPTR64: // note lack of recursion
|
||||
w = 8;
|
||||
break;
|
||||
case TFLOAT80:
|
||||
@ -158,11 +158,8 @@ dowidth(Type *t)
|
||||
w = wptr;
|
||||
break;
|
||||
case TARRAY:
|
||||
if(t->bound < 0)
|
||||
fatal("width of a dynamic array");
|
||||
if(t->type == T)
|
||||
break;
|
||||
dowidth(t->type);
|
||||
if(t->bound >= 0 && t->type != T)
|
||||
w = t->bound * t->type->width;
|
||||
break;
|
||||
|
||||
|
@ -943,6 +943,7 @@ Atype:
|
||||
| Afntypeh
|
||||
| '*' Atype
|
||||
{
|
||||
dowidth($2);
|
||||
$$ = ptrto($2);
|
||||
}
|
||||
|
||||
@ -966,6 +967,7 @@ Btype:
|
||||
| Bfntypeh
|
||||
| '*' Btype
|
||||
{
|
||||
dowidth($2);
|
||||
$$ = ptrto($2);
|
||||
}
|
||||
| '*' lname
|
||||
|
@ -29,7 +29,7 @@ pow(arg1,arg2 float64) float64
|
||||
|
||||
temp = floor(arg2);
|
||||
if temp != arg2 {
|
||||
panic sys.NaN();
|
||||
panic(sys.NaN());
|
||||
}
|
||||
|
||||
l = long(temp);
|
||||
|
@ -49,9 +49,11 @@ sqrt(arg float64) float64
|
||||
exp = exp + 60;
|
||||
}
|
||||
if exp >= 0 {
|
||||
temp = temp * float64(1 << (exp/2));
|
||||
exp = 1 << uint(exp/2);
|
||||
temp = temp * float64(exp);
|
||||
} else {
|
||||
temp = temp / float64(1 << (-exp/2));
|
||||
exp = 1 << uint(-exp/2);
|
||||
temp = temp / float64(exp);
|
||||
}
|
||||
|
||||
for i=0; i<=4; i=i+1 {
|
||||
|
@ -60,7 +60,7 @@ tan(arg float64) float64
|
||||
|
||||
if flag {
|
||||
if(temp == 0) {
|
||||
panic sys.NaN();
|
||||
panic(sys.NaN());
|
||||
}
|
||||
temp = 1/temp;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user