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