
On Tue, Apr 28, 2015 at 08:53:28AM -0400, John Ferlan wrote:
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); ^
[...]
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@redhat.com> --- 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
This happens only on fedora-rawhide where is a new gcc that almost fully supports the new c99 standard and that standard is a default one on that gcc version. $ gcc --version gcc (GCC) 5.0.0 20150407 (Red Hat 5.0.0-0.22)
FWIW:
libvirt-cim patches have been sent to the libvirt-cim list @libvirt-cim@redhat.com 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@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list