* src/SDCCast.c (decorateType RETURN): use RESULT_TYPE_GPTR for generic
authorMaartenBrock <MaartenBrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 8 Jan 2009 17:18:01 +0000 (17:18 +0000)
committerMaartenBrock <MaartenBrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 8 Jan 2009 17:18:01 +0000 (17:18 +0000)
  pointer return

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

ChangeLog
src/SDCCast.c

index 6b506c30d20c0d5a36697a7760dfce1d39a8d3db..9dc2e5c140fee1ec0e1b65a1e649659cbe494d92 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-08 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCast.c (decorateType RETURN): use RESULT_TYPE_GPTR for generic
+         pointer return
+
 2009-01-05 Philipp Klaus Krause <pkk AT spth.de>
 
        * sim/ucsim/z80.src/inst_ed.cc:
index bdae3d5a90e620d7a4eeb4dc15329530eae0103c..391408318222ae2d9a396d048770554239edceaf 100644 (file)
@@ -3251,7 +3251,7 @@ decorateType (ast * tree, RESULT_TYPE resultType)
               werrorfl (tree->filename, tree->lineno, E_LVALUE_REQUIRED, "pointer deref");
               goto errorTreeReturn;
             }
-          if (IS_ADDRESS_OF_OP(tree->left))
+          if (IS_ADDRESS_OF_OP (tree->left))
             {
               /* replace *&obj with obj */
               return tree->left->left;
@@ -4687,8 +4687,7 @@ decorateType (ast * tree, RESULT_TYPE resultType)
           printFromToType(RTYPE(tree), LTYPE(tree));
         }
 
-      TETYPE (tree) = getSpec (TTYPE (tree) =
-                               LTYPE (tree));
+      TETYPE (tree) = getSpec (TTYPE (tree) = LTYPE (tree));
       RRVAL (tree) = 1;
       LLVAL (tree) = 1;
       if (!tree->initMode ) {
@@ -4794,7 +4793,7 @@ decorateType (ast * tree, RESULT_TYPE resultType)
             decorateType (newNode (CAST,
                           newAst_LINK (copyLinkChain (currFunc->type->next)),
                                         tree->right),
-                          RESULT_TYPE_NONE);
+                          IS_GENPTR (currFunc->type->next) ? RESULT_TYPE_GPTR : RESULT_TYPE_NONE);
         }
 
       RRVAL (tree) = 1;