http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60100
--- Comment #3 from lavr at ncbi dot nlm.nih.gov ---
Ok, sorry and let me start again. My original mockup case wasn't good enough.
So attached is the real (preprocessed) code that fails to produce a warning
(yet when compiled from the .c form, the warning is there).
This completes w/o warnings:
> gcc -E -std=gnu11 -fgnu89-inline -c -Wall -Wno-format-y2k -fPIC
> -gdwarf-3 -D_DEBUG -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
> -D_FILE_OFFSET_BITS=64 -DNCBI_WITHOUT_MT -I/home/lavr/cxx/GCC-Debug64/inc
> -I/home/lavr/cxx/include /home/lavr/cxx/src/connect/ncbi_socket.c -o
> ncbi_socket.i
> gcc -std=gnu11 -fgnu89-inline -c -Wall -Wno-format-y2k -fPIC -gdwarf-3
> -D_DEBUG -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
> ncbi_socket.i -o ncbi_socket.o
This produces a warning (as it should):
gcc -c -std=gnu11 -fgnu89-inline -c -Wall -Wno-format-y2k -fPIC -gdwarf-3
-D_DEBUG -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-DNCBI_WITHOUT_MT -I/home/lavr/cxx/GCC-Debug64/inc -I/home/lavr/cxx/include
/home/lavr/cxx/src/connect/ncbi_socket.c -o ncbi_socket.o
/home/lavr/cxx/src/connect/ncbi_socket.c: In function 's_WritePending':
/home/lavr/cxx/src/connect/ncbi_socket.c:3447:33: warning: passing argument 3
of 'BUF_PeekAtCB' from incompatible pointer type [enabled by default]
x_WriteBuf, &ctx, sock->w_len);
^
In file included from /home/lavr/cxx/src/connect/ncbi_socketp.h:44:0,
from /home/lavr/cxx/src/connect/ncbi_connssl.h:37,
from /home/lavr/cxx/src/connect/ncbi_socket.c:76:
/home/lavr/cxx/include/connect/ncbi_buffer.h:180:36: note: expected 'size_t
(*)(void *, const void *, size_t)' but argument is of type 'size_t (*)(void *,
const void *, size_t, int)'
extern NCBI_XCONNECT_EXPORT size_t BUF_PeekAtCB