Subject: bug#21554: no previous prototype for 'set_binary_mode'

From: Benno Schulenberg <[email-masked]>
Date: Fri, 25 Sep 2015 09:40:01 +0200

On Thu, Sep 24, 2015, at 22:36, Paul Eggert wrote:
> On 09/24/2015 12:50 PM, Benno Schulenberg wrote:
> > (I can't get grep to build from git: binary-io.h:53: error:
> > no previous prototype for 'set_binary_mode'.)
> 
> If you're having that problem with git grep, you'd surely have the same 
> problem if we made a new grep release.

Yeah, you're probably right; realized that too later.

>  Can you please give more 
> details?

  [...]
  GEN    time.h
  GEN    unistd.h
  GEN    wchar.h
  GEN    wctype.h
make  all-am
make[3]: Entering directory `/home/ben/Repositories/GREP/lib'
  CC     argmatch.o
cc1: warning: command line option "-Wenum-compare" is valid for C++/ObjC++ but not for C
  CC     binary-io.o
cc1: warning: command line option "-Wenum-compare" is valid for C++/ObjC++ but not for C
cc1: warnings being treated as errors
In file included from binary-io.c:3:
binary-io.h:53: error: no previous prototype for 'set_binary_mode'
make[3]: *** [binary-io.o] Error 1
make[3]: Leaving directory `/home/ben/Repositories/GREP/lib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/ben/Repositories/GREP/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ben/Repositories/GREP'
make: *** [all] Fout 2

>  What are the last few lines of output for 'make V=1'?

make[3]: Entering directory `/home/ben/Repositories/GREP/lib'
depbase=`echo binary-io.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..    -W -Wabi -Waddress -Wall -Wattributes -Wbad-function-cast -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wclobbered -Wcomment -Wcomments -Wcoverage-mismatch -Wdeprecated -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wenum-compare -Wextra -Wformat-contains-nul -Wformat-extra-args -Wformat-nonliteral -Wformat-security -Wformat-y2k -Wformat-zero-length -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wlogical-op -Wmain -Wmissing-braces -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-parameter-type -Wmissing-prototypes -Wmultichar -Wnested-externs -Wnonnull -Wold-style-declaration -Wold-style-definition -Woverflow -Woverlength-strings -Woverride-init -Wpacked -Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpointer-sign -Wpointer-to-int-cast -Wpragmas -Wreturn-type -Wsequence-point -Wshadow -Wstrict-aliasing -Wstrict-prototypes -Wswitch -Wsync-nand -Wtrigraphs -Wtype-limits -Wuninitialized -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-result -Wunused-value -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnormalized=nfc -Wno-missing-field-initializers -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wno-logical-op -Wno-format-nonliteral -Werror -g -Os -Wextra -MT binary-io.o -MD -MP -MF $depbase.Tpo -c -o binary-io.o binary-io.c &&\
	mv -f $depbase.Tpo $depbase.Po
cc1: warning: command line option "-Wenum-compare" is valid for C++/ObjC++ but not for C
cc1: warnings being treated as errors
In file included from binary-io.c:3:
binary-io.h:53: error: no previous prototype for 'set_binary_mode'

> Also, can you attach the preprocessor output for the failing command?  
> That is, assuming the failing command is something like 'gcc ... -c -o 
> binary-io.o binary-io.c', what is the output of 'gcc ... -E 
> binary-io.c', where the '...' stands for the same compiler flags in both 
> cases?

Attached.

Benno

-- 
http://www.fastmail.com - Access your email from home and the web