]> Cypherpunks repositories - gostls13.git/commitdiff
bug fix in 6c/8c/5c mis-aligned
authorKen Thompson <ken@golang.org>
Wed, 10 Feb 2010 01:26:04 +0000 (17:26 -0800)
committerKen Thompson <ken@golang.org>
Wed, 10 Feb 2010 01:26:04 +0000 (17:26 -0800)
function arguments.

R=rsc
CC=golang-dev
https://golang.org/cl/206054

src/cmd/cc/com.c

index af2509c5fd014b858aac6e46c967001c36e5044a..5cbe8b77cd29d847673c316839052f73e44fa193 100644 (file)
@@ -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;