This is the mail archive of the
mailing list for the GCC project.
Re: [Patch, libgfortran] PR39665, alignment problems
- From: Daniel Kraft <d at domob dot eu>
- To: Janne Blomqvist <blomqvist dot janne at gmail dot com>
- Cc: gfortran <fortran at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 09 Apr 2009 08:43:58 +0200
- Subject: Re: [Patch, libgfortran] PR39665, alignment problems
- References: <49DD265B.email@example.com>
Janne Blomqvist wrote:
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?
Ok. Thanks for working on this!
To go: Hea-Kni-Mon-Pri