From 99db6dbafe4b151d960499b1dcf032f9e4797dbe Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Tue, 12 Feb 2008 19:57:26 +0000 Subject: [PATCH] Revert the buggy warning fix for gcc 4.2. It caused a sim built with gcc 4.2 to segfault. Get rid of the warning by introducing a temporary variable instead. Obviously the cfft1(pos|neg)() call is too complex for gcc 4.2 to cope without that tempvar. Oh well... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16292 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libfaad/cfft.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/apps/codecs/libfaad/cfft.c b/apps/codecs/libfaad/cfft.c index 07859756e0..806dc8f895 100644 --- a/apps/codecs/libfaad/cfft.c +++ b/apps/codecs/libfaad/cfft.c @@ -847,24 +847,16 @@ static INLINE void cfftf1neg(uint16_t n, complex_t *c, complex_t *ch, } } -#if (__GNUC__ == 4) && (__GNUC_MINOR__ == 2) && (__GNUC_PATCHLEVEL__ >= 1) -/* 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 - Known to happen for 4.2.1 until 4.2.3 */ -#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, COMPLEXPTR cfft->tab, -1); + const complex_t *ct = (const complex_t*)cfft->tab; + cfftf1neg(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, ct, -1); } void cfftb(cfft_info *cfft, complex_t *c) { - cfftf1pos(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, COMPLEXPTR cfft->tab, +1); + const complex_t *ct = (const complex_t*)cfft->tab; + cfftf1pos(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, ct, +1); } static void cffti1(uint16_t n, complex_t *wa, uint16_t *ifac)