Ján Tomko wrote:
> On Fri, May 26, 2017 at 09:49:15PM +0400, Roman Bogorodskiy wrote:
> >When building with clang 4.0.0, virsh build fails like this:
> >
> >gmake[3]: Entering directory '/usr/home/novel/code/libvirt/tools'
> > CC virsh-virsh.o
> >In file included from virsh.c:45:
> >In file included from /usr/local/include/readline/readline.h:31:
> >/usr/local/include/readline/rltypedefs.h:35:22: error: this function declaration
is not a prototype [-Werror,-Wstrict-prototypes]
> >typedef int Function () __attribute__ ((deprecated));
> > ^
> > void
> >/usr/local/include/readline/rltypedefs.h:36:24: error: this function declaration
is not a prototype [-Werror,-Wstrict-prototypes]
> >typedef void VFunction () __attribute__ ((deprecated));
> > ^
> > void
> >/usr/local/include/readline/rltypedefs.h:37:26: error: this function declaration
is not a prototype [-Werror,-Wstrict-prototypes]
> >typedef char *CPFunction () __attribute__ ((deprecated));
> > ^
> > void
> >/usr/local/include/readline/rltypedefs.h:38:28: error: this function declaration
is not a prototype [-Werror,-Wstrict-prototypes]
> >typedef char **CPPFunction () __attribute__ ((deprecated));
> > ^
> > void
> >In file included from virsh.c:45:
> >/usr/local/include/readline/readline.h:385:23: error: this function declaration
is not a prototype [-Werror,-Wstrict-prototypes]
> >extern int rl_message ();
> > ^
> > void
> >5 errors generated.
> >gmake[3]: *** [Makefile:2823: virsh-virsh.o] Error 1
> >
> >Fix that by adding VIR_WARNINGS_NO_STRICT_PROTOTYPES macro that uses
> >"GCC diagnostic push" to ignore -Wstrict-prototypes and wrapping
> >readline includes with it and VIR_WARNINGS_RESET.
> >
> >Bug report on the readline mailing list:
> >
> >
http://lists.gnu.org/archive/html/bug-readline/2017-05/msg00004.html
> >---
> > src/internal.h | 4 ++++
> > tools/virsh.c | 2 ++
> > tools/virt-admin.c | 2 ++
> > 3 files changed, 8 insertions(+)
> >
>
> ACK
>
> Jan
Thanks! I decided not to push it before release, it's not critical
anyway.
In the meantime, upstream says that this is not going to be changed and
suggests trying -D_FUNCTION_DEF to avoid this. I'll try the CFLAGS-based
solution and if this works, I'll submit v2 (as this appears to be more
clear and compact fix), otherwise will push this one.