From 02f0f9893dbcaa7aa93cb8ac1d2e28475e181352 Mon Sep 17 00:00:00 2001 From: bernhardheld Date: Sun, 11 Apr 2004 23:01:36 +0000 Subject: [PATCH] * src/SDCCast.c (decorateType): fixed bug #898889, cast result of a literal complement too git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3285 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- ChangeLog | 5 +++++ src/SDCCast.c | 14 +++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 73102d64..1961f6f3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-04-12 Bernhard Held + + * src/SDCCast.c (decorateType): fixed bug #898889, + cast result of a literal complement too + 2004-04-11 Bernhard Held * src/SDCCicode.c (geniCodeLogic): made it static, diff --git a/src/SDCCast.c b/src/SDCCast.c index d32cace4..f44ae1cc 100644 --- a/src/SDCCast.c +++ b/src/SDCCast.c @@ -3326,13 +3326,13 @@ decorateType (ast * tree, RESULT_TYPE resultType) /* if left is a literal then do it */ if (IS_LITERAL (LTYPE (tree))) - { - tree->type = EX_VALUE; - tree->opval.val = valComplement (valFromType (LETYPE (tree))); - tree->left = NULL; - TETYPE (tree) = TTYPE (tree) = tree->opval.val->type; - return tree; - } + { + tree->type = EX_VALUE; + tree->opval.val = valComplement (valFromType (LETYPE (tree))); + tree->left = NULL; + TETYPE (tree) = TTYPE (tree) = tree->opval.val->type; + return addCast (tree, resultType, TRUE); + } tree->left = addCast (tree->left, resultType, TRUE); LRVAL (tree) = 1; COPYTYPE (TTYPE (tree), TETYPE (tree), LTYPE (tree)); -- 2.30.2