Tim Rühsen wrote: > There seems to be a prototype missing in uninorm/decompose-internal.h: > > uninorm/decompose-internal.c:26:27: warning: no previous prototype for > 'gl_uninorm_decompose_merge_sort_fromto' [-Wmissing-prototypes] > 26 | #define merge_sort_fromto gl_uninorm_decompose_merge_sort_fromto > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > uninorm/decompose-internal.c:26:27: note: in definition of macro > 'merge_sort_fromto' > 26 | #define merge_sort_fromto gl_uninorm_decompose_merge_sort_fromto
Thanks for the report. Fixed as follows: 2020-02-19 Bruno Haible <br...@clisp.org> uninorm/decompose-internal: Avoid "no previous prototype" warning. Reported by Tim Rühsen <tim.rueh...@gmx.de> in <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>. * lib/array-mergesort.h: Accept an optional macro definition STATIC_FROMTO. * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro. diff --git a/lib/array-mergesort.h b/lib/array-mergesort.h index 3d363bb..bf86d64 100644 --- a/lib/array-mergesort.h +++ b/lib/array-mergesort.h @@ -29,6 +29,8 @@ respectively, less, equal, or greater than the element pointed to by the second argument. STATIC The storage class of the functions being defined. + STATIC_FROMTO (Optional.) Overrides STATIC for the 'merge_sort_fromto' + function. Before including this file, you also need to include: #include <stddef.h> */ @@ -87,7 +89,12 @@ merge (const ELEMENT *src1, size_t n1, /* Sort src[0..n-1] into dst[0..n-1], using tmp[0..n/2-1] as temporary (scratch) storage. The arrays src, dst, tmp must not overlap. */ -STATIC void +#ifdef STATIC_FROMTO +STATIC_FROMTO +#else +STATIC +#endif +void merge_sort_fromto (const ELEMENT *src, ELEMENT *dst, size_t n, ELEMENT *tmp) { switch (n) diff --git a/lib/uninorm/decompose-internal.c b/lib/uninorm/decompose-internal.c index 62a7046..e2c20e9 100644 --- a/lib/uninorm/decompose-internal.c +++ b/lib/uninorm/decompose-internal.c @@ -23,6 +23,7 @@ #define ELEMENT struct ucs4_with_ccc #define COMPARE(a,b) ((a)->ccc - (b)->ccc) #define STATIC +#define STATIC_FROMTO static #define merge_sort_fromto gl_uninorm_decompose_merge_sort_fromto #define merge_sort_inplace gl_uninorm_decompose_merge_sort_inplace #include "array-mergesort.h"