From 5c0cf6ef2c4d7bd684978212624309322d2f7d2a Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 6 Feb 2008 23:51:54 +0000 Subject: a rather lame attempt to silence the gcc 4.2.3 warnings on what seems to be legitimate code git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16237 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libfaad/cfft.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'apps') diff --git a/apps/codecs/libfaad/cfft.c b/apps/codecs/libfaad/cfft.c index eecfe4b..0391b1c 100644 --- a/apps/codecs/libfaad/cfft.c +++ b/apps/codecs/libfaad/cfft.c @@ -847,14 +847,23 @@ static INLINE void cfftf1neg(uint16_t n, complex_t *c, complex_t *ch, } } +#if (__GNUC__ == 4) && (__GNUC_MINOR__ == 2) && (__GNUC_PATCHLEVEL__ == 3) +/* To me (Daniel S) this looks like a compiler error/problem so we only + silence it this way on this specific compiler version we know causes this */ +#define COMPLEXPTR *(const complex_t **) +#else +#define COMPLEXPTR (const complex_t *) +#endif + + void cfftf(cfft_info *cfft, complex_t *c) { - cfftf1neg(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, (const complex_t*)cfft->tab, -1); + cfftf1neg(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, COMPLEXPTR cfft->tab, -1); } void cfftb(cfft_info *cfft, complex_t *c) { - cfftf1pos(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, (const complex_t*)cfft->tab, +1); + cfftf1pos(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, COMPLEXPTR cfft->tab, +1); } static void cffti1(uint16_t n, complex_t *wa, uint16_t *ifac) -- cgit v1.1