math: fix aliasing violation in long double wrappers
authorSzabolcs Nagy <nsz@port70.net>
Fri, 11 Apr 2014 15:57:30 +0000 (17:57 +0200)
committerRich Felker <dalias@aerifal.cx>
Wed, 16 Apr 2014 06:46:05 +0000 (02:46 -0400)
commit67dc1f311646c50f3f1c281b7c345bb45401f17d
tree560c264c0731b725520baf2230805116bdf71db9
parent043865cadf1b26ee3a9ccdac3b0d0ca9d380cdad
math: fix aliasing violation in long double wrappers

modfl and sincosl were passing long double* instead of double*
to the wrapped double precision functions (on archs where long
double and double have the same size).
This is fixed now by using temporaries (this is not optimized
to a single branch so the generated code is a bit bigger).
Found by Morten Welinder.

(cherry picked from commit 73c870ed3209b68b5c8c350534508cc9d95a6bcb)
src/math/modfl.c
src/math/sincosl.c