git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@5042
4a8a32a2-be11-0410-ad9d-
d568d2c75423
+2008-02-24 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * src/SDCCast.c (expandInlineFuncs): fixed bug 1875869
+
2008-02-22 Philipp Klaus Krause <pkk AT spth.de>
* src/z80/gen.c (genMult): Rewrote 8-bit multiplication by constant,
2008-02-22 Philipp Klaus Krause <pkk AT spth.de>
* src/z80/gen.c (genMult): Rewrote 8-bit multiplication by constant,
werrorfl (tree->filename, tree->lineno, W_COMP_RANGE,
ccr_result == CCR_ALWAYS_TRUE ? "true" : "false");
return decorateType (newAst_VALUE (constCharVal (
werrorfl (tree->filename, tree->lineno, W_COMP_RANGE,
ccr_result == CCR_ALWAYS_TRUE ? "true" : "false");
return decorateType (newAst_VALUE (constCharVal (
- ccr_result == CCR_ALWAYS_TRUE ? 1 : 0)),
+ (unsigned char)(ccr_result == CCR_ALWAYS_TRUE ? 1 : 0))),
resultType);
case CCR_OK:
default:
resultType);
case CCR_OK:
default:
while (args)
{
symbol * temparg;
while (args)
{
symbol * temparg;
- symbol * parm = copySymbol (args->sym);
+ symbol * parm;
+ ast * passedarg = inlineFindParm (tree->right, argIndex);
+
+ if (!passedarg)
+ {
+ werror(E_TOO_FEW_PARMS);
+ break;
+ }
temparg = inlineTempVar (args->sym->type, tree->level+1);
inlineAddDecl (temparg, inlinetree, FALSE);
temparg = inlineTempVar (args->sym->type, tree->level+1);
inlineAddDecl (temparg, inlinetree, FALSE);
- passedarg = inlineFindParm (tree->right, argIndex);
assigntree = newNode ('=',
newAst_VALUE (symbolVal (temparg)),
passedarg);
assigntree = newNode ('=',
newAst_VALUE (symbolVal (temparg)),
passedarg);
assigntree,
inlinetree->right);
assigntree,
inlinetree->right);
+ parm = copySymbol (args->sym);
inlineAddDecl (parm, inlinetree2, FALSE);
parm->_isparm = 0;
inlineAddDecl (parm, inlinetree2, FALSE);
parm->_isparm = 0;