------- Comment #1 from jvdelisle at gcc dot gnu dot org 2009-10-15 03:14
-------
Try this patch. Does it give reasonable results? Does endianess matter here?
Index: write.c
===================================================================
--- write.c (revision 152697)
+++ write.c (working copy)
@@ -392,9 +392,10 @@
}
break;
#ifdef HAVE_GFC_INTEGER_16
+ case 10:
case 16:
{
- GFC_INTEGER_16 tmp;
+ GFC_INTEGER_16 tmp = 0;
memcpy ((void *) &tmp, p, len);
i = tmp;
}
@@ -446,9 +447,10 @@
}
break;
#ifdef HAVE_GFC_INTEGER_16
+ case 10:
case 16:
{
- GFC_INTEGER_16 tmp;
+ GFC_INTEGER_16 tmp = 0;
memcpy ((void *) &tmp, p, len);
i = (GFC_UINTEGER_16) tmp;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41711