* src/SDCCicode.c (getArraySizePtr): fixed bug #1122171
authorepetrich <epetrich@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 2 Apr 2005 07:06:41 +0000 (07:06 +0000)
committerepetrich <epetrich@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 2 Apr 2005 07:06:41 +0000 (07:06 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3713 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
src/SDCCicode.c

index fdad47e3c8170091db647f4b499d3d7ec3c41a9f..d40459009f0cb3014670a1d96957b1d943694631 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-04-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCicode.c (getArraySizePtr): fixed bug #1122171
+
 2005-04-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
 
        * device/include/Makefile.in: add support for hc08 subdirectory
index 334ff8d83d0430da9b51f67a73da5b9b9f9e9bf0..a0289d047b80ce72111014f0767f68e019af42d7 100644 (file)
@@ -1786,7 +1786,7 @@ getArraySizePtr (operand * op)
   if(IS_PTR(ltype))
     {
       int size = getSize(ltype);
-      return(IS_GENPTR(ltype)?(size-1):size);
+      return((IS_GENPTR(ltype) && GPTRSIZE > FPTRSIZE) ? (size-1) : size);
     }
 
   if(IS_ARRAY(ltype))
@@ -1804,7 +1804,10 @@ getArraySizePtr (operand * op)
        case FUNCTION:
          return (FPTRSIZE);
        case GPOINTER:
-         return (GPTRSIZE-1);
+          if (GPTRSIZE > FPTRSIZE)
+           return (GPTRSIZE-1);
+          else
+           return (FPTRSIZE);
 
        default:
          return (FPTRSIZE);