------- Comment #7 from fxcoudert at gcc dot gnu dot org 2006-06-21 16:46
-------
(In reply to comment #5)
> else if (mode == TYPE_MODE(float_long_double))
> kind = sizeof(long double);
sizeof(long double) is the size of a long double for the host, not on the
target.
> Sorry. With "outlandish" I did not mean to imply that someone should
> implement that; I would never request that. I meant whether the
> gfortran developers would accept such a patch, which I didn't want to
> prepare before I know whether there is a chance that it would be
> accepted.
To have the answer to that question, you'd need to ask on the mailing-list,
detailing the implications of such a change (pros and cons).
> I had somehow assumed that it would be only a matter of changing the
> kind numbers that are assigned to the real types that gfortran
> already supports. I assumed that a patch similar to the lines I
> suggest above would be sufficient. Is there something big that I
> overlooked?
I think the whole library interaction would change, requiring a multilib
libgfortran. Plus, you'd probably need good interaction with the target's libm.
> When I last looked at
> real*16, there were big problems with the I/O library in gfortran,
> and I also don't know whether these have been solved in the mean
> time. I think it just mapped long double to double, which would kind
> of defeat the purpose of using long double in the first place.
No, the library should be completely working. Although I'm not sure many people
use real(kind>8), so the testing may not be very wide.
--
fxcoudert at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fxcoudert at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22629