git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1948
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tree->opval.val->type);
return tree;
}
+ /* a left shift must be done with at least 16bits */
+ if ((tree->opval.op==LEFT_OP) && (getSize(LTYPE(tree))<2)) {
+ // insert a cast
+ tree->left =
+ decorateType (newNode (CAST,
+ newAst_LINK(copyLinkChain(LTYPE(tree))),
+ tree->left));
+ SPEC_NOUN(tree->left->left->ftype)=V_INT;
+ }
/* if only the right side is a literal & we are
shifting more than size of the left operand then zero */
if (IS_LITERAL (RTYPE (tree)) &&