# HG changeset patch # User Tony Vroon # Date 1239229938 -3600 # Node ID 9e26c15e78b73d61a0dc9db5e9ce4dde9f32e5c1 # Parent 2dbd1c39fd12f8c0c472c64e53deacfe6f8790de Overdoing the pointer voodoo that much is a strict-aliasing violation. diff -r 2dbd1c39fd12 -r 9e26c15e78b7 src/aac/libfaad2/ic_predict.c --- a/src/aac/libfaad2/ic_predict.c Wed Apr 08 23:24:00 2009 +0100 +++ b/src/aac/libfaad2/ic_predict.c Wed Apr 08 23:32:18 2009 +0100 @@ -55,9 +55,9 @@ tmp2 = tmp; /* add 1 lsb and elided one */ tmp &= (uint32_t)0xff800000; /* extract exponent and sign */ - *pf = *(float32_t*)&tmp1 + *(float32_t*)&tmp2 - *(float32_t*)&tmp; + *pf = (float32_t)tmp1 + (float32_t)tmp2 - (float32_t)tmp; } else { - *pf = *(float32_t*)&tmp; + *pf = (float32_t)tmp; } }