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:
parent
bac03cdde1
commit
400c5e5c83
192 changed files with 552 additions and 382 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue