From 400c5e5c8307a2ebe44ef1f203f5a15669f20347 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 6 Sep 2012 22:44:55 -0400 Subject: use restrict everywhere it's required by c99 and/or posix 2008 to deal with the fact that the public headers may be used with pre-c99 compilers, __restrict is used in place of restrict, and defined appropriately for any supported compiler. we also avoid the form [restrict] since older versions of gcc rejected it due to a bug in the original c99 standard, and instead use the form *restrict. --- src/stdlib/strtod.c | 6 +++--- src/stdlib/strtol.c | 12 ++++++------ src/stdlib/wcstod.c | 6 +++--- src/stdlib/wcstol.c | 12 ++++++------ 4 files changed, 18 insertions(+), 18 deletions(-) (limited to 'src/stdlib') diff --git a/src/stdlib/strtod.c b/src/stdlib/strtod.c index 1886efa5..c6f89e79 100644 --- a/src/stdlib/strtod.c +++ b/src/stdlib/strtod.c @@ -16,17 +16,17 @@ static long double strtox(const char *s, char **p, int prec) return y; } -float strtof(const char *s, char **p) +float strtof(const char *restrict s, char **restrict p) { return strtox(s, p, 0); } -double strtod(const char *s, char **p) +double strtod(const char *restrict s, char **restrict p) { return strtox(s, p, 1); } -long double strtold(const char *s, char **p) +long double strtold(const char *restrict s, char **restrict p) { return strtox(s, p, 2); } diff --git a/src/stdlib/strtol.c b/src/stdlib/strtol.c index 4a949cb0..23a2f3b6 100644 --- a/src/stdlib/strtol.c +++ b/src/stdlib/strtol.c @@ -22,32 +22,32 @@ static unsigned long long strtox(const char *s, char **p, int base, unsigned lon return y; } -unsigned long long strtoull(const char *s, char **p, int base) +unsigned long long strtoull(const char *restrict s, char **restrict p, int base) { return strtox(s, p, base, ULLONG_MAX); } -long long strtoll(const char *s, char **p, int base) +long long strtoll(const char *restrict s, char **restrict p, int base) { return strtox(s, p, base, LLONG_MIN); } -unsigned long strtoul(const char *s, char **p, int base) +unsigned long strtoul(const char *restrict s, char **restrict p, int base) { return strtox(s, p, base, ULONG_MAX); } -long strtol(const char *s, char **p, int base) +long strtol(const char *restrict s, char **restrict p, int base) { return strtox(s, p, base, 0UL+LONG_MIN); } -intmax_t strtoimax(const char *s, char **p, int base) +intmax_t strtoimax(const char *restrict s, char **restrict p, int base) { return strtoll(s, p, base); } -uintmax_t strtoumax(const char *s, char **p, int base) +uintmax_t strtoumax(const char *restrict s, char **restrict p, int base) { return strtoull(s, p, base); } diff --git a/src/stdlib/wcstod.c b/src/stdlib/wcstod.c index 5ec45dd7..03670b0b 100644 --- a/src/stdlib/wcstod.c +++ b/src/stdlib/wcstod.c @@ -47,17 +47,17 @@ static long double wcstox(const wchar_t *s, wchar_t **p, int prec) return y; } -float wcstof(const wchar_t *s, wchar_t **p) +float wcstof(const wchar_t *restrict s, wchar_t **restrict p) { return wcstox(s, p, 0); } -double wcstod(const wchar_t *s, wchar_t **p) +double wcstod(const wchar_t *restrict s, wchar_t **restrict p) { return wcstox(s, p, 1); } -long double wcstold(const wchar_t *s, wchar_t **p) +long double wcstold(const wchar_t *restrict s, wchar_t **restrict p) { return wcstox(s, p, 2); } diff --git a/src/stdlib/wcstol.c b/src/stdlib/wcstol.c index 840bb0a6..3d7c97da 100644 --- a/src/stdlib/wcstol.c +++ b/src/stdlib/wcstol.c @@ -47,32 +47,32 @@ static unsigned long long wcstox(const wchar_t *s, wchar_t **p, int base, unsign return y; } -unsigned long long wcstoull(const wchar_t *s, wchar_t **p, int base) +unsigned long long wcstoull(const wchar_t *restrict s, wchar_t **restrict p, int base) { return wcstox(s, p, base, ULLONG_MAX); } -long long wcstoll(const wchar_t *s, wchar_t **p, int base) +long long wcstoll(const wchar_t *restrict s, wchar_t **restrict p, int base) { return wcstox(s, p, base, LLONG_MIN); } -unsigned long wcstoul(const wchar_t *s, wchar_t **p, int base) +unsigned long wcstoul(const wchar_t *restrict s, wchar_t **restrict p, int base) { return wcstox(s, p, base, ULONG_MAX); } -long wcstol(const wchar_t *s, wchar_t **p, int base) +long wcstol(const wchar_t *restrict s, wchar_t **restrict p, int base) { return wcstox(s, p, base, 0UL+LONG_MIN); } -intmax_t wcstoimax(const wchar_t *s, wchar_t **p, int base) +intmax_t wcstoimax(const wchar_t *restrict s, wchar_t **restrict p, int base) { return wcstoll(s, p, base); } -uintmax_t wcstoumax(const wchar_t *s, wchar_t **p, int base) +uintmax_t wcstoumax(const wchar_t *restrict s, wchar_t **restrict p, int base) { return wcstoull(s, p, base); } -- cgit v1.2.1