diff options
author | Ken Thompson <ken@golang.org> | 2010-02-09 17:26:04 -0800 |
---|---|---|
committer | Ken Thompson <ken@golang.org> | 2010-02-09 17:26:04 -0800 |
commit | b07eb5f7acdf58ef956cf93dc0b3d73093eea738 (patch) | |
tree | 3f2e56305e857157ad5d97af7e4d569152e92ce6 /src/cmd/cc | |
parent | 60920f0e461ceceaf9be7402605883ac425cb061 (diff) | |
download | golang-b07eb5f7acdf58ef956cf93dc0b3d73093eea738.tar.gz |
bug fix in 6c/8c/5c mis-aligned
function arguments.
R=rsc
CC=golang-dev
http://codereview.appspot.com/206054
Diffstat (limited to 'src/cmd/cc')
-rw-r--r-- | src/cmd/cc/com.c | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/src/cmd/cc/com.c b/src/cmd/cc/com.c index af2509c5f..5cbe8b77c 100644 --- a/src/cmd/cc/com.c +++ b/src/cmd/cc/com.c @@ -801,7 +801,19 @@ tcoma(Node *l, Node *n, Type *t, int f) n->type, t, l); return 1; } - switch(t->etype) { +// switch(t->etype) { +// case TCHAR: +// case TSHORT: +// t = types[TINT]; +// break; +// +// case TUCHAR: +// case TUSHORT: +// t = types[TUINT]; +// break; +// } + } else { + switch(n->type->etype) { case TCHAR: case TSHORT: t = types[TINT]; @@ -811,23 +823,12 @@ tcoma(Node *l, Node *n, Type *t, int f) case TUSHORT: t = types[TUINT]; break; - } - } else - switch(n->type->etype) - { - case TCHAR: - case TSHORT: - t = types[TINT]; - break; - case TUCHAR: - case TUSHORT: - t = types[TUINT]; - break; - - case TFLOAT: - t = types[TDOUBLE]; + case TFLOAT: + t = types[TDOUBLE]; + } } + if(t != T && !sametype(t, n->type)) { n1 = new1(OXXX, Z, Z); *n1 = *n; |