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
This commit is contained in:
parent
ad5610dccd
commit
99db6dbafe
1 changed files with 4 additions and 12 deletions
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue