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