http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60100
--- Comment #8 from lavr at ncbi dot nlm.nih.gov ---
This is the code from the original .c file that fails to post a warning.
sock->w_len -= BUF_PeekAtCB(sock->w_buf,
BUF_Size(sock->w_buf) - sock->w_len,
x_WriteBuf, &ctx, sock->w_len);
It is not changed in any way during pre-processing.
An assert() comes right after it. x_WriteBuf is a function (defined
just prior to the function where it is used) that had a wrong prototype
versus what a header defining BUF_PeekAtCB() declared.
What constitutes a system header? Because a file that defines BUF_PeekAtCB()
is referenced via angle brackets (versus quotes) in the #include directive.
A path for gcc is provided with the -I option.
Finally, if gcc compiling the original code .c manages to post a warning,
it certainly somehow knows that no system headers are involved in this
particular case.