return pret;
}
+
+void
+mfprintf(FILE *fp, hTab *pvals, const char *pformat, ...)
+{
+ va_list ap;
+ char *p;
+
+ va_start(ap, pformat);
+
+ p = mvsprintf(pvals, pformat, ap);
+
+ va_end(ap);
+
+ fputs(p, fp);
+ Safe_free(p);
+}
#include "SDCChasht.h"
#include <stdarg.h>
+#include <stdio.h>
char *mvsprintf(hTab *pvals, const char *pformat, va_list ap);
char *msprintf(hTab *pvals, const char *pformat, ...);
+void mfprintf(FILE *fp, hTab *pvals, const char *pformat, ...);
#endif
break;
}
}
- fprintf (lnkfile, "-k %s/%s\n", SDCC_LIB_DIR /*STD_LIB_PATH */ , c);
+ mfprintf (lnkfile, getRuntimeVariables(), "-k {libdir}{sep}%s\n", c);
/* standard library files */
/* if (strcmp (port->target, "ds390") == 0) */
*nl = '\0';
}
+hTab *
+getRuntimeVariables(void)
+{
+ return _mainValues;
+}
*/
void chomp (char *sz);
+hTab *
+getRuntimeVariables(void);
+
#endif
return;
}
+ if (getSize (operandType (IC_RESULT (ic))) != 2)
+ {
+ D (D_HLUSE, (" + Dropping as the result size is not 2\n"));
+ }
+
if (IS_Z80)
{
if (ic->op == CAST && uic->op == IPUSH)
{
goto hluse;
}
- else if (uic->op == IPUSH)
+ else if (uic->op == IPUSH && getSize (operandType (IC_LEFT (uic))) == 2)
{
goto hluse;
}