* src/pic16/gen.c (pic16_loadFromReturn): added check for AOP_PCODE,
[fw/sdcc] / src / pic16 / gen.c
index d1097d202bfe60df72ec25149d3738c523de99e6..2139f35871d6065614cdcc51483e02787250b9ab 100644 (file)
@@ -3003,7 +3003,7 @@ static void pushSide(operand * oper, int size)
 
 void pic16_loadFromReturn(operand *op, int offset, pCodeOp *src)
 {
-  if(AOP(op)->aopu.pcop->type == PO_IMMEDIATE) {
+  if((AOP(op)->type == AOP_PCODE) && (AOP(op)->aopu.pcop->type == PO_IMMEDIATE)) {
     pic16_emitpcode(POC_MOVFW, src);
     pic16_emitpcode(POC_MOVWF, pic16_popGet(AOP(op), offset));
   } else {