aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--newlib/ChangeLog13
-rw-r--r--newlib/libc/include/sys/types.h49
-rw-r--r--newlib/libc/machine/powerpc/Makefile.am2
-rw-r--r--newlib/libc/machine/powerpc/Makefile.in2
-rw-r--r--newlib/libc/machine/powerpc/machine/stdlib.h3
-rw-r--r--newlib/libc/machine/powerpc/vfprintf.c3
-rw-r--r--newlib/libc/machine/powerpc/vfscanf.c8
7 files changed, 50 insertions, 30 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 9e345cc..afe225f 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,16 @@
+2002-08-19 Jeff Johnston <jjohnstn@redhat.com>
+
+ * libc/include/sys/types.h: Support __need_inttypes macro
+ that only sets the __intxx and __uintxx types.
+ * libc/machine/powerpc/Makefile.am: Add stdlib to include directories
+ to get mprec.h.
+ * libc/machine/powerpc/Makefile.in: Regenerated.
+ * libc/machine/powerpc/vfprintf.c: Fix state variable type.
+ * libc/machine/powerpc/vfscanf.c: Fix state variable type. Remove
+ redundant fixed-point conversion prototypes.
+ * libc/machine/powerpc/machine/stdlib.h[__SPE__]: Include <sys/types.h>
+ after setting __need_inttypes.
+
2002-08-18 Christopher Faylor <cgf@redhat.com>
* libc/include/sys/unistd.h: Add getsid declaration for cygwin.
diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h
index c562a23..78b3f55 100644
--- a/newlib/libc/include/sys/types.h
+++ b/newlib/libc/include/sys/types.h
@@ -16,9 +16,34 @@
*/
#ifndef _SYS_TYPES_H
-#define _SYS_TYPES_H
#include <_ansi.h>
+
+#ifndef __INTTYPES_DEFINED__
+#define __INTTYPES_DEFINED__
+typedef short int __int16_t;
+typedef unsigned short int __uint16_t;
+
+#if __INT_MAX__ == 32767
+typedef long int __int32_t;
+typedef unsigned long int __uint32_t;
+#else
+typedef int __int32_t;
+typedef unsigned int __uint32_t;
+#endif
+
+#if __LONG_MAX__ > 2147483647 || !defined(__GNUC__)
+typedef long int __int64_t;
+typedef unsigned long int __uint64_t;
+#else
+__extension__ typedef long long __int64_t;
+__extension__ typedef unsigned long long __uint64_t;
+#endif
+#endif /* ! __INTTYPES_DEFINED */
+
+#ifndef __need_inttypes
+
+#define _SYS_TYPES_H
#include <sys/_types.h>
#if defined (_WIN32) || defined (__CYGWIN__)
@@ -100,24 +125,6 @@ typedef unsigned short ino_t;
#endif
#endif
-typedef short int __int16_t;
-typedef unsigned short int __uint16_t;
-
-#if __INT_MAX__ == 32767
-typedef long int __int32_t;
-typedef unsigned long int __uint32_t;
-#else
-typedef int __int32_t;
-typedef unsigned int __uint32_t;
-#endif
-
-#if __LONG_MAX__ > 2147483647 || !defined(__GNUC__)
-typedef long int __int64_t;
-typedef unsigned long int __uint64_t;
-#else
-__extension__ typedef long long __int64_t;
-__extension__ typedef unsigned long long __uint64_t;
-#endif
#ifdef __MS_types__
typedef unsigned long vm_offset_t;
@@ -360,4 +367,8 @@ typedef struct {
#endif /* defined(__rtems__) */
+#endif /* !__need_inttypes */
+
+#undef __need_inttypes
+
#endif /* _SYS_TYPES_H */
diff --git a/newlib/libc/machine/powerpc/Makefile.am b/newlib/libc/machine/powerpc/Makefile.am
index 94962c7..917f79e 100644
--- a/newlib/libc/machine/powerpc/Makefile.am
+++ b/newlib/libc/machine/powerpc/Makefile.am
@@ -12,7 +12,7 @@ EXTRA_lib_a_SOURCES = @extra_sources@
lib_a_DEPENDENCIES = @extra_objs@
ACLOCAL_AMFLAGS = -I ../../..
-AM_CFLAGS = -I $(srcdir)/../../stdio
+AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
VEC_MALLOC_COMPILE = $(COMPILE) -DINTERNAL_NEWLIB
diff --git a/newlib/libc/machine/powerpc/Makefile.in b/newlib/libc/machine/powerpc/Makefile.in
index bb9a15b..5da27f7 100644
--- a/newlib/libc/machine/powerpc/Makefile.in
+++ b/newlib/libc/machine/powerpc/Makefile.in
@@ -97,7 +97,7 @@ EXTRA_lib_a_SOURCES = @extra_sources@
lib_a_DEPENDENCIES = @extra_objs@
ACLOCAL_AMFLAGS = -I ../../..
-AM_CFLAGS = -I $(srcdir)/../../stdio
+AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
VEC_MALLOC_COMPILE = $(COMPILE) -DINTERNAL_NEWLIB
diff --git a/newlib/libc/machine/powerpc/machine/stdlib.h b/newlib/libc/machine/powerpc/machine/stdlib.h
index 45173da..03a5319 100644
--- a/newlib/libc/machine/powerpc/machine/stdlib.h
+++ b/newlib/libc/machine/powerpc/machine/stdlib.h
@@ -18,6 +18,9 @@ _PTR _EXFUN(_vec_realloc_r,(struct _reent *, _PTR __r, size_t __size));
# if defined(__SPE__)
+#define __need_inttypes
+#include <sys/types.h>
+
__int16_t _EXFUN(atosfix16,(const char *__str));
__int16_t _EXFUN(_atosfix16_r,(struct _reent *, const char *__str));
__int32_t _EXFUN(atosfix32,(const char *__str));
diff --git a/newlib/libc/machine/powerpc/vfprintf.c b/newlib/libc/machine/powerpc/vfprintf.c
index ff3a4f6..8204617 100644
--- a/newlib/libc/machine/powerpc/vfprintf.c
+++ b/newlib/libc/machine/powerpc/vfprintf.c
@@ -166,7 +166,6 @@ static char *rcsid = "$Id$";
#include <stdlib.h>
#include <string.h>
#include <reent.h>
-#include <wchar.h>
#include <string.h>
#ifdef __ALTIVEC__
#include <altivec.h>
@@ -389,7 +388,7 @@ _DEFUN (_VFPRINTF_R, (data, fp, fmt0, ap),
int vec_print_count; /* number of vector chunks remaining */
vec_16_byte_union vec_tmp;
#endif /* __ALTIVEC__ */
- mbstate_t state; /* mbtowc calls from library must not change state */
+ int state; /* mbtowc calls from library must not change state */
/*
* Choose PADSIZE to trade efficiency vs. size. If larger printf
diff --git a/newlib/libc/machine/powerpc/vfscanf.c b/newlib/libc/machine/powerpc/vfscanf.c
index 9cfb658..323a438 100644
--- a/newlib/libc/machine/powerpc/vfscanf.c
+++ b/newlib/libc/machine/powerpc/vfscanf.c
@@ -107,7 +107,6 @@ Supporting OS subroutines required:
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
-#include <wchar.h>
#include <string.h>
#ifdef _HAVE_STDC
#include <stdarg.h>
@@ -132,11 +131,6 @@ Supporting OS subroutines required:
extern _LONG_DOUBLE _strtold _PARAMS((char *s, char **sptr));
#endif
-#ifdef __SPE__
-extern __int64_t _strtosfix64_r _PARAMS((struct _reent *, char *s, char **sptr));
-extern __uint64_t _strtoufix64_r _PARAMS((struct _reent *, char *s, char **sptr));
-#endif
-
#define _NO_LONGLONG
#if defined WANT_PRINTF_LONG_LONG && defined __GNUC__
# undef _NO_LONGLONG
@@ -284,7 +278,7 @@ __svfscanf_r (rptr, fp, fmt0, ap)
vec_union vec_buf;
char *lptr; /* literal pointer */
#ifdef MB_CAPABLE
- mbstate_t state; /* value to keep track of multibyte state */
+ int state; /* value to keep track of multibyte state */
#endif
char *ch_dest;