summaryrefslogtreecommitdiff
path: root/src/stdlib
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-09-06 22:44:55 -0400
committerRich Felker <dalias@aerifal.cx>2012-09-06 22:44:55 -0400
commit400c5e5c8307a2ebe44ef1f203f5a15669f20347 (patch)
tree087a48dc8251fa05f6866af8ebf96b69450b15ab /src/stdlib
parentbac03cdde1137c16b4c194e137310e2748661dcc (diff)
downloadmusl-400c5e5c8307a2ebe44ef1f203f5a15669f20347.tar.gz
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.
Diffstat (limited to 'src/stdlib')
-rw-r--r--src/stdlib/strtod.c6
-rw-r--r--src/stdlib/strtol.c12
-rw-r--r--src/stdlib/wcstod.c6
-rw-r--r--src/stdlib/wcstol.c12
4 files changed, 18 insertions, 18 deletions
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);
}