From 363bf7f5dbefad0f9ec181a08f2030fa397758bb Mon Sep 17 00:00:00 2001 From: kvigor Date: Wed, 20 Sep 2000 20:38:23 +0000 Subject: [PATCH] realized last bug impacted genPlus as well git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@392 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- src/ds390/gen.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/ds390/gen.c b/src/ds390/gen.c index 6895f2c3..6edba6ff 100644 --- a/src/ds390/gen.c +++ b/src/ds390/gen.c @@ -2884,6 +2884,19 @@ static void genPlus (iCode *ic) size = getDataSize(IC_LEFT(ic)); + /* If the pushed data is bigger than the result, + * simply discard unused bytes. Icky, but works. + * + * Should we throw a warning here? We're losing data... + */ + while (size > getDataSize(IC_RESULT(ic))) + { + emitcode(";", "discarding unused result byte."); + emitcode("pop", "acc"); + size--; + offset--; + } + while(size--) { emitcode("pop", "acc"); -- 2.47.2