projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* as/mcs51/asdata.c: changed ctype['['] to BINOP
[fw/sdcc]
/
src
/
SDCCast.c
diff --git
a/src/SDCCast.c
b/src/SDCCast.c
index 990f43fed6a379a1793adb92706b29f2ab02e5b9..1d65bc7d783ce2766d4a6901c8f3eedd28854fcb 100644
(file)
--- a/
src/SDCCast.c
+++ b/
src/SDCCast.c
@@
-2148,6
+2148,9
@@
resultTypePropagate (ast *tree, RESULT_TYPE resultType)
{
switch (tree->opval.op)
{
{
switch (tree->opval.op)
{
+ case AND_OP:
+ case OR_OP:
+ return resultType;
case '=':
case '?':
case ':':
case '=':
case '?':
case ':':
@@
-3402,7
+3405,7
@@
decorateType (ast * tree, RESULT_TYPE resultType)
return tree;
}
LRVAL (tree) = 1;
return tree;
}
LRVAL (tree) = 1;
- TTYPE (tree) = TETYPE (tree) =
newCharLink
();
+ TTYPE (tree) = TETYPE (tree) =
(resultTypeProp == RESULT_TYPE_BIT) ? newBoolLink() :newCharLink
();
return tree;
/*------------------------------------------------------------------*/
return tree;
/*------------------------------------------------------------------*/
@@
-3417,7
+3420,7
@@
decorateType (ast * tree, RESULT_TYPE resultType)
return tree;
case GETHBIT:
return tree;
case GETHBIT:
- TTYPE (tree) = TETYPE (tree) =
newCharLink
();
+ TTYPE (tree) = TETYPE (tree) =
(resultTypeProp == RESULT_TYPE_BIT) ? newBoolLink() :newCharLink
();
return tree;
case LEFT_OP:
return tree;
case LEFT_OP:
@@
-3735,7
+3738,7
@@
decorateType (ast * tree, RESULT_TYPE resultType)
return tree;
}
LRVAL (tree) = RRVAL (tree) = 1;
return tree;
}
LRVAL (tree) = RRVAL (tree) = 1;
- TTYPE (tree) = TETYPE (tree) =
newCharLink
();
+ TTYPE (tree) = TETYPE (tree) =
(resultTypeProp == RESULT_TYPE_BIT) ? newBoolLink() :newCharLink
();
return tree;
/*------------------------------------------------------------------*/
return tree;
/*------------------------------------------------------------------*/