fixed bug #494721
[fw/sdcc] / src / avr / ralloc.c
index 6ff0008847c8805d0f2197683e610829ec392715..6efc4aedf2f214354b96f5ecd448c6ee42cd1b2e 100644 (file)
@@ -1892,7 +1892,8 @@ packRegsForOneuse (iCode * ic, operand * op, eBBlock * ebp)
        /* now check if it is the return from
           a function call */
        if (dic->op == CALL || dic->op == PCALL) {
-               if (ic->op != SEND && ic->op != RETURN) {
+               if (ic->op != SEND && ic->op != RETURN &&
+                   !POINTER_SET(ic) && !POINTER_GET(ic)) {
                        OP_SYMBOL (op)->ruonly = 1;
                        return dic;
                }