* device/lib/printf_large.c: 6 bytes less __data mem (6 more __idata)
authorfrief <frief@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 8 Mar 2007 22:00:32 +0000 (22:00 +0000)
committerfrief <frief@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 8 Mar 2007 22:00:32 +0000 (22:00 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4671 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
device/lib/printf_large.c

index 4c354c32c0ffe642eb4e013678d1ce77dfe06479..8734cc7e52c2e51ffb5176e986b9bf7f63a64dbb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-03-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * device/lib/printf_large.c: 6 bytes less __data mem (6 more __idata)
+
 2007-03-07  Borut Razem <borut.razem AT siol.net>
 
        * device/lib/pic16/libdev/pic18f[24][34]31.c:
index 9df2285aae584f199605212bbf80954e1a990aa4..af2a3f6b29500fe3df1350398d2bd08db4ec3b26 100644 (file)
 #define NULL_STRING_LENGTH 6
 #endif
 
+#if defined (SDCC_mcs51) && defined (SDCC_MODEL_SMALL) && !defined (SDCC_STACK_AUTO)
+# define MEM_SPACE_BUF __idata
+#else
+# define MEM_SPACE_BUF
+#endif
+
 /****************************************************************************/
 
 //typedef char * ptr_t;
@@ -223,7 +229,7 @@ output_float (float f, unsigned char reqWidth,
               signed char reqDecimals,
               BOOL left, BOOL zero, BOOL sign, BOOL space)
 {
-  xdata char fpBuffer[128];
+  __xdata char fpBuffer[128];
 #endif //SDCC_STACK_AUTO
   BOOL negative = 0;
   unsigned long integerPart;
@@ -657,10 +663,10 @@ get_conversion_spec:
 #endif //USE_FLOATS
       } else if (radix != 0)
       {
-        // Apperently we have to output an integral type
+        // Apparently we have to output an integral type
         // with radix "radix"
-        unsigned char store[6];
-        unsigned char _AUTOMEM *pstore = &store[5];
+        unsigned char MEM_SPACE_BUF store[6];
+        unsigned char MEM_SPACE_BUF *pstore = &store[5];
 
         // store value in byte[0] (LSB) ... byte[3] (MSB)
         if (char_argument)