On 04/28/2015 07:58 AM, Michal Privoznik wrote: > There's no need to mark a function as inline in the function > declaration. In fact, it causes a compilation error: > > CC xmlgen.lo > In file included from acl_parsing.h:29:0, > from xmlgen.h:26, > from capability_parsing.c:37: > list_util.h:67:21: error: inline function ‘list_node_prev_node’ declared but never defined [-Werror] > inline list_node_t *list_node_prev_node(list_node_t *node); > ^ > list_util.h:66:14: error: inline function ‘list_node_prev’ declared but never defined [-Werror] > inline void *list_node_prev(list_node_t *node); > ^ > list_util.h:64:21: error: inline function ‘list_node_next_node’ declared but never defined [-Werror] > inline list_node_t *list_node_next_node(list_node_t *node); > ^ > list_util.h:63:14: error: inline function ‘list_node_next’ declared but never defined [-Werror] > inline void *list_node_next(list_node_t *node); > ^ > list_util.h:61:21: error: inline function ‘list_last_node’ declared but never defined [-Werror] > inline list_node_t *list_last_node(list_t *list); > ^ > list_util.h:60:14: error: inline function ‘list_last’ declared but never defined [-Werror] > inline void *list_last(list_t *list); > ^ > list_util.h:58:21: error: inline function ‘list_first_node’ declared but never defined [-Werror] > inline list_node_t *list_first_node(list_t *list); > ^ > list_util.h:57:14: error: inline function ‘list_first’ declared but never defined [-Werror] > inline void *list_first(list_t *list); > ^ > list_util.h:55:13: error: inline function ‘list_node_data_set’ declared but never defined [-Werror] > inline void list_node_data_set(list_node_t *node, void *data); > ^ > list_util.h:54:14: error: inline function ‘list_node_data_get’ declared but never defined [-Werror] > inline void *list_node_data_get(list_node_t *node); > ^ > list_util.h:52:21: error: inline function ‘list_count’ declared but never defined [-Werror] > inline unsigned int list_count(list_t *list); > ^ > cc1: all warnings being treated as errors > Makefile:499: recipe for target 'capability_parsing.lo' failed > make[2]: *** [capability_parsing.lo] Error 1 > make[2]: *** Waiting for unfinished jobs.... > > Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > --- > libxkutil/list_util.h | 22 +++++++++++----------- > 1 file changed, 11 insertions(+), 11 deletions(-) > The last time I compiled libvirt-cim this wasn't an issue! Additionally my daily Coverity builds libvirt-cim from upstream from scratch without issue... So is this from a 'newer' compiler? I have: $ gcc --version gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6) Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. I'm not disagreeing this is a problem and needs to be fixed... John FWIW: libvirt-cim patches have been sent to the libvirt-cim list @libvirt-cim@xxxxxxxxxx and not libvir-list... > diff --git a/libxkutil/list_util.h b/libxkutil/list_util.h > index 6510272..6582dfe 100644 > --- a/libxkutil/list_util.h > +++ b/libxkutil/list_util.h > @@ -49,22 +49,22 @@ void list_remove_node(list_t *list, list_node_t *node); > > bool list_foreach(list_t *list, list_foreach_cb cb, void *user_data); > > -inline unsigned int list_count(list_t *list); > +unsigned int list_count(list_t *list); > > -inline void *list_node_data_get(list_node_t *node); > -inline void list_node_data_set(list_node_t *node, void *data); > +void *list_node_data_get(list_node_t *node); > +void list_node_data_set(list_node_t *node, void *data); > > -inline void *list_first(list_t *list); > -inline list_node_t *list_first_node(list_t *list); > +void *list_first(list_t *list); > +list_node_t *list_first_node(list_t *list); > > -inline void *list_last(list_t *list); > -inline list_node_t *list_last_node(list_t *list); > +void *list_last(list_t *list); > +list_node_t *list_last_node(list_t *list); > > -inline void *list_node_next(list_node_t *node); > -inline list_node_t *list_node_next_node(list_node_t *node); > +void *list_node_next(list_node_t *node); > +list_node_t *list_node_next_node(list_node_t *node); > > -inline void *list_node_prev(list_node_t *node); > -inline list_node_t *list_node_prev_node(list_node_t *node); > +void *list_node_prev(list_node_t *node); > +list_node_t *list_node_prev_node(list_node_t *node); > > #ifdef __cplusplus > } /* extern "C" */ > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list