+2008-03-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/SDCCmain.c: added predefined macros SDCC_REVISION (RFE #1907229),
+ and (depending on corresponding compiler option) SDCC_PARMS_IN_BANK1,
+ SDCC_FLOAT_REENT, SDCC_INT_LONG_REENT
+ * device/include/mcs51/compiler.h: removed umlauts, added double
+ underscore
+
2008-03-04 Maarten Brock <sourceforge.brock AT dse.nl>
* src/SDCCptropt.c (ptrPseudoSymConvert): fixed bug 1536762
* src/pic/gen.c: removed unused prototypes, prevent internal errors
on accessing OP_SYM_TYPE(op)
- * src/pic/gen.h: removed unused protorype of genMinusDec()
+ * src/pic/gen.h: removed unused prototype of genMinusDec()
* src/pic/genarith.c (genMinus): cosmetic changes, rewritten to
fix #1876953 (invalid subtraction code), removed unused code
*
* Header file to overcome 8051 compiler differences for specifying
* special function registers. The following compilers are supported:
- * SDCC, Keil, Raisonance, IAR, Hi-Tech, Tasking, Crossware, Wickenhäuser.
+ * SDCC, Keil, Raisonance, IAR, Hi-Tech, Tasking, Crossware, Wickenhaeuser.
* Unfortunately not for use with Dunfield. The compilers are identified by
* their unique predefined macros. See also:
* http://predef.sourceforge.net/precomp.html
#if defined SDCC
# define SBIT(name, addr, bit) __sbit __at(addr+bit) name
# define SFR(name, addr) __sfr __at(addr) name
-# define SFRX(name, addr) xdata volatile unsigned char __at(addr) name
+# define SFRX(name, addr) __xdata volatile unsigned char __at(addr) name
# define SFR16(name, addr) __sfr16 __at(((addr+1U)<<8) | addr) name
# define SFR16E(name, fulladdr) __sfr16 __at(fulladdr) name
# define SFR32(name, addr) __sfr32 __at(((addr+3UL)<<24) | ((addr+2UL)<<16) | ((addr+1UL)<<8) | addr) name
# define SFR32(name, fulladdr) /* not supported */
# define SFR32E(name, fulladdr) /* not supported */
-/** Wickenhäuser
+/** Wickenhaeuser
* http://www.wickenhaeuser.de
*/
#elif defined __UC__
{ 0, OPTION_SMALL_MODEL, NULL, "internal data space is used (default)" },
{ 0, "--stack-auto", &options.stackAuto, "Stack automatic variables" },
{ 0, "--xstack", &options.useXstack, "Use external stack" },
- { 0, "--int-long-reent", &options.intlong_rent, "Use reenterant calls on the int and long support functions" },
- { 0, "--float-reent", &options.float_rent, "Use reenterant calls on the float support functions" },
+ { 0, "--int-long-reent", &options.intlong_rent, "Use reentrant calls on the int and long support functions" },
+ { 0, "--float-reent", &options.float_rent, "Use reentrant calls on the float support functions" },
{ 0, "--main-return", &options.mainreturn, "Issue a return after main()" },
{ 0, "--xram-movc", &options.xram_movc, "Use movc instead of movx to read xram (xdata)" },
{ 0, OPTION_CALLEE_SAVES, &options.calleeSavesSet, "<func[,func,...]> Cause the called function to save registers insted of the caller", CLAT_SET },
break;
}
+ /* set macro corresponding to compiler option */
+ if (options.intlong_rent)
+ addSet(&preArgvSet, Safe_strdup("-DSDCC_INT_LONG_REENT"));
+
+ /* set macro corresponding to compiler option */
+ if (options.float_rent)
+ addSet(&preArgvSet, Safe_strdup("-DSDCC_FLOAT_REENT"));
+
+ /* set macro corresponding to compiler option */
+ if (options.parms_in_bank1)
+ addSet(&preArgvSet, Safe_strdup("-DSDCC_PARMS_IN_BANK1"));
+
/* add SDCC version number */
{
char buf[20];
addSet(&preArgvSet, Safe_strdup(buf));
}
+ /* add SDCC revision number */
+ {
+ char buf[25];
+ SNPRINTF(buf, sizeof(buf), "-DSDCC_REVISION=%s", getBuildNumber());
+ addSet(&preArgvSet, Safe_strdup(buf));
+ }
+
/* add port (processor information to processor */
addSet(&preArgvSet, Safe_strdup("-DSDCC_{port}"));
addSet(&preArgvSet, Safe_strdup("-D__{port}"));