From e2da759e1614894069d9d0a2eff788b152f06999 Mon Sep 17 00:00:00 2001 From: Jeremy Sowden Date: Sun, 17 May 2020 12:39:28 +0100 Subject: [PATCH] wmcore: remove inline keywords. Previously, if we attempted to build using C99 or later, we got "inline function declared but never defined" warnings and eventual "undefined reference" errors. As a result, it fails to build from source using gcc5. However, if we move the definitions to list.h and add "extern inline" declarations to list.c, which does compile using C99 and later, then it no longer compiles using gnu90, the default for gcc4. To avoid this mess, we remove the inline keywords altogether. Author: Doug Torrance Signed-off-by: Jeremy Sowden --- wmcore/list.c | 18 +++++++++--------- wmcore/list.h | 22 ++++++++-------------- 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/wmcore/list.c b/wmcore/list.c index f804b2c..0104c94 100644 --- a/wmcore/list.c +++ b/wmcore/list.c @@ -38,7 +38,7 @@ Boston, MA 02111-1307, USA. */ /* Return a cons cell produced from (head . tail) */ -INLINE LinkedList* +LinkedList* list_cons(void* head, LinkedList* tail) { LinkedList* cell; @@ -51,7 +51,7 @@ list_cons(void* head, LinkedList* tail) /* Return the length of a list, list_length(NULL) returns zero */ -INLINE int +int list_length(LinkedList* list) { int i = 0; @@ -66,7 +66,7 @@ list_length(LinkedList* list) /* Return the Nth element of LIST, where N count from zero. If N larger than the list length, NULL is returned */ -INLINE void* +void* list_nth(int index, LinkedList* list) { while(index-- != 0) @@ -81,7 +81,7 @@ list_nth(int index, LinkedList* list) /* Remove the element at the head by replacing it by its successor */ -INLINE void +void list_remove_head(LinkedList** list) { if (!*list) return; @@ -101,7 +101,7 @@ list_remove_head(LinkedList** list) /* Remove the element with `car' set to ELEMENT */ /* -INLINE void +void list_remove_elem(LinkedList** list, void* elem) { while (*list) @@ -112,7 +112,7 @@ list_remove_elem(LinkedList** list, void* elem) } }*/ -INLINE LinkedList * +LinkedList * list_remove_elem(LinkedList* list, void* elem) { LinkedList *tmp; @@ -132,7 +132,7 @@ list_remove_elem(LinkedList* list, void* elem) /* Return element that has ELEM as car */ -INLINE LinkedList* +LinkedList* list_find(LinkedList* list, void* elem) { while(list) @@ -146,7 +146,7 @@ list_find(LinkedList* list, void* elem) /* Free list (backwards recursive) */ -INLINE void +void list_free(LinkedList* list) { if(list) @@ -158,7 +158,7 @@ list_free(LinkedList* list) /* Map FUNCTION over all elements in LIST */ -INLINE void +void list_mapcar(LinkedList* list, void(*function)(void*)) { while(list) diff --git a/wmcore/list.h b/wmcore/list.h index af0f22c..43a42c3 100644 --- a/wmcore/list.h +++ b/wmcore/list.h @@ -29,31 +29,25 @@ Boston, MA 02111-1307, USA. */ #ifndef __LIST_H_ #define __LIST_H_ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -# define INLINE inline -#else -# define INLINE -#endif - typedef struct LinkedList { void *head; struct LinkedList *tail; } LinkedList; -INLINE LinkedList* list_cons(void* head, LinkedList* tail); +LinkedList* list_cons(void* head, LinkedList* tail); -INLINE int list_length(LinkedList* list); +int list_length(LinkedList* list); -INLINE void* list_nth(int index, LinkedList* list); +void* list_nth(int index, LinkedList* list); -INLINE void list_remove_head(LinkedList** list); +void list_remove_head(LinkedList** list); -INLINE LinkedList *list_remove_elem(LinkedList* list, void* elem); +LinkedList *list_remove_elem(LinkedList* list, void* elem); -INLINE void list_mapcar(LinkedList* list, void(*function)(void*)); +void list_mapcar(LinkedList* list, void(*function)(void*)); -INLINE LinkedList*list_find(LinkedList* list, void* elem); +LinkedList*list_find(LinkedList* list, void* elem); -INLINE void list_free(LinkedList* list); +void list_free(LinkedList* list); #endif -- 2.11.4.GIT