summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2013-11-25 13:46:23 +0000
committerJoel Sherrill <joel.sherrill@oarcorp.com>2013-11-25 13:46:23 +0000
commitd482870337349732ad1c9f3715730fd32b6216d0 (patch)
treea7395d230c93fee8c52d2b4730963001bdf7149d
parent3073f26d6ab5d0ce902d5bfe75600e6577d903c9 (diff)
downloadcygnal-d482870337349732ad1c9f3715730fd32b6216d0.tar.gz
cygnal-d482870337349732ad1c9f3715730fd32b6216d0.tar.bz2
cygnal-d482870337349732ad1c9f3715730fd32b6216d0.zip
2013-11-25 Sahil Patnayakuni <sahil.patnayakuni@gmail.com>
* libc/include/time.h (time): Add restrict keyword. * libc/include/wchar.h (wcsftime): Add restrict keyword. * libc/time/asctime_r.c (asctime_r): Same. * libc/time/gmtime_r.c (gmtime_r): Same. * libc/time/lcltime_r.c (lcltime_r): Same. * libc/time/strftime.c (strftime): Same. * libc/time/strptime.c (strptime): Same. * libc/sys/linux/linuxthreads/timer_create.c (timer_create): Same. * libc/sys/linux/linuxthreads/timer_settime.c (timer_settime): Same.
-rw-r--r--newlib/ChangeLog11
-rw-r--r--newlib/libc/include/time.h26
-rw-r--r--newlib/libc/include/wchar.h3
-rw-r--r--newlib/libc/sys/linux/linuxthreads/timer_create.c4
-rw-r--r--newlib/libc/sys/linux/linuxthreads/timer_settime.c4
-rw-r--r--newlib/libc/time/asctime_r.c4
-rw-r--r--newlib/libc/time/gmtime_r.c4
-rw-r--r--newlib/libc/time/lcltime_r.c4
-rw-r--r--newlib/libc/time/strftime.c17
-rw-r--r--newlib/libc/time/strptime.c6
10 files changed, 53 insertions, 30 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index c379d53c6..6b7d7b15a 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,14 @@
+2013-11-25 Sahil Patnayakuni <sahil.patnayakuni@gmail.com>
+
+ * libc/include/time.h (time): Add restrict keyword.
+ * libc/include/wchar.h (wcsftime): Add restrict keyword.
+ * libc/time/asctime_r.c (asctime_r): Same.
+ * libc/time/gmtime_r.c (gmtime_r): Same.
+ * libc/time/lcltime_r.c (lcltime_r): Same.
+ * libc/time/strftime.c (strftime): Same.
+ * libc/time/strptime.c (strptime): Same.
+ * libc/sys/linux/linuxthreads/timer_create.c (timer_create): Same.
+ * libc/sys/linux/linuxthreads/timer_settime.c (timer_settime): Same.
2013-11-23 Bryan Dunsmore <dunsmoreb@gmail.com>
* libc/include/wordexp.h (wordexp): Add restrict keyword.
diff --git a/newlib/libc/include/time.h b/newlib/libc/include/time.h
index c760297f9..b91b03920 100644
--- a/newlib/libc/include/time.h
+++ b/newlib/libc/include/time.h
@@ -51,12 +51,17 @@ char *_EXFUN(ctime, (const time_t *_time));
struct tm *_EXFUN(gmtime, (const time_t *_timer));
struct tm *_EXFUN(localtime,(const time_t *_timer));
#endif
-size_t _EXFUN(strftime, (char *_s, size_t _maxsize, const char *_fmt, const struct tm *_t));
+size_t _EXFUN(strftime, (char *__restrict _s,
+ size_t _maxsize, const char *__restrict _fmt,
+ const struct tm *__restrict _t));
-char *_EXFUN(asctime_r, (const struct tm *, char *));
+char *_EXFUN(asctime_r, (const struct tm *__restrict,
+ char *__restrict));
char *_EXFUN(ctime_r, (const time_t *, char *));
-struct tm *_EXFUN(gmtime_r, (const time_t *, struct tm *));
-struct tm *_EXFUN(localtime_r, (const time_t *, struct tm *));
+struct tm *_EXFUN(gmtime_r, (const time_t *__restrict,
+ struct tm *__restrict));
+struct tm *_EXFUN(localtime_r, (const time_t *__restrict,
+ struct tm *__restrict));
_END_STD_C
@@ -65,7 +70,9 @@ extern "C" {
#endif
#ifndef __STRICT_ANSI__
-char *_EXFUN(strptime, (const char *, const char *, struct tm *));
+char *_EXFUN(strptime, (const char *__restrict,
+ const char *__restrict,
+ struct tm *__restrict));
_VOID _EXFUN(tzset, (_VOID));
_VOID _EXFUN(_tzset_r, (struct _reent *));
@@ -150,7 +157,9 @@ int _EXFUN(clock_getres, (clockid_t clock_id, struct timespec *res));
/* Create a Per-Process Timer, P1003.1b-1993, p. 264 */
int _EXFUN(timer_create,
- (clockid_t clock_id, struct sigevent *evp, timer_t *timerid));
+ (clockid_t clock_id,
+ struct sigevent *__restrict evp,
+ timer_t *__restrict timerid));
/* Delete a Per_process Timer, P1003.1b-1993, p. 266 */
@@ -159,8 +168,9 @@ int _EXFUN(timer_delete, (timer_t timerid));
/* Per-Process Timers, P1003.1b-1993, p. 267 */
int _EXFUN(timer_settime,
- (timer_t timerid, int flags, const struct itimerspec *value,
- struct itimerspec *ovalue));
+ (timer_t timerid, int flags,
+ const struct itimerspec *__restrict value,
+ struct itimerspec *__restrict ovalue));
int _EXFUN(timer_gettime, (timer_t timerid, struct itimerspec *value));
int _EXFUN(timer_getoverrun, (timer_t timerid));
diff --git a/newlib/libc/include/wchar.h b/newlib/libc/include/wchar.h
index 5707ddcd3..5c991efc9 100644
--- a/newlib/libc/include/wchar.h
+++ b/newlib/libc/include/wchar.h
@@ -79,7 +79,8 @@ wchar_t *_EXFUN(wcpcpy, (wchar_t * , const wchar_t *));
wchar_t *_EXFUN(wcsdup, (const wchar_t *));
wchar_t *_EXFUN(_wcsdup_r, (struct _reent *, const wchar_t * ));
size_t _EXFUN(wcscspn, (const wchar_t *, const wchar_t *));
-size_t _EXFUN(wcsftime, (wchar_t *, size_t, const wchar_t *, const struct tm *));
+size_t _EXFUN(wcsftime, (wchar_t *__restrict, size_t,
+ const wchar_t *__restrict, const struct tm *__restrict));
size_t _EXFUN(wcslcat, (wchar_t *, const wchar_t *, size_t));
size_t _EXFUN(wcslcpy, (wchar_t *, const wchar_t *, size_t));
size_t _EXFUN(wcslen, (const wchar_t *));
diff --git a/newlib/libc/sys/linux/linuxthreads/timer_create.c b/newlib/libc/sys/linux/linuxthreads/timer_create.c
index 1dccd3036..5eff1fc37 100644
--- a/newlib/libc/sys/linux/linuxthreads/timer_create.c
+++ b/newlib/libc/sys/linux/linuxthreads/timer_create.c
@@ -30,8 +30,8 @@
int
timer_create (clock_id, evp, timerid)
clockid_t clock_id;
- struct sigevent *evp;
- timer_t *timerid;
+ struct sigevent *__restrict evp;
+ timer_t *__restrict timerid;
{
int retval = -1;
struct timer_node *newtimer = NULL;
diff --git a/newlib/libc/sys/linux/linuxthreads/timer_settime.c b/newlib/libc/sys/linux/linuxthreads/timer_settime.c
index 2f187fd18..697640724 100644
--- a/newlib/libc/sys/linux/linuxthreads/timer_settime.c
+++ b/newlib/libc/sys/linux/linuxthreads/timer_settime.c
@@ -29,8 +29,8 @@ int
timer_settime (timerid, flags, value, ovalue)
timer_t timerid;
int flags;
- const struct itimerspec *value;
- struct itimerspec *ovalue;
+ const struct itimerspec *__restrict value;
+ struct itimerspec *__restrict ovalue;
{
struct timer_node *timer;
struct thread_node *thread = NULL;
diff --git a/newlib/libc/time/asctime_r.c b/newlib/libc/time/asctime_r.c
index e8abff1c0..2ec53698e 100644
--- a/newlib/libc/time/asctime_r.c
+++ b/newlib/libc/time/asctime_r.c
@@ -7,8 +7,8 @@
char *
_DEFUN (asctime_r, (tim_p, result),
- _CONST struct tm *tim_p _AND
- char *result)
+ _CONST struct tm *__restrict tim_p _AND
+ char *__restrict result)
{
static _CONST char day_name[7][3] = {
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
diff --git a/newlib/libc/time/gmtime_r.c b/newlib/libc/time/gmtime_r.c
index fb39238d3..14c9c7640 100644
--- a/newlib/libc/time/gmtime_r.c
+++ b/newlib/libc/time/gmtime_r.c
@@ -7,8 +7,8 @@
struct tm *
_DEFUN (gmtime_r, (tim_p, res),
- _CONST time_t * tim_p _AND
- struct tm *res)
+ _CONST time_t *__restrict tim_p _AND
+ struct tm *__restrict res)
{
return (_mktm_r (tim_p, res, 1));
}
diff --git a/newlib/libc/time/lcltime_r.c b/newlib/libc/time/lcltime_r.c
index cf386719c..9e168aa3f 100644
--- a/newlib/libc/time/lcltime_r.c
+++ b/newlib/libc/time/lcltime_r.c
@@ -11,8 +11,8 @@
struct tm *
_DEFUN (localtime_r, (tim_p, res),
- _CONST time_t * tim_p _AND
- struct tm *res)
+ _CONST time_t *__restrict tim_p _AND
+ struct tm *__restrict res)
{
return _mktm_r (tim_p, res, 0);
}
diff --git a/newlib/libc/time/strftime.c b/newlib/libc/time/strftime.c
index 2bcedb2a0..ea15813d8 100644
--- a/newlib/libc/time/strftime.c
+++ b/newlib/libc/time/strftime.c
@@ -24,8 +24,9 @@ INDEX
ANSI_SYNOPSIS
#include <time.h>
- size_t strftime(char *<[s]>, size_t <[maxsize]>,
- const char *<[format]>, const struct tm *<[timp]>);
+ size_t strftime(char *restrict<[s]>, size_t <[maxsize]>,
+ const char *restrict<[format]>,
+ const struct tm *restrict<[timp]>);
TRAD_SYNOPSIS
#include <time.h>
@@ -662,10 +663,10 @@ static size_t __strftime (CHAR *, size_t, const CHAR *, const struct tm *,
size_t
_DEFUN (strftime, (s, maxsize, format, tim_p),
- CHAR *s _AND
+ CHAR *__restrict s _AND
size_t maxsize _AND
- _CONST CHAR *format _AND
- _CONST struct tm *tim_p)
+ _CONST CHAR *__restrict format _AND
+ _CONST struct tm *__restrict tim_p)
{
era_info_t *era_info = NULL;
alt_digits_t *alt_digits = NULL;
@@ -686,10 +687,10 @@ __strftime (CHAR *s, size_t maxsize, const CHAR *format,
size_t
_DEFUN (strftime, (s, maxsize, format, tim_p),
- CHAR *s _AND
+ CHAR *__restrict s _AND
size_t maxsize _AND
- _CONST CHAR *format _AND
- _CONST struct tm *tim_p)
+ _CONST CHAR *__restrict format _AND
+ _CONST struct tm *__restrict tim_p)
#endif /* !_WANT_C99_TIME_FORMATS */
{
size_t count = 0;
diff --git a/newlib/libc/time/strptime.c b/newlib/libc/time/strptime.c
index 601f93e8a..d7dd7a2b2 100644
--- a/newlib/libc/time/strptime.c
+++ b/newlib/libc/time/strptime.c
@@ -153,9 +153,9 @@ set_week_number_mon4 (struct tm *timeptr, int wnum)
char *
//strptime (const char *buf, const char *format, struct tm *timeptr)
_DEFUN (strptime, (buf, format, timeptr),
- _CONST char *buf _AND
- _CONST char *format _AND
- struct tm *timeptr)
+ _CONST char *__restrict buf _AND
+ _CONST char *__restrict format _AND
+ struct tm *__restrict timeptr)
{
char c;
int ymd = 0;