[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fix compilation of strerror-override with llvm/clang
From: |
Bruno Haible |
Subject: |
Re: Fix compilation of strerror-override with llvm/clang |
Date: |
Tue, 30 Aug 2011 09:42:40 +0200 |
User-agent: |
KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; ) |
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>