Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2008-12-11 20:27:56 +0300
committerJeff Johnston <jjohnstn@redhat.com>2008-12-11 20:27:56 +0300
commit7dd0c330975c6a1452d829471ba68543d5e8ab5c (patch)
treed0c618c8f3752ff33357d44d3ce17b74a561d2c5 /newlib
parent2549caeff19e3bfbf6405884071bfd1193ae62a5 (diff)
2008-12-11 Craig Howland <howland@LGSInnovations.com>
* libc/include/sys/lock.h: Add void cast to avoid "statement has no effect" warnings from gcc. * libc/include/sys/stdio.h: Ditto. * libc/include/sys/time.h: Correct gettimeofday() prototype. * libc/stdlib/__exp10.c: Add #include "std.h" for function prototype. * libc/stdlib/__ten_mu.c: Ditto. * libc/stdlib/std.h: Correct __exp10's ANSI prototype. * libc/stdlib/ldtoa.c: Change eiisinf definition to ANSI form. (Are already others in file without _ansi method, so did not bother.) * libc/stdlib/system.c: Use _ansi forms for function prototypes and definitions. * libc/time/mktime.c: Ditto. * libc/misc/__dprintf.c: Ditto. * libc/include/stdio.h: Add function prototypes for _fgetc_r, _fgetpos_r, _fsetpos_r, _freopen_r, _rewind_r, freopen64, _freopen64_r, _funopen_r, and _fopencookie_r. * libc/include/reent.h: Add function prototype for _stat64_r, align _execve_r prototype with POSIX definition for execve. * libc/reent/execr.c: Align function prototype with POSIX definition. * libc/stdio/asniprintf.c: Add #include "local.h". * libc/stdio/vasniprintf.c: Ditto. * libc/stdio/fread.c: Remove unused variable newcount. * libc/stdio/local.h: Add function prototype for __sccl. * libc/stdio/open_memstream.c: Remove unused variable flags. * libc/stdio/vfscanf.c: Proper prototyping for ccfn, remove prototype for __sccl since now in local.h. * libc/string/memcpy.c: Add #include <string.h> (for real and for traditional synopsis), remove extraneous stddef.h and limits.h. * libc/syscalls/sysclose.c: Add #include <unistd.h>. * libc/syscalls/sysfork.c: Ditto. * libc/syscalls/sysgetpid.c: Ditto. * libc/syscalls/sysexecve.c: Add #include <unistd.h>, align function prototype with POSIX definition. * libc/syscalls/sysfstat.c: Add #include <sys/stat.h>. * libc/syscalls/sysgettod.c: Correct sys/times.h to sys/time.h. * libc/syscalls/syskill.c: Add #include <signal.h>. * libc/syscalls/syslink.c: Add #include <unistd.h>, fix prototype. * libc/syscalls/sysunlink.c: Ditto. * libc/syscalls/sysstat.c: Add #include <sys/stat.h>, fix prototype. * libc/syscalls/syswait.c: Add #include <sys/wait.h>, fix prototype.
Diffstat (limited to 'newlib')
-rw-r--r--newlib/ChangeLog43
-rw-r--r--newlib/libc/include/reent.h3
-rw-r--r--newlib/libc/include/stdio.h28
-rw-r--r--newlib/libc/include/sys/lock.h22
-rw-r--r--newlib/libc/include/sys/stdio.h4
-rw-r--r--newlib/libc/include/sys/time.h2
-rw-r--r--newlib/libc/misc/__dprintf.c37
-rw-r--r--newlib/libc/reent/execr.c14
-rw-r--r--newlib/libc/stdio/asniprintf.c1
-rw-r--r--newlib/libc/stdio/fread.c2
-rw-r--r--newlib/libc/stdio/local.h1
-rw-r--r--newlib/libc/stdio/open_memstream.c1
-rw-r--r--newlib/libc/stdio/vasniprintf.c1
-rw-r--r--newlib/libc/stdio/vfscanf.c11
-rw-r--r--newlib/libc/stdlib/__exp10.c1
-rw-r--r--newlib/libc/stdlib/__ten_mu.c1
-rw-r--r--newlib/libc/stdlib/ldtoa.c3
-rw-r--r--newlib/libc/stdlib/std.h2
-rw-r--r--newlib/libc/stdlib/system.c25
-rw-r--r--newlib/libc/string/memcpy.c4
-rw-r--r--newlib/libc/syscalls/sysclose.c1
-rw-r--r--newlib/libc/syscalls/sysexecve.c7
-rw-r--r--newlib/libc/syscalls/sysfork.c1
-rw-r--r--newlib/libc/syscalls/sysfstat.c1
-rw-r--r--newlib/libc/syscalls/sysgetpid.c1
-rw-r--r--newlib/libc/syscalls/sysgettod.c5
-rw-r--r--newlib/libc/syscalls/syskill.c1
-rw-r--r--newlib/libc/syscalls/syslink.c5
-rw-r--r--newlib/libc/syscalls/sysstat.c3
-rw-r--r--newlib/libc/syscalls/sysunlink.c3
-rw-r--r--newlib/libc/syscalls/syswait.c3
-rw-r--r--newlib/libc/time/mktime.c8
32 files changed, 163 insertions, 82 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 39f1557c2..9c120d8ae 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,46 @@
+2008-12-11 Craig Howland <howland@LGSInnovations.com>
+
+ * libc/include/sys/lock.h: Add void cast to avoid "statement has no
+ effect" warnings from gcc.
+ * libc/include/sys/stdio.h: Ditto.
+ * libc/include/sys/time.h: Correct gettimeofday() prototype.
+ * libc/stdlib/__exp10.c: Add #include "std.h" for function prototype.
+ * libc/stdlib/__ten_mu.c: Ditto.
+ * libc/stdlib/std.h: Correct __exp10's ANSI prototype.
+ * libc/stdlib/ldtoa.c: Change eiisinf definition to ANSI form. (Are
+ already others in file without _ansi method, so did not bother.)
+ * libc/stdlib/system.c: Use _ansi forms for function prototypes and
+ definitions.
+ * libc/time/mktime.c: Ditto.
+ * libc/misc/__dprintf.c: Ditto.
+ * libc/include/stdio.h: Add function prototypes for _fgetc_r,
+ _fgetpos_r, _fsetpos_r, _freopen_r, _rewind_r, freopen64, _freopen64_r,
+ _funopen_r, and _fopencookie_r.
+ * libc/include/reent.h: Add function prototype for _stat64_r, align
+ _execve_r prototype with POSIX definition for execve.
+ * libc/reent/execr.c: Align function prototype with POSIX definition.
+ * libc/stdio/asniprintf.c: Add #include "local.h".
+ * libc/stdio/vasniprintf.c: Ditto.
+ * libc/stdio/fread.c: Remove unused variable newcount.
+ * libc/stdio/local.h: Add function prototype for __sccl.
+ * libc/stdio/open_memstream.c: Remove unused variable flags.
+ * libc/stdio/vfscanf.c: Proper prototyping for ccfn, remove prototype
+ for __sccl since now in local.h.
+ * libc/string/memcpy.c: Add #include <string.h> (for real and for
+ traditional synopsis), remove extraneous stddef.h and limits.h.
+ * libc/syscalls/sysclose.c: Add #include <unistd.h>.
+ * libc/syscalls/sysfork.c: Ditto.
+ * libc/syscalls/sysgetpid.c: Ditto.
+ * libc/syscalls/sysexecve.c: Add #include <unistd.h>, align function
+ prototype with POSIX definition.
+ * libc/syscalls/sysfstat.c: Add #include <sys/stat.h>.
+ * libc/syscalls/sysgettod.c: Correct sys/times.h to sys/time.h.
+ * libc/syscalls/syskill.c: Add #include <signal.h>.
+ * libc/syscalls/syslink.c: Add #include <unistd.h>, fix prototype.
+ * libc/syscalls/sysunlink.c: Ditto.
+ * libc/syscalls/sysstat.c: Add #include <sys/stat.h>, fix prototype.
+ * libc/syscalls/syswait.c: Add #include <sys/wait.h>, fix prototype.
+
2008-12-10 Corinna Vinschen <corinna@vinschen.de>
Implement basic wide char stdio functionality, based on FreeBSD.
diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h
index 9430e7557..50b0b5746 100644
--- a/newlib/libc/include/reent.h
+++ b/newlib/libc/include/reent.h
@@ -137,7 +137,7 @@ struct timezone;
/* Reentrant versions of system calls. */
extern int _close_r _PARAMS ((struct _reent *, int));
-extern int _execve_r _PARAMS ((struct _reent *, char *, char **, char **));
+extern int _execve_r _PARAMS ((struct _reent *, const char *, char *const *, char *const *));
extern int _fcntl_r _PARAMS ((struct _reent *, int, int, int));
extern int _fork_r _PARAMS ((struct _reent *));
extern int _fstat_r _PARAMS ((struct _reent *, int, struct stat *));
@@ -170,6 +170,7 @@ struct stat64;
extern _off64_t _lseek64_r _PARAMS ((struct _reent *, int, _off64_t, int));
extern int _fstat64_r _PARAMS ((struct _reent *, int, struct stat64 *));
extern int _open64_r _PARAMS ((struct _reent *, const char *, int, int));
+extern int _stat64_r _PARAMS ((struct _reent *, const char *, struct stat64 *));
#endif
#endif
diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h
index 95bceed34..a55dd6969 100644
--- a/newlib/libc/include/stdio.h
+++ b/newlib/libc/include/stdio.h
@@ -371,13 +371,22 @@ int _EXFUN(_fclose_r, (struct _reent *, FILE *));
int _EXFUN(_fcloseall_r, (struct _reent *));
FILE * _EXFUN(_fdopen_r, (struct _reent *, int, const char *));
int _EXFUN(_fflush_r, (struct _reent *, FILE *));
+int _EXFUN(_fgetc_r, (struct _reent *, FILE *));
char * _EXFUN(_fgets_r, (struct _reent *, char *, int, FILE *));
+#ifdef _COMPILING_NEWLIB
+int _EXFUN(_fgetpos_r, (struct _reent *, FILE *, _fpos_t *));
+int _EXFUN(_fsetpos_r, (struct _reent *, FILE *, const _fpos_t *));
+#else
+int _EXFUN(_fgetpos_r, (struct _reent *, FILE *, fpos_t *));
+int _EXFUN(_fsetpos_r, (struct _reent *, FILE *, const fpos_t *));
+#endif
int _EXFUN(_fiprintf_r, (struct _reent *, FILE *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 3, 4))));
int _EXFUN(_fiscanf_r, (struct _reent *, FILE *, const char *, ...)
_ATTRIBUTE ((__format__ (__scanf__, 3, 4))));
FILE * _EXFUN(_fmemopen_r, (struct _reent *, void *, size_t, const char *));
FILE * _EXFUN(_fopen_r, (struct _reent *, const char *, const char *));
+FILE * _EXFUN(_freopen_r, (struct _reent *, const char *, const char *, FILE *));
int _EXFUN(_fprintf_r, (struct _reent *, FILE *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 3, 4))));
int _EXFUN(_fputc_r, (struct _reent *, int, FILE *));
@@ -389,6 +398,7 @@ int _EXFUN(_fseek_r, (struct _reent *, FILE *, long, int));
int _EXFUN(_fseeko_r,(struct _reent *, FILE *, _off_t, int));
long _EXFUN(_ftell_r, (struct _reent *, FILE *));
_off_t _EXFUN(_ftello_r,(struct _reent *, FILE *));
+void _EXFUN(_rewind_r, (struct _reent *, FILE *));
size_t _EXFUN(_fwrite_r, (struct _reent *, const _PTR , size_t _size, size_t _n, FILE *));
int _EXFUN(_getc_r, (struct _reent *, FILE *));
int _EXFUN(_getc_unlocked_r, (struct _reent *, FILE *));
@@ -479,6 +489,7 @@ ssize_t _EXFUN(__getline, (char **, size_t *, FILE *));
#if !defined(__CYGWIN__) || defined(_COMPILING_NEWLIB)
FILE * _EXFUN(fdopen64, (int, const char *));
FILE * _EXFUN(fopen64, (const char *, const char *));
+FILE * _EXFUN(freopen64, (_CONST char *, _CONST char *, FILE *));
_off64_t _EXFUN(ftello64, (FILE *));
_off64_t _EXFUN(fseeko64, (FILE *, _off64_t, int));
int _EXFUN(fgetpos64, (FILE *, _fpos64_t *));
@@ -487,6 +498,7 @@ FILE * _EXFUN(tmpfile64, (void));
FILE * _EXFUN(_fdopen64_r, (struct _reent *, int, const char *));
FILE * _EXFUN(_fopen64_r, (struct _reent *,const char *, const char *));
+FILE * _EXFUN(_freopen64_r, (struct _reent *, _CONST char *, _CONST char *, FILE *));
_off64_t _EXFUN(_ftello64_r, (struct _reent *, FILE *));
_off64_t _EXFUN(_fseeko64_r, (struct _reent *, FILE *, _off64_t, int));
int _EXFUN(_fgetpos64_r, (struct _reent *, FILE *, _fpos64_t *));
@@ -513,12 +525,22 @@ FILE *_EXFUN(funopen,(const _PTR __cookie,
int (*__writefn)(_PTR __c, const char *__buf, int __n),
_fpos64_t (*__seekfn)(_PTR __c, _fpos64_t __off, int __whence),
int (*__closefn)(_PTR __c)));
+FILE *_EXFUN(_funopen_r,(struct _reent *, const _PTR __cookie,
+ int (*__readfn)(_PTR __c, char *__buf, int __n),
+ int (*__writefn)(_PTR __c, const char *__buf, int __n),
+ _fpos64_t (*__seekfn)(_PTR __c, _fpos64_t __off, int __whence),
+ int (*__closefn)(_PTR __c)));
# else
FILE *_EXFUN(funopen,(const _PTR __cookie,
int (*__readfn)(_PTR __cookie, char *__buf, int __n),
int (*__writefn)(_PTR __cookie, const char *__buf, int __n),
fpos_t (*__seekfn)(_PTR __cookie, fpos_t __off, int __whence),
int (*__closefn)(_PTR __cookie)));
+FILE *_EXFUN(_funopen_r,(struct _reent *, const _PTR __cookie,
+ int (*__readfn)(_PTR __cookie, char *__buf, int __n),
+ int (*__writefn)(_PTR __cookie, const char *__buf, int __n),
+ fpos_t (*__seekfn)(_PTR __cookie, fpos_t __off, int __whence),
+ int (*__closefn)(_PTR __cookie)));
# endif /* !__LARGE64_FILES */
# define fropen(__cookie, __fn) funopen(__cookie, __fn, (int (*)())0, \
@@ -545,8 +567,10 @@ typedef struct
cookie_seek_function_t *seek;
cookie_close_function_t *close;
} cookie_io_functions_t;
-FILE *_EXFUN(fopencookie,(void *__cookie, const char *__mode,
- cookie_io_functions_t __functions));
+FILE *_EXFUN(fopencookie,(void *__cookie,
+ const char *__mode, cookie_io_functions_t __functions));
+FILE *_EXFUN(_fopencookie_r,(struct _reent *, void *__cookie,
+ const char *__mode, cookie_io_functions_t __functions));
#endif /* ! __STRICT_ANSI__ */
#ifndef __CUSTOM_FILE_IO__
diff --git a/newlib/libc/include/sys/lock.h b/newlib/libc/include/sys/lock.h
index c05814a2a..9075e35c9 100644
--- a/newlib/libc/include/sys/lock.h
+++ b/newlib/libc/include/sys/lock.h
@@ -5,18 +5,20 @@
typedef int _LOCK_T;
typedef int _LOCK_RECURSIVE_T;
+
+#include <_ansi.h>
#define __LOCK_INIT(class,lock) static int lock = 0;
#define __LOCK_INIT_RECURSIVE(class,lock) static int lock = 0;
-#define __lock_init(lock) (0)
-#define __lock_init_recursive(lock) (0)
-#define __lock_close(lock) (0)
-#define __lock_close_recursive(lock) (0)
-#define __lock_acquire(lock) (0)
-#define __lock_acquire_recursive(lock) (0)
-#define __lock_try_acquire(lock) (0)
-#define __lock_try_acquire_recursive(lock) (0)
-#define __lock_release(lock) (0)
-#define __lock_release_recursive(lock) (0)
+#define __lock_init(lock) (_CAST_VOID 0)
+#define __lock_init_recursive(lock) (_CAST_VOID 0)
+#define __lock_close(lock) (_CAST_VOID 0)
+#define __lock_close_recursive(lock) (_CAST_VOID 0)
+#define __lock_acquire(lock) (_CAST_VOID 0)
+#define __lock_acquire_recursive(lock) (_CAST_VOID 0)
+#define __lock_try_acquire(lock) (_CAST_VOID 0)
+#define __lock_try_acquire_recursive(lock) (_CAST_VOID 0)
+#define __lock_release(lock) (_CAST_VOID 0)
+#define __lock_release_recursive(lock) (_CAST_VOID 0)
#endif /* __SYS_LOCK_H__ */
diff --git a/newlib/libc/include/sys/stdio.h b/newlib/libc/include/sys/stdio.h
index fa9cd5d0a..5ead79462 100644
--- a/newlib/libc/include/sys/stdio.h
+++ b/newlib/libc/include/sys/stdio.h
@@ -12,7 +12,7 @@
#ifndef __SINGLE_THREAD__
# define _flockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __lock_acquire_recursive((fp)->_lock))
#else
-# define _flockfile(fp)
+# define _flockfile(fp) (_CASTVOID 0)
#endif
#endif
@@ -20,7 +20,7 @@
#ifndef __SINGLE_THREAD__
# define _funlockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __lock_release_recursive((fp)->_lock))
#else
-# define _funlockfile(fp)
+# define _funlockfile(fp) (_CASTVOID 0)
#endif
#endif
diff --git a/newlib/libc/include/sys/time.h b/newlib/libc/include/sys/time.h
index 26346056a..9edd70185 100644
--- a/newlib/libc/include/sys/time.h
+++ b/newlib/libc/include/sys/time.h
@@ -70,7 +70,7 @@ struct itimerval {
} while (0)
#endif /* defined (__rtems__) || defined (__CYGWIN__) */
-int _EXFUN(gettimeofday, (struct timeval *__p, void *__tz));
+int _EXFUN(gettimeofday, (struct timeval *__p, struct timezone *__tz));
int _EXFUN(settimeofday, (const struct timeval *, const struct timezone *));
int _EXFUN(utimes, (const char *__path, const struct timeval *__tvp));
int _EXFUN(getitimer, (int __which, struct itimerval *__value));
diff --git a/newlib/libc/misc/__dprintf.c b/newlib/libc/misc/__dprintf.c
index 0b780f59b..eba45eaaa 100644
--- a/newlib/libc/misc/__dprintf.c
+++ b/newlib/libc/misc/__dprintf.c
@@ -4,6 +4,7 @@
We do assume _write_r is working.
*/
+#include <_ansi.h>
#include "ctype.h"
#include "reent.h"
#include "string.h"
@@ -19,10 +20,10 @@
static char *parse_number ();
#endif
-static long get_number ();
-static void print_number ();
-static void write_char ();
-static void write_string ();
+static long _EXFUN(get_number, (char *, long, int));
+static void _EXFUN(print_number, (int, int, long));
+static void _EXFUN(write_char, (char c));
+static void _EXFUN(write_string, (_CONST char *s));
/* Non-zero for big-endian systems. */
static int big_endian_p;
@@ -39,7 +40,7 @@ static int big_endian_p;
20 words at a certain address). A modifier of `N' says the next argument
is a count, and the one after that is a pointer.
- Example: __dprintf (stderr, "%Nx\n", 20, p); /-* print 20 ints at `p' *-/
+ Example: __dprintf ("%Nx\n", 20, p); /-* print 20 ints at `p' *-/
Supported formats are: c d u x s p.
@@ -54,7 +55,7 @@ static int big_endian_p;
void
#ifdef __STDC__
-__dprintf (char *fmt, ...)
+__dprintf (const char *fmt, ...)
#else
__dprintf (fmt, va_alist)
char *fmt;
@@ -176,10 +177,10 @@ parse_number (s, p)
/* Fetch the number at S of SIZE bytes. */
static long
-get_number (s, size, unsigned_p)
- char *s;
- long size;
- int unsigned_p;
+_DEFUN(get_number, (s, size, unsigned_p),
+ char *s _AND
+ long size _AND
+ int unsigned_p)
{
long x;
unsigned char *p = (unsigned char *) s;
@@ -219,10 +220,10 @@ get_number (s, size, unsigned_p)
/* Print X in base BASE. */
static void
-print_number (base, unsigned_p, n)
- int base;
- int unsigned_p;
- long n;
+_DEFUN(print_number, (base, unsigned_p, n),
+ int base _AND
+ int unsigned_p _AND
+ long n)
{
static char chars[16] = "0123456789abcdef";
char *p, buf[32];
@@ -253,8 +254,8 @@ print_number (base, unsigned_p, n)
stdio is working. */
static void
-write_char (c)
- char c;
+_DEFUN(write_char, (c),
+ char c)
{
_write_r (_REENT, CONSOLE_FD, &c, 1);
}
@@ -264,8 +265,8 @@ write_char (c)
stdio is working. */
static void
-write_string (s)
- char *s;
+_DEFUN(write_string, (s),
+ _CONST char *s)
{
_write_r (_REENT, CONSOLE_FD, s, strlen (s));
}
diff --git a/newlib/libc/reent/execr.c b/newlib/libc/reent/execr.c
index 8bc1208d7..744f56ae0 100644
--- a/newlib/libc/reent/execr.c
+++ b/newlib/libc/reent/execr.c
@@ -35,16 +35,16 @@ INDEX
ANSI_SYNOPSIS
#include <reent.h>
- int _execve_r(struct _reent *<[ptr]>, char *<[name]>,
- char **<[argv]>, char **<[env]>);
+ int _execve_r(struct _reent *<[ptr]>, const char *<[name]>,
+ char *const <[argv]>[], char *const <[env]>[]);
TRAD_SYNOPSIS
#include <reent.h>
int _execve_r(<[ptr]>, <[name]>, <[argv]>, <[env]>)
struct _reent *<[ptr]>;
char *<[name]>;
- char **<[argv]>;
- char **<[env]>;
+ char *<[argv]>[];
+ char *<[env]>[];
DESCRIPTION
This is a reentrant version of <<execve>>. It
@@ -55,9 +55,9 @@ DESCRIPTION
int
_DEFUN (_execve_r, (ptr, name, argv, env),
struct _reent *ptr _AND
- char *name _AND
- char **argv _AND
- char **env)
+ _CONST char *name _AND
+ char *_CONST argv[] _AND
+ char *_CONST env[])
{
int ret;
diff --git a/newlib/libc/stdio/asniprintf.c b/newlib/libc/stdio/asniprintf.c
index d4ff901e8..16ccfde63 100644
--- a/newlib/libc/stdio/asniprintf.c
+++ b/newlib/libc/stdio/asniprintf.c
@@ -11,6 +11,7 @@
#include <stdarg.h>
#include <limits.h>
#include <errno.h>
+#include "local.h"
char *
_DEFUN(_asniprintf_r, (ptr, buf, lenp, fmt),
diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c
index 15b48bb8b..8919554b9 100644
--- a/newlib/libc/stdio/fread.c
+++ b/newlib/libc/stdio/fread.c
@@ -87,7 +87,7 @@ _DEFUN(crlf_r, (ptr, fp, buf, count, eof),
size_t count _AND
int eof)
{
- int newcount = 0, r;
+ int r;
char *s, *d, *e;
if (count == 0)
diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h
index 8b1516f01..29e7cc6c1 100644
--- a/newlib/libc/stdio/local.h
+++ b/newlib/libc/stdio/local.h
@@ -33,6 +33,7 @@
#endif
+extern u_char *_EXFUN(__sccl, (char *, u_char *fmt));
extern int _EXFUN(__svfscanf_r,(struct _reent *,FILE *, _CONST char *,va_list));
extern int _EXFUN(__ssvfscanf_r,(struct _reent *,FILE *, _CONST char *,va_list));
extern int _EXFUN(__svfiscanf_r,(struct _reent *,FILE *, _CONST char *,va_list));
diff --git a/newlib/libc/stdio/open_memstream.c b/newlib/libc/stdio/open_memstream.c
index 6a0680fbd..27ff5be9a 100644
--- a/newlib/libc/stdio/open_memstream.c
+++ b/newlib/libc/stdio/open_memstream.c
@@ -254,7 +254,6 @@ _DEFUN(_open_memstream_r, (ptr, buf, size),
{
FILE *fp;
memstream *c;
- int flags;
if (!buf || !size)
{
diff --git a/newlib/libc/stdio/vasniprintf.c b/newlib/libc/stdio/vasniprintf.c
index bf9b7c5eb..56db45ec0 100644
--- a/newlib/libc/stdio/vasniprintf.c
+++ b/newlib/libc/stdio/vasniprintf.c
@@ -11,6 +11,7 @@
#include <stdarg.h>
#include <limits.h>
#include <errno.h>
+#include "local.h"
char *
_DEFUN(_vasniprintf_r, (ptr, buf, lenp, fmt, ap),
diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c
index cad50988f..98c3db696 100644
--- a/newlib/libc/stdio/vfscanf.c
+++ b/newlib/libc/stdio/vfscanf.c
@@ -250,8 +250,6 @@ static void * get_arg (int, va_list *, int *, void **);
typedef unsigned long long u_long_long;
#endif
-/*static*/ u_char *__sccl ();
-
/*
* vfscanf
*/
@@ -452,7 +450,8 @@ _DEFUN(__SVFSCANF_R, (rptr, fp, fmt0, ap),
size_t mbslen; /* length of converted multibyte sequence */
mbstate_t state; /* value to keep track of multibyte state */
- u_long (*ccfn) () = 0; /* conversion function (strtol/strtoul) */
+ #define CCFN_PARAMS _PARAMS((struct _reent *, const char *, char **, int))
+ u_long (*ccfn)CCFN_PARAMS=0; /* conversion function (strtol/strtoul) */
char ccltab[256]; /* character class table for %[...] */
char buf[BUF]; /* buffer for numeric conversions */
char *lptr; /* literal pointer */
@@ -658,13 +657,13 @@ _DEFUN(__SVFSCANF_R, (rptr, fp, fmt0, ap),
/* FALLTHROUGH */
case 'd':
c = CT_INT;
- ccfn = (u_long (*)())_strtol_r;
+ ccfn = (u_long (*)CCFN_PARAMS)_strtol_r;
base = 10;
break;
case 'i':
c = CT_INT;
- ccfn = (u_long (*)())_strtol_r;
+ ccfn = (u_long (*)CCFN_PARAMS)_strtol_r;
base = 0;
break;
@@ -786,7 +785,7 @@ _DEFUN(__SVFSCANF_R, (rptr, fp, fmt0, ap),
if (isupper (c))
flags |= LONG;
c = CT_INT;
- ccfn = (u_long (*)())_strtol_r;
+ ccfn = (u_long (*)CCFN_PARAMS)_strtol_r;
base = 10;
break;
}
diff --git a/newlib/libc/stdlib/__exp10.c b/newlib/libc/stdlib/__exp10.c
index 967362347..4e368b830 100644
--- a/newlib/libc/stdlib/__exp10.c
+++ b/newlib/libc/stdlib/__exp10.c
@@ -3,6 +3,7 @@
*/
#include <_ansi.h>
+#include "std.h"
double
_DEFUN (__exp10, (x),
diff --git a/newlib/libc/stdlib/__ten_mu.c b/newlib/libc/stdlib/__ten_mu.c
index 439c226e1..637197be2 100644
--- a/newlib/libc/stdlib/__ten_mu.c
+++ b/newlib/libc/stdlib/__ten_mu.c
@@ -6,6 +6,7 @@
*/
#include <_ansi.h>
+#include "std.h"
int
_DEFUN (__ten_mul, (acc, digit),
diff --git a/newlib/libc/stdlib/ldtoa.c b/newlib/libc/stdlib/ldtoa.c
index 5c2972593..ab27e4718 100644
--- a/newlib/libc/stdlib/ldtoa.c
+++ b/newlib/libc/stdlib/ldtoa.c
@@ -719,8 +719,7 @@ return(0);
/* Return nonzero if internal format number is infinite. */
static int
-eiisinf (x)
- unsigned short x[];
+eiisinf (unsigned short x[])
{
#ifdef NANS
diff --git a/newlib/libc/stdlib/std.h b/newlib/libc/stdlib/std.h
index 287503eac..b20820be4 100644
--- a/newlib/libc/stdlib/std.h
+++ b/newlib/libc/stdlib/std.h
@@ -25,7 +25,7 @@
#ifdef _HAVE_STDC
int __ten_mul(double *acc, int digit);
double __adjust(struct _reent *ptr, double *acc, int dexp, int sign);
-const double __exp10(unsigned x);
+double __exp10(unsigned x);
#else
int __ten_mul();
double __adjust();
diff --git a/newlib/libc/stdlib/system.c b/newlib/libc/stdlib/system.c
index 0b5d9a149..135a9d05b 100644
--- a/newlib/libc/stdlib/system.c
+++ b/newlib/libc/stdlib/system.c
@@ -53,6 +53,7 @@ Supporting OS subroutines required: <<_exit>>, <<_execve>>, <<_fork_r>>,
<<_wait_r>>.
*/
+#include <_ansi.h>
#include <errno.h>
#include <stddef.h>
#include <stdlib.h>
@@ -61,13 +62,13 @@ Supporting OS subroutines required: <<_exit>>, <<_execve>>, <<_fork_r>>,
#include <reent.h>
#if defined (unix) || defined (__CYGWIN__)
-static int do_system ();
+static int _EXFUN(do_system, (struct _reent *ptr _AND _CONST char *s));
#endif
int
-_system_r (ptr, s)
- struct _reent *ptr;
- _CONST char *s;
+_DEFUN(_system_r, (ptr, s),
+ struct _reent *ptr _AND
+ _CONST char *s)
{
#if defined(HAVE_SYSTEM)
return _system (s);
@@ -101,8 +102,8 @@ _system_r (ptr, s)
#ifndef _REENT_ONLY
int
-system (s)
- _CONST char *s;
+_DEFUN(system, (s),
+ _CONST char *s)
{
return _system_r (_REENT, s);
}
@@ -118,9 +119,9 @@ extern char **environ;
static char ***p_environ = &environ;
static int
-do_system (ptr, s)
- struct _reent *ptr;
- _CONST char *s;
+_DEFUN(do_system, (ptr, s),
+ struct _reent *ptr _AND
+ _CONST char *s)
{
char *argv[4];
int pid, status;
@@ -150,9 +151,9 @@ do_system (ptr, s)
#if defined (__CYGWIN__)
static int
-do_system (ptr, s)
- struct _reent *ptr;
- _CONST char *s;
+_DEFUN(do_system, (ptr, s),
+ struct _reent *ptr _AND
+ _CONST char *s)
{
char *argv[4];
int pid, status;
diff --git a/newlib/libc/string/memcpy.c b/newlib/libc/string/memcpy.c
index 5336f25a9..5a09ec4f4 100644
--- a/newlib/libc/string/memcpy.c
+++ b/newlib/libc/string/memcpy.c
@@ -7,6 +7,7 @@ ANSI_SYNOPSIS
void* memcpy(void *<[out]>, const void *<[in]>, size_t <[n]>);
TRAD_SYNOPSIS
+ #include <string.h>
void *memcpy(<[out]>, <[in]>, <[n]>
void *<[out]>;
void *<[in]>;
@@ -33,8 +34,7 @@ QUICKREF
*/
#include <_ansi.h>
-#include <stddef.h>
-#include <limits.h>
+#include <string.h>
/* Nonzero if either X or Y is not aligned on a "long" boundary. */
#define UNALIGNED(X, Y) \
diff --git a/newlib/libc/syscalls/sysclose.c b/newlib/libc/syscalls/sysclose.c
index d05d2866c..946544bed 100644
--- a/newlib/libc/syscalls/sysclose.c
+++ b/newlib/libc/syscalls/sysclose.c
@@ -1,6 +1,7 @@
/* connector for close */
#include <reent.h>
+#include <unistd.h>
int
_DEFUN (close, (fd),
diff --git a/newlib/libc/syscalls/sysexecve.c b/newlib/libc/syscalls/sysexecve.c
index 4917446a9..154c082f9 100644
--- a/newlib/libc/syscalls/sysexecve.c
+++ b/newlib/libc/syscalls/sysexecve.c
@@ -1,12 +1,13 @@
/* connector for execve */
#include <reent.h>
+#include <unistd.h>
int
_DEFUN (execve, (name, argv, env),
- char *name _AND
- char **argv _AND
- char **env)
+ _CONST char *name _AND
+ char *_CONST argv[] _AND
+ char *_CONST env[])
{
return _execve_r (_REENT, name, argv, env);
}
diff --git a/newlib/libc/syscalls/sysfork.c b/newlib/libc/syscalls/sysfork.c
index fd2839148..21e6be0e2 100644
--- a/newlib/libc/syscalls/sysfork.c
+++ b/newlib/libc/syscalls/sysfork.c
@@ -5,6 +5,7 @@
#ifndef NO_FORK
#include <reent.h>
+#include <unistd.h>
int
_DEFUN_VOID (fork)
diff --git a/newlib/libc/syscalls/sysfstat.c b/newlib/libc/syscalls/sysfstat.c
index 864c0ab9c..7ce2c9dfe 100644
--- a/newlib/libc/syscalls/sysfstat.c
+++ b/newlib/libc/syscalls/sysfstat.c
@@ -1,6 +1,7 @@
/* connector for fstat */
#include <reent.h>
+#include <sys/stat.h>
#include <unistd.h>
int
diff --git a/newlib/libc/syscalls/sysgetpid.c b/newlib/libc/syscalls/sysgetpid.c
index a7048acc7..f18783c75 100644
--- a/newlib/libc/syscalls/sysgetpid.c
+++ b/newlib/libc/syscalls/sysgetpid.c
@@ -1,6 +1,7 @@
/* connector for getpid */
#include <reent.h>
+#include <unistd.h>
int
_DEFUN_VOID (getpid)
diff --git a/newlib/libc/syscalls/sysgettod.c b/newlib/libc/syscalls/sysgettod.c
index 273d19e59..9f25b052e 100644
--- a/newlib/libc/syscalls/sysgettod.c
+++ b/newlib/libc/syscalls/sysgettod.c
@@ -2,10 +2,7 @@
#include <reent.h>
#include <sys/types.h>
-#include <sys/times.h>
-
-struct timeval;
-struct timezone;
+#include <sys/time.h>
int
_DEFUN (gettimeofday, (ptimeval, ptimezone),
diff --git a/newlib/libc/syscalls/syskill.c b/newlib/libc/syscalls/syskill.c
index fb364f511..27f16be97 100644
--- a/newlib/libc/syscalls/syskill.c
+++ b/newlib/libc/syscalls/syskill.c
@@ -1,6 +1,7 @@
/* connector for kill */
#include <reent.h>
+#include <signal.h>
int
_DEFUN (kill, (pid, sig),
diff --git a/newlib/libc/syscalls/syslink.c b/newlib/libc/syscalls/syslink.c
index 841684f46..327870769 100644
--- a/newlib/libc/syscalls/syslink.c
+++ b/newlib/libc/syscalls/syslink.c
@@ -1,11 +1,12 @@
/* connector for link */
#include <reent.h>
+#include <unistd.h>
int
_DEFUN (link, (old, new),
- char *old _AND
- char *new)
+ _CONST char *old _AND
+ _CONST char *new)
{
return _link_r (_REENT, old, new);
}
diff --git a/newlib/libc/syscalls/sysstat.c b/newlib/libc/syscalls/sysstat.c
index e93f61919..fdf029cef 100644
--- a/newlib/libc/syscalls/sysstat.c
+++ b/newlib/libc/syscalls/sysstat.c
@@ -1,11 +1,12 @@
/* connector for stat */
#include <reent.h>
+#include <sys/stat.h>
#include <unistd.h>
int
_DEFUN (stat, (file, pstat),
- char *file _AND
+ _CONST char *file _AND
struct stat *pstat)
{
return _stat_r (_REENT, file, pstat);
diff --git a/newlib/libc/syscalls/sysunlink.c b/newlib/libc/syscalls/sysunlink.c
index 1c5a69cfe..1399a80e5 100644
--- a/newlib/libc/syscalls/sysunlink.c
+++ b/newlib/libc/syscalls/sysunlink.c
@@ -1,10 +1,11 @@
/* connector for unlink */
#include <reent.h>
+#include <unistd.h>
int
_DEFUN (unlink, (file),
- char *file)
+ _CONST char *file)
{
return _unlink_r (_REENT, file);
}
diff --git a/newlib/libc/syscalls/syswait.c b/newlib/libc/syscalls/syswait.c
index ec38a321f..070160342 100644
--- a/newlib/libc/syscalls/syswait.c
+++ b/newlib/libc/syscalls/syswait.c
@@ -1,8 +1,9 @@
/* connector for wait */
#include <reent.h>
+#include <sys/wait.h>
-int
+pid_t
_DEFUN (wait, (status),
int *status)
{
diff --git a/newlib/libc/time/mktime.c b/newlib/libc/time/mktime.c
index 938513233..d75d7cc85 100644
--- a/newlib/libc/time/mktime.c
+++ b/newlib/libc/time/mktime.c
@@ -67,8 +67,8 @@ static _CONST int _DAYS_BEFORE_MONTH[12] =
#define _DAYS_IN_YEAR(year) (_ISLEAP(year) ? 366 : 365)
static void
-validate_structure (tim_p)
- struct tm *tim_p;
+_DEFUN(validate_structure, (tim_p),
+ struct tm *tim_p)
{
div_t res;
int days_in_feb = 28;
@@ -154,8 +154,8 @@ validate_structure (tim_p)
}
time_t
-mktime (tim_p)
- struct tm *tim_p;
+_DEFUN(mktime, (tim_p),
+ struct tm *tim_p)
{
time_t tim = 0;
long days = 0;