Commit 2efa12b3 by Steve Ellcey Committed by Steve Ellcey

re PR target/23556 (FAIL: gfortran.dg/pr18122.f90)

	PR target/23556
	* io/read.c (convert_real): Use memcpy to fill buffer.

From-SVN: r103685
parent 35210087
2005-08-31 Steve Ellcey <sje@cup.hp.com>
PR target/23556
* io/read.c (convert_real): Use memcpy to fill buffer.
2005-08-29 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/23598
......
......@@ -124,24 +124,36 @@ convert_real (void *dest, const char *buffer, int length)
switch (length)
{
case 4:
*((GFC_REAL_4 *) dest) =
{
GFC_REAL_4 tmp =
#if defined(HAVE_STRTOF)
strtof (buffer, NULL);
strtof (buffer, NULL);
#else
(GFC_REAL_4) strtod (buffer, NULL);
(GFC_REAL_4) strtod (buffer, NULL);
#endif
memcpy (dest, (void *) &tmp, length);
}
break;
case 8:
*((GFC_REAL_8 *) dest) = strtod (buffer, NULL);
{
GFC_REAL_8 tmp = strtod (buffer, NULL);
memcpy (dest, (void *) &tmp, length);
}
break;
#if defined(HAVE_GFC_REAL_10) && defined (HAVE_STRTOLD)
case 10:
*((GFC_REAL_10 *) dest) = strtold (buffer, NULL);
{
GFC_REAL_10 tmp = strtold (buffer, NULL);
memcpy (dest, (void *) &tmp, length);
}
break;
#endif
#if defined(HAVE_GFC_REAL_16) && defined (HAVE_STRTOLD)
case 16:
*((GFC_REAL_16 *) dest) = strtold (buffer, NULL);
{
GFC_REAL_16 tmp = strtold (buffer, NULL);
memcpy (dest, (void *) &tmp, length);
}
break;
#endif
default:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment