http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48066

--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-03-11 
11:28:57 UTC ---
Draft patch:

--- a/libgfortran/m4/ifunction.m4
+++ b/libgfortran/m4/ifunction.m4
@@ -132,7 +132,10 @@ name`'rtype_qual`_'atype_code (rtype * const restrict
retarray,
 ')dnl
 define(START_ARRAY_BLOCK,
 `      if (len <= 0)
-         *dest = '$1`;
+         {
+           if (dest)
+             *dest = '$1`;
+         }
        else
          {
            for (n = 0; n < len; n++, src += delta)
@@ -313,7 +316,10 @@ void
 ')dnl
 define(START_MASKED_ARRAY_BLOCK,
 `      if (len <= 0)
-         *dest = '$1`;
+         {
+           if (dest)
+             *dest = '$1`;
+         }
        else
          {
            for (n = 0; n < len; n++, src += delta, msrc += mdelta)
--- a/libgfortran/m4/ifunction_logical.m4
+++ b/libgfortran/m4/ifunction_logical.m4
@@ -159,7 +159,10 @@ name`'rtype_qual`_'atype_code (rtype * const restrict
retarray,
 ')dnl
 define(START_ARRAY_BLOCK,
 `        if (len <= 0)
-         *dest = '$1`;
+         {
+           if (dest)
+             *dest = '$1`;
+         }
        else
          {
            for (n = 0; n < len; n++, src += delta)

Reply via email to