Hi Aleksander, > I'm compiling gnupdf under llvm/clang; and found an issue with the > strerror-override module. In my setup, it defines strerror_override() to > NULL in the .h file, but then it implements the method anyway in the .c > file, and llvm/clang doesn't like that: > > strerror-override.c:35:1: error: expected identifier or '(' > strerror_override (int errnum) > ^ > ./strerror-override.h:47:38: note: expanded from: > # define strerror_override(ignored) NULL > > Attached a patch that fixes the issue.
The tests test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1 in modules/strerror-override and # if REPLACE_STRERROR_0 \ || GNULIB_defined_ETXTBSY \ || GNULIB_defined_ESOCK \ || GNULIB_defined_ENOMSG \ || GNULIB_defined_EIDRM \ || GNULIB_defined_ENOLINK \ || GNULIB_defined_EPROTO \ || GNULIB_defined_EMULTIHOP \ || GNULIB_defined_EBADMSG \ || GNULIB_defined_EOVERFLOW \ || GNULIB_defined_ENOTSUP \ || GNULIB_defined_ENETRESET \ || GNULIB_defined_ECONNABORTED \ || GNULIB_defined_ESTALE \ || GNULIB_defined_EDQUOT \ || GNULIB_defined_ECANCELED in lib/strerror-override.h are meant to be equivalent (even if this is not apparent at first sight). Namely, they ought to evaluate to true on MacOS X 10.5, FreeBSD 8.2, OpenBSD 4.7, Minix 3.1.8, OSF/1 5.1, NonStop Kernel, Cygwin, mingw, Interix 3.5. So I have to ask: - What is your platform? - What are the values of $CC, $CFLAGS, $CPPFLAGS that you are using in your configuration? - More precisely, how to reproduce the problem you had? - Does the problem go away if you do a "make distclean" and reconfigure? Bruno -- In memoriam Eberhard Finckh <http://en.wikipedia.org/wiki/Eberhard_Finckh>