fixed vprintf.c for %c
fixed packihx/config_in.h for solaris
removed a warning for SDCCicode.c
maybe some others
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@705
4a8a32a2-be11-0410-ad9d-
d568d2c75423
rm -f *core *[%~] *.[oa]
rm -f .[a-z]*~
rm -f $(PRJDIR)/bin/sdcdb
-
+ $(PRJDIR)/support/Util/SDCCerr.o
# Deleting all files created by configuring or building the program
# -----------------------------------------------------------------
#ifndef REG51_H
#define REG51_H
-#warning This file (reg.h) is obsolete, depending on your harware
+#warning This file (reg51.h) is obsolete, depending on your harware
#warning use include <8051.h>, or include <8052.h>!
/* BYTE Register */
-#include <_float.h>
+#include <limits.h>
/* convert float to signed char */
signed char __fs2schar (float f) {
signed long sl=__fs2slong(f);
- if (sl>=SCHAR_MAX)
- return SCHAR_MAX;
- if (sl<=SCHAR_MIN)
- return -SCHAR_MIN;
+ if (sl>=CHAR_MAX)
+ return CHAR_MAX;
+ if (sl<=CHAR_MIN)
+ return -CHAR_MIN;
return sl;
}
-#include <_float.h>
+#include <limits.h>
/* convert float to signed int */
signed int __fs2sint (float f) {
signed long sl=__fs2slong(f);
- if (sl>=SINT_MAX)
- return SINT_MAX;
- if (sl<=SINT_MIN)
- return -SINT_MIN;
+ if (sl>=INT_MAX)
+ return INT_MAX;
+ if (sl<=INT_MIN)
+ return -INT_MIN;
return sl;
}
-#include <_float.h>
+#include <limits.h>
/* convert float to signed long */
signed long __fs2slong (float f) {
return 0;
if (f<0) {
- if (f<=SLONG_MIN)
- return SLONG_MIN;
+ if (f<=LONG_MIN)
+ return LONG_MIN;
return -__fs2ulong(-f);
} else {
- if (f>=SLONG_MAX)
- return SLONG_MAX;
+ if (f>=LONG_MAX)
+ return LONG_MAX;
return __fs2ulong(f);
}
}
-#include <_float.h>
+#include <limits.h>
/* convert float to unsigned char */
unsigned char __fs2uchar (float f) {
-#include <_float.h>
+#include <limits.h>
/* convert float to unsigned int */
unsigned int __fs2uint (float f) {
/* (c)2000: hacked a little by johan.knol@iduna.nl for sdcc */
-#include <_float.h>
+#include <limits.h>
/* the following deal with IEEE single-precision numbers */
#define EXCESS 126
-#include <_float.h>
-
/* convert signed char to float */
float __schar2fs (signed char sc) {
signed long sl=sc;
-#include <_float.h>
-
/* convert signed int to float */
float __sint2fs (signed int si) {
signed long sl=si;
-#include <_float.h>
-
/* convert signed long to float */
float __slong2fs (signed long sl) {
if (sl<0)
-#include <_float.h>
-
/* convert unsigned char to float */
float __uchar2fs (unsigned char uc) {
unsigned long ul=uc;
-#include <_float.h>
-
/* convert unsigned int to float */
float __uint2fs (unsigned int ui) {
unsigned long ul=ui;
/* (c)2000: hacked a little by johan.knol@iduna.nl for sdcc */
-#include <_float.h>
-
/* the following deal with IEEE single-precision numbers */
#define EXCESS 126
#define SIGNBIT ((unsigned long)0x80000000)
goto get_conversion_spec;
case 'C':
- output_char( va_arg(ap,unsigned char) );
+ output_char( va_arg(ap,int) );
break;
case 'S':
typedef TYPE_UBYTE Uint8;
typedef TYPE_UWORD Uint16;
-#endif
\ No newline at end of file
+#endif
{
iCode *ic;
int p2 = 0;
- int saveOption;
+ int saveOption=0;
sym_link *resType;
LRTYPE;