Hello,
this patch hopefully works around the alignment problems reported in
PR39665. The problem is that nowadays when we read a floating point
number, it's stored into the result variable with an assignment. This
works fine for formatted reads, as the result variable is the final
variable passed in from the user code, so it always is sufficiently
aligned. However, for list formatted and namelist reads, we used a
temporary char* buffer, and some platforms like IA-64 or HP-PA are picky
about alignment and crash. This patch modifies list formatted and
namelist reads of real and complex type. Unfortunately the fix isn't as
clean as I'd wish, since after the parsing it turns out that the value
must be saved anyway in order to handle repeat counts.
Regtested on i686-pc-linux-gnu, Ok for trunk?