fix segfault on casting int to pointer
[fw/sdcc] / src / ds390 / ralloc.c
index 96da72af7f7c8dd03343cb98ead589ce4bd947c5..cb3062616cbabd8e122fe99c437f9b80b55bc019 100644 (file)
@@ -1076,7 +1076,8 @@ static void serialRegAssign (eBBlock **ebbs, int count)
                
                /* if we need ptr regs for the right side
                   then mark it */
-               if (POINTER_GET(ic) && getSize(OP_SYMBOL(IC_LEFT(ic))->type) 
+               if (POINTER_GET(ic) && IS_SYMOP(IC_LEFT(ic))
+                && getSize(OP_SYMBOL(IC_LEFT(ic))->type) 
                    <= PTRSIZE) 
                {
                    ds390_ptrRegReq++;