build: Silence clang warning on older glib autoptr usage
glib's G_DEFINE_AUTOPTR_CLEANUP_FUNC() macro defines several static inline functions, often with some of them unused, but prior to 2.57.2 did not mark the functions as such. As a result, clang (but not gcc) fails to build with older glib unless -Wno-unused-function is enabled. Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com> Message-id: 20200317175534.196295-1-eblake@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
This commit is contained in:
parent
d649689a8e
commit
9bda600b08
20
configure
vendored
20
configure
vendored
@ -3851,6 +3851,26 @@ if ! compile_prog "$glib_cflags -Werror" "$glib_libs" ; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Silence clang warnings triggered by glib < 2.57.2
|
||||||
|
cat > $TMPC << EOF
|
||||||
|
#include <glib.h>
|
||||||
|
typedef struct Foo {
|
||||||
|
int i;
|
||||||
|
} Foo;
|
||||||
|
static void foo_free(Foo *f)
|
||||||
|
{
|
||||||
|
g_free(f);
|
||||||
|
}
|
||||||
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(Foo, foo_free);
|
||||||
|
int main(void) { return 0; }
|
||||||
|
EOF
|
||||||
|
if ! compile_prog "$glib_cflags -Werror" "$glib_libs" ; then
|
||||||
|
if cc_has_warning_flag "-Wno-unused-function"; then
|
||||||
|
glib_cflags="$glib_cflags -Wno-unused-function"
|
||||||
|
CFLAGS="$CFLAGS -Wno-unused-function"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
#########################################
|
#########################################
|
||||||
# zlib check
|
# zlib check
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user