From: epetrich Date: Sat, 2 Apr 2005 07:06:41 +0000 (+0000) Subject: * src/SDCCicode.c (getArraySizePtr): fixed bug #1122171 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=4e0794235abb8298c752250b0c567aeb79e7a356;p=fw%2Fsdcc * src/SDCCicode.c (getArraySizePtr): fixed bug #1122171 git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3713 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/ChangeLog b/ChangeLog index fdad47e3..d4045900 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2005-04-02 Erik Petrich + + * src/SDCCicode.c (getArraySizePtr): fixed bug #1122171 + 2005-04-01 Erik Petrich * device/include/Makefile.in: add support for hc08 subdirectory diff --git a/src/SDCCicode.c b/src/SDCCicode.c index 334ff8d8..a0289d04 100644 --- a/src/SDCCicode.c +++ b/src/SDCCicode.c @@ -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);