Changeset: abcff04764bb for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=abcff04764bb
Modified Files:
        clients/Tests/exports.stable.out
        clients/mapiclient/mclient.c
        common/stream/stream.c
        common/stream/stream.h
Branch: default
Log Message:

Add restrict qualifier to all stream functions with more than one pointer 
argument.


diffs (truncated from 994 to 300 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -2612,20 +2612,20 @@ ssize_t bstream_read(bstream *s, size_t 
 buffer *buffer_create(size_t size);
 void buffer_destroy(buffer *b);
 char *buffer_get_buf(buffer *b);
-void buffer_init(buffer *b, char *buf, size_t size);
-stream *buffer_rastream(buffer *b, const char *name);
-stream *buffer_wastream(buffer *b, const char *name);
-stream *callback_stream(void *priv, ssize_t( *read)(void *priv, void *buf, 
size_t elmsize, size_t cnt), void( *close)(void *priv), void( *destroy)(void 
*priv), const char *name);
+void buffer_init(buffer *restrict b, char *restrict buf, size_t size);
+stream *buffer_rastream(buffer *restrict b, const char *restrict name);
+stream *buffer_wastream(buffer *restrict b, const char *restrict name);
+stream *callback_stream(void *restrict priv, ssize_t( *read)(void *restrict 
priv, void *restrict buf, size_t elmsize, size_t cnt), void( *close)(void 
*priv), void( *destroy)(void *priv), const char *restrict name);
 void close_stream(stream *s);
-stream *file_rastream(FILE *fp, const char *name);
-stream *file_rstream(FILE *fp, const char *name);
-stream *file_wastream(FILE *fp, const char *name);
-stream *file_wstream(FILE *fp, const char *name);
+stream *file_rastream(FILE *restrict fp, const char *restrict name);
+stream *file_rstream(FILE *restrict fp, const char *restrict name);
+stream *file_wastream(FILE *restrict fp, const char *restrict name);
+stream *file_wstream(FILE *restrict fp, const char *restrict name);
 FILE *getFile(stream *s);
 int getFileNo(stream *s);
 size_t getFileSize(stream *s);
-stream *iconv_rstream(stream *ss, const char *charset, const char *name);
-stream *iconv_wstream(stream *ss, const char *charset, const char *name);
+stream *iconv_rstream(stream *restrict ss, const char *restrict charset, const 
char *restrict name);
+stream *iconv_wstream(stream *restrict ss, const char *restrict charset, const 
char *restrict name);
 int isa_block_stream(stream *s);
 int isa_fixed_block_stream(stream *s);
 int mnstr_byteorder(stream *s);
@@ -2634,48 +2634,48 @@ void mnstr_close(stream *s);
 void mnstr_destroy(stream *s);
 int mnstr_errnr(stream *s);
 char *mnstr_error(stream *s);
-int mnstr_fgetpos(stream *s, fpos_t *p);
+int mnstr_fgetpos(stream *restrict s, fpos_t *restrict p);
 int mnstr_flush(stream *s);
-int mnstr_fsetpos(stream *s, fpos_t *p);
+int mnstr_fsetpos(stream *restrict s, fpos_t *restrict p);
 int mnstr_fsync(stream *s);
 buffer *mnstr_get_buffer(stream *s);
 int mnstr_init(void);
 int mnstr_isalive(stream *s);
 char *mnstr_name(stream *s);
-int mnstr_printf(stream *s, _In_z_ _Printf_format_string_ const char *format, 
...) __attribute__((__format__(__printf__, 2, 3)));
-ssize_t mnstr_read(stream *s, void *buf, size_t elmsize, size_t cnt);
-int mnstr_readBte(stream *s, signed char *val);
-int mnstr_readBteArray(stream *s, signed char *val, size_t cnt);
-int mnstr_readChr(stream *s, char *val);
-int mnstr_readHge(stream *s, hge *val);
-int mnstr_readHgeArray(stream *s, hge *val, size_t cnt);
-int mnstr_readInt(stream *s, int *val);
-int mnstr_readIntArray(stream *s, int *val, size_t cnt);
-int mnstr_readLng(stream *s, lng *val);
-int mnstr_readLngArray(stream *s, lng *val, size_t cnt);
-int mnstr_readSht(stream *s, short *val);
-int mnstr_readShtArray(stream *s, short *val, size_t cnt);
-int mnstr_readStr(stream *s, char *val);
-ssize_t mnstr_read_block(stream *s, void *buf, size_t elmsize, size_t cnt);
-ssize_t mnstr_readline(stream *s, void *buf, size_t maxcnt);
+int mnstr_printf(stream *restrict s, _In_z_ _Printf_format_string_ const char 
*restrict format, ...) __attribute__((__format__(__printf__, 2, 3)));
+ssize_t mnstr_read(stream *restrict s, void *restrict buf, size_t elmsize, 
size_t cnt);
+int mnstr_readBte(stream *restrict s, signed char *restrict val);
+int mnstr_readBteArray(stream *restrict s, signed char *restrict val, size_t 
cnt);
+int mnstr_readChr(stream *restrict s, char *restrict val);
+int mnstr_readHge(stream *restrict s, hge *restrict val);
+int mnstr_readHgeArray(stream *restrict s, hge *restrict val, size_t cnt);
+int mnstr_readInt(stream *restrict s, int *restrict val);
+int mnstr_readIntArray(stream *restrict s, int *restrict val, size_t cnt);
+int mnstr_readLng(stream *restrict s, lng *restrict val);
+int mnstr_readLngArray(stream *restrict s, lng *restrict val, size_t cnt);
+int mnstr_readSht(stream *restrict s, short *restrict val);
+int mnstr_readShtArray(stream *restrict s, short *restrict val, size_t cnt);
+int mnstr_readStr(stream *restrict s, char *restrict val);
+ssize_t mnstr_read_block(stream *restrict s, void *restrict buf, size_t 
elmsize, size_t cnt);
+ssize_t mnstr_readline(stream *restrict s, void *restrict buf, size_t maxcnt);
 void mnstr_set_byteorder(stream *s, char bigendian);
 void mnstr_settimeout(stream *s, unsigned int ms, int( *func)(void));
 int mnstr_type(stream *s);
-ssize_t mnstr_write(stream *s, const void *buf, size_t elmsize, size_t cnt);
+ssize_t mnstr_write(stream *restrict s, const void *restrict buf, size_t 
elmsize, size_t cnt);
 int mnstr_writeBte(stream *s, signed char val);
-int mnstr_writeBteArray(stream *s, const signed char *val, size_t cnt);
+int mnstr_writeBteArray(stream *restrict s, const signed char *restrict val, 
size_t cnt);
 int mnstr_writeChr(stream *s, char val);
 int mnstr_writeDbl(stream *s, double val);
 int mnstr_writeFlt(stream *s, float val);
 int mnstr_writeHge(stream *s, hge val);
-int mnstr_writeHgeArray(stream *s, const hge *val, size_t cnt);
+int mnstr_writeHgeArray(stream *restrict s, const hge *restrict val, size_t 
cnt);
 int mnstr_writeInt(stream *s, int val);
-int mnstr_writeIntArray(stream *s, const int *val, size_t cnt);
+int mnstr_writeIntArray(stream *restrict s, const int *restrict val, size_t 
cnt);
 int mnstr_writeLng(stream *s, lng val);
-int mnstr_writeLngArray(stream *s, const lng *val, size_t cnt);
+int mnstr_writeLngArray(stream *restrict s, const lng *restrict val, size_t 
cnt);
 int mnstr_writeSht(stream *s, short val);
-int mnstr_writeShtArray(stream *s, const short *val, size_t cnt);
-int mnstr_writeStr(stream *s, const char *val);
+int mnstr_writeShtArray(stream *restrict s, const short *restrict val, size_t 
cnt);
+int mnstr_writeStr(stream *restrict s, const char *restrict val);
 stream *open_rastream(const char *filename);
 stream *open_rstream(const char *filename);
 stream *open_urlstream(const char *url);
@@ -2686,7 +2686,7 @@ stream *socket_rstream(SOCKET socket, co
 stream *socket_wastream(SOCKET socket, const char *name);
 stream *socket_wstream(SOCKET socket, const char *name);
 stream *stream_blackhole_create(void);
-stream *stream_fwf_create(stream *s, size_t num_fields, size_t *widths, char 
filler);
+stream *stream_fwf_create(stream *restrict s, size_t num_fields, size_t 
*restrict widths, char filler);
 
 
 # 21:41:06 >  
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -2215,7 +2215,7 @@ struct myread_t {
 };
 
 static ssize_t
-myread(void *private, void *buf, size_t elmsize, size_t cnt)
+myread(void *restrict private, void *restrict buf, size_t elmsize, size_t cnt)
 {
        struct myread_t *p = private;
        size_t size = elmsize * cnt;
diff --git a/common/stream/stream.c b/common/stream/stream.c
--- a/common/stream/stream.c
+++ b/common/stream/stream.c
@@ -198,16 +198,16 @@ struct stream {
                SOCKET s;
        } stream_data;
        int errnr;
-       ssize_t (*read)(stream *s, void *buf, size_t elmsize, size_t cnt);
-       ssize_t (*write)(stream *s, const void *buf, size_t elmsize, size_t 
cnt);
+       ssize_t (*read)(stream *restrict s, void *restrict buf, size_t elmsize, 
size_t cnt);
+       ssize_t (*write)(stream *restrict s, const void *restrict buf, size_t 
elmsize, size_t cnt);
        void (*close)(stream *s);
        void (*clrerr)(stream *s);
        char *(*error)(stream *s);
        void (*destroy)(stream *s);
        int (*flush)(stream *s);
        int (*fsync)(stream *s);
-       int (*fgetpos)(stream *s, fpos_t *p);
-       int (*fsetpos)(stream *s, fpos_t *p);
+       int (*fgetpos)(stream *restrict s, fpos_t *restrict p);
+       int (*fsetpos)(stream *restrict s, fpos_t *restrict p);
        void (*update_timeout)(stream *s);
        int (*isalive)(stream *s);
 };
@@ -361,7 +361,7 @@ cvfilename(const char *filename)
 /* Read at most cnt elements of size elmsize from the stream.  Returns
  * the number of elements actually read or < 0 on failure. */
 ssize_t
-mnstr_read(stream *s, void *buf, size_t elmsize, size_t cnt)
+mnstr_read(stream *restrict s, void *restrict buf, size_t elmsize, size_t cnt)
 {
        if (s == NULL || buf == NULL)
                return -1;
@@ -379,7 +379,7 @@ mnstr_read(stream *s, void *buf, size_t 
  * the stream.  Returns the number of characters actually read,
  * includes the trailing \n; terminated by a NULL byte. */
 ssize_t
-mnstr_readline(stream *s, void *buf, size_t maxcnt)
+mnstr_readline(stream *restrict s, void *restrict buf, size_t maxcnt)
 {
        char *b = buf, *start = buf;
 
@@ -439,7 +439,7 @@ mnstr_readline(stream *s, void *buf, siz
  * number of elements actually written.  If elmsize or cnt equals zero,
  * returns cnt. */
 ssize_t
-mnstr_write(stream *s, const void *buf, size_t elmsize, size_t cnt)
+mnstr_write(stream *restrict s, const void *restrict buf, size_t elmsize, 
size_t cnt)
 {
        if (s == NULL || buf == NULL)
                return -1;
@@ -531,7 +531,7 @@ mnstr_fsync(stream *s)
 }
 
 int
-mnstr_fgetpos(stream *s, fpos_t *p)
+mnstr_fgetpos(stream *restrict s, fpos_t *restrict p)
 {
        if (s == NULL || p == NULL)
                return -1;
@@ -546,7 +546,7 @@ mnstr_fgetpos(stream *s, fpos_t *p)
 }
 
 int
-mnstr_fsetpos(stream *s, fpos_t *p)
+mnstr_fsetpos(stream *restrict s, fpos_t *restrict p)
 {
        if (s == NULL)
                return -1;
@@ -727,7 +727,7 @@ create_stream(const char *name)
 /* streams working on a disk file */
 
 static ssize_t
-file_read(stream *s, void *buf, size_t elmsize, size_t cnt)
+file_read(stream *restrict s, void *restrict buf, size_t elmsize, size_t cnt)
 {
        FILE *fp = (FILE *) s->stream_data.p;
        size_t rc = 0;
@@ -748,7 +748,7 @@ file_read(stream *s, void *buf, size_t e
 }
 
 static ssize_t
-file_write(stream *s, const void *buf, size_t elmsize, size_t cnt)
+file_write(stream *restrict s, const void *restrict buf, size_t elmsize, 
size_t cnt)
 {
        FILE *fp = (FILE *) s->stream_data.p;
 
@@ -842,7 +842,7 @@ file_fsync(stream *s)
 }
 
 static int
-file_fgetpos(stream *s, fpos_t *p)
+file_fgetpos(stream *restrict s, fpos_t *restrict p)
 {
        FILE *fp = (FILE *) s->stream_data.p;
 
@@ -852,7 +852,7 @@ file_fgetpos(stream *s, fpos_t *p)
 }
 
 static int
-file_fsetpos(stream *s, fpos_t *p)
+file_fsetpos(stream *restrict s, fpos_t *restrict p)
 {
        FILE *fp = (FILE *) s->stream_data.p;
 
@@ -862,7 +862,7 @@ file_fsetpos(stream *s, fpos_t *p)
 }
 
 static stream *
-open_stream(const char *filename, const char *flags)
+open_stream(const char *restrict filename, const char *restrict flags)
 {
        stream *s;
        FILE *fp;
@@ -965,7 +965,7 @@ gzfwrite(const void *buf, z_size_t size,
 #endif
 
 static ssize_t
-stream_gzread(stream *s, void *buf, size_t elmsize, size_t cnt)
+stream_gzread(stream *restrict s, void *restrict buf, size_t elmsize, size_t 
cnt)
 {
        gzFile fp = (gzFile) s->stream_data.p;
        z_size_t size;
@@ -1004,7 +1004,7 @@ stream_gzread(stream *s, void *buf, size
 }
 
 static ssize_t
-stream_gzwrite(stream *s, const void *buf, size_t elmsize, size_t cnt)
+stream_gzwrite(stream *restrict s, const void *restrict buf, size_t elmsize, 
size_t cnt)
 {
        gzFile fp = (gzFile) s->stream_data.p;
        z_size_t size;
@@ -1041,7 +1041,7 @@ stream_gzflush(stream *s)
 }
 
 static stream *
-open_gzstream(const char *filename, const char *flags)
+open_gzstream(const char *restrict filename, const char *restrict flags)
 {
        stream *s;
        gzFile fp;
@@ -1106,7 +1106,7 @@ open_gzrstream(const char *filename)
 }
 
 static stream *
-open_gzwstream(const char *filename, const char *mode)
+open_gzwstream(const char *restrict filename, const char *restrict mode)
 {
        stream *s;
 
@@ -1135,7 +1135,7 @@ open_gzrastream(const char *filename)
 }
 
 static stream *
-open_gzwastream(const char *filename, const char *mode)
+open_gzwastream(const char *restrict filename, const char *restrict mode)
 {
        stream *s;
 
@@ -1178,7 +1178,7 @@ stream_bzclose(stream *s)
 }
 
 static ssize_t
-stream_bzread(stream *s, void *buf, size_t elmsize, size_t cnt)
+stream_bzread(stream *restrict s, void *restrict buf, size_t elmsize, size_t 
cnt)
 {
        size_t size = elmsize * cnt;
        int err;
@@ -1236,7 +1236,7 @@ stream_bzread(stream *s, void *buf, size
 }
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to