summaryrefslogtreecommitdiff
path: root/utils/cc/com64.c
diff options
context:
space:
mode:
authorforsyth <forsyth@vitanuova.com>2010-04-27 12:51:13 +0100
committerforsyth <forsyth@vitanuova.com>2010-04-27 12:51:13 +0100
commitd67b7dad77bb8aa973dad1f7c3ab0c309b114278 (patch)
tree6794120fb327d6de19cf05eed53f80d877781a3e /utils/cc/com64.c
parent09da2e137d5eb0c940df35d989e4c31ec0654fc4 (diff)
20100427-1251
Diffstat (limited to 'utils/cc/com64.c')
-rw-r--r--utils/cc/com64.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/utils/cc/com64.c b/utils/cc/com64.c
index 88bf11bf..e1f7c8a3 100644
--- a/utils/cc/com64.c
+++ b/utils/cc/com64.c
@@ -1,7 +1,7 @@
#include "cc.h"
/*
- * this is machine depend, but it is totally
+ * this is machine dependent, but it is totally
* common on all of the 64-bit symulating machines.
*/
@@ -258,6 +258,8 @@ com64(Node *n)
r->op = OFUNC;
r->type = types[TLONG];
return 1;
+ case OCOND:
+ return 1;
}
}
@@ -503,6 +505,7 @@ setvinc:
n->left = a;
l = new(OADDR, l, Z);
l->type = typ(TIND, l->left->type);
+ l->complex = l->left->complex;
n->right = new(OLIST, l, r);
n->complex = FNX;
n->op = OFUNC;
@@ -536,6 +539,7 @@ setasop:
t = new(OADDR, l, 0);
t->type = typ(TIND, l->type);
+ t->complex = l->complex;
r = new(OLIST, t, r);
n->left = nodvasop;
@@ -551,6 +555,8 @@ bool64(Node *n)
{
Node *n1;
+ if(machcap(Z))
+ return;
if(typev[n->type->etype]) {
n1 = new(OXXX, 0, 0);
*n1 = *n;