Paul Eggert wrote: > * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast > diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130. > To pacify GCC, I had to cast alloca’s result to some type other > than void * before casting that to uintptr_t.
Thanks. I wouldn't have expected this warning. Let me apply the same change to xmalloca.h as well: 2018-02-23 Bruno Haible <br...@clisp.org> xmalloca: pacify gcc -Wbad-function-cast * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well. diff --git a/lib/xmalloca.h b/lib/xmalloca.h index 14fc1b9..2900a07 100644 --- a/lib/xmalloca.h +++ b/lib/xmalloca.h @@ -32,10 +32,10 @@ extern "C" { the function returns. Upon failure, it exits with an error message. */ #if HAVE_ALLOCA # define xmalloca(N) \ - ((N) < 4032 - (2 * sa_alignment_max - 1) \ - ? (void *) (((uintptr_t) alloca ((N) + 2 * sa_alignment_max - 1) \ - + (2 * sa_alignment_max - 1)) \ - & ~(uintptr_t)(2 * sa_alignment_max - 1)) \ + ((N) < 4032 - (2 * sa_alignment_max - 1) \ + ? (void *) (((uintptr_t) (char *) alloca ((N) + 2 * sa_alignment_max - 1) \ + + (2 * sa_alignment_max - 1)) \ + & ~(uintptr_t)(2 * sa_alignment_max - 1)) \ : xmmalloca (N)) extern void * xmmalloca (size_t n); #else