[libvirt] [PATCH] build: stop clang complaining about redefined typedefs

Clang's gnu99 mode is not quite the same as GCC's. It will complain about redefined typedefs being a C11 feature, while GCC does not complain and allows them in GNU99. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- Technically a build breaker fix, but given my track record of breaking the build today/yestday, lets have a reviewer approve :-) m4/virt-compile-warnings.m4 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/m4/virt-compile-warnings.m4 b/m4/virt-compile-warnings.m4 index 26f231f97e..4f9eee121c 100644 --- a/m4/virt-compile-warnings.m4 +++ b/m4/virt-compile-warnings.m4 @@ -125,6 +125,10 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[ # We do "bad" function casts all the time for event callbacks wantwarn="$wantwarn -Wno-cast-function-type" + # CLang incorrectly complains about dup typedefs win gnu99 mode + # so use this CLang-specific arg to keep it quiet + wantwarn="$wantwarn -Wno-typedef-redefinition" + # GNULIB expects this to be part of -Wc++-compat, but we turn # that one off, so we need to manually enable this again wantwarn="$wantwarn -Wjump-misses-init" -- 2.21.0

On Tue, Oct 8, 2019 at 5:14 PM Daniel P. Berrangé <berrange@redhat.com> wrote:
Clang's gnu99 mode is not quite the same as GCC's. It will complain about redefined typedefs being a C11 feature, while GCC does not complain and allows them in GNU99.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> ---
Technically a build breaker fix, but given my track record of breaking the build today/yestday, lets have a reviewer approve :-)
m4/virt-compile-warnings.m4 | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/m4/virt-compile-warnings.m4 b/m4/virt-compile-warnings.m4 index 26f231f97e..4f9eee121c 100644 --- a/m4/virt-compile-warnings.m4 +++ b/m4/virt-compile-warnings.m4 @@ -125,6 +125,10 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[ # We do "bad" function casts all the time for event callbacks wantwarn="$wantwarn -Wno-cast-function-type"
+ # CLang incorrectly complains about dup typedefs win gnu99 mode + # so use this CLang-specific arg to keep it quiet + wantwarn="$wantwarn -Wno-typedef-redefinition" +
Is this the *only* failure we have with CLang? If so ... Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> Best Regards, -- Fabiano Fidêncio

On Tue, Oct 08, 2019 at 15:39:22 +0100, Daniel Berrange wrote:
Clang's gnu99 mode is not quite the same as GCC's. It will complain about redefined typedefs being a C11 feature, while GCC does not complain and allows them in GNU99.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> ---
Technically a build breaker fix, but given my track record of breaking the build today/yestday, lets have a reviewer approve :-)
m4/virt-compile-warnings.m4 | 4 ++++ 1 file changed, 4 insertions(+)
ACK, tested with: clang version 8.0.0 (Fedora 8.0.0-1.fc30) gcc version 9.2.1 20190827 (Red Hat 9.2.1-1) (GCC)
participants (3)
-
Daniel P. Berrangé
-
Fabiano Fidêncio
-
Peter Krempa