[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] malloca: pacify gcc -Wbad-function-cast
From: |
Bruno Haible |
Subject: |
Re: [PATCH] malloca: pacify gcc -Wbad-function-cast |
Date: |
Sat, 24 Feb 2018 01:34:16 +0100 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-112-generic; KDE/5.18.0; x86_64; ; ) |
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 <address@hidden>
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