mirror of
https://github.com/fluencelabs/musl
synced 2025-07-31 06:11:57 +00:00
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.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user