* src/pic16/gen.c (pic16_loadFromReturn): added check for AOP_PCODE,
authortecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 22 Aug 2005 08:58:30 +0000 (08:58 +0000)
committertecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 22 Aug 2005 08:58:30 +0000 (08:58 +0000)
  fixes #1265442 (crash on Solaris)

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3868 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
src/pic16/gen.c

index 1700b385d4d619b4a4407c5e8491ae8162675988..74051b5b65e8a51db3d1b963c097a8c446dfaf2d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-08-22 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (pic16_loadFromReturn): added check for AOP_PCODE,
+         fixes #1265442 (crash on Solaris)
+
 2005-08-20 Borut Razem <borut.razem AT siol.net>
 
        * configure, configure.in: added tests for libsocket and libnsl libraries,
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 {