diff --git a/libgfortran/generated/pack_c10.c b/libgfortran/generated/pack_c10.c index a961057a8a6fdc043f0b706202dc0f96ce28c34c..c01efd11cf8d2bd6a493e11d706cb53b41a26fd1 100644 --- a/libgfortran/generated/pack_c10.c +++ b/libgfortran/generated/pack_c10.c @@ -96,6 +96,9 @@ pack_c10 (gfc_array_c10 *ret, const gfc_array_c10 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_c16.c b/libgfortran/generated/pack_c16.c index 37c062798bb9fc8b624d85dd5c3999b575296842..8ee6b25cbe6f61d99f5e71bb1af585110bc36399 100644 --- a/libgfortran/generated/pack_c16.c +++ b/libgfortran/generated/pack_c16.c @@ -96,6 +96,9 @@ pack_c16 (gfc_array_c16 *ret, const gfc_array_c16 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_c17.c b/libgfortran/generated/pack_c17.c index f9638d640adc265e5440f4b59f277185dbe633fd..7a1cf5e17e824ea441a7a541c8f13bba59248502 100644 --- a/libgfortran/generated/pack_c17.c +++ b/libgfortran/generated/pack_c17.c @@ -96,6 +96,9 @@ pack_c17 (gfc_array_c17 *ret, const gfc_array_c17 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_c4.c b/libgfortran/generated/pack_c4.c index d72717041a135adf15605e06b435588cf222e947..76c8a853faccee5628e4608f0b7e13cde0b9363d 100644 --- a/libgfortran/generated/pack_c4.c +++ b/libgfortran/generated/pack_c4.c @@ -96,6 +96,9 @@ pack_c4 (gfc_array_c4 *ret, const gfc_array_c4 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_c8.c b/libgfortran/generated/pack_c8.c index 9f8e97e4bc84ab93163394c8d5ef0a0e99bdae2b..365c26ed0e8f06b1f6518b8cd81de8d85706d8aa 100644 --- a/libgfortran/generated/pack_c8.c +++ b/libgfortran/generated/pack_c8.c @@ -96,6 +96,9 @@ pack_c8 (gfc_array_c8 *ret, const gfc_array_c8 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_i1.c b/libgfortran/generated/pack_i1.c index 0f4fe72b3f5f7d0d3c7653abdff965328bb5f524..97a82281a5c513fe046f25cf852f49ccd53790d0 100644 --- a/libgfortran/generated/pack_i1.c +++ b/libgfortran/generated/pack_i1.c @@ -96,6 +96,9 @@ pack_i1 (gfc_array_i1 *ret, const gfc_array_i1 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_i16.c b/libgfortran/generated/pack_i16.c index 3c4169b88ca6d60308d222b068f181e0dd258eec..a0aa6db29d8bb4f1e5d2bc9c36351e1025e98e66 100644 --- a/libgfortran/generated/pack_i16.c +++ b/libgfortran/generated/pack_i16.c @@ -96,6 +96,9 @@ pack_i16 (gfc_array_i16 *ret, const gfc_array_i16 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_i2.c b/libgfortran/generated/pack_i2.c index c5878afc16332e28b078bfa8cdd0510fbf010a58..24efcaae17e64b787afd54acbde7f7f06692c1b8 100644 --- a/libgfortran/generated/pack_i2.c +++ b/libgfortran/generated/pack_i2.c @@ -96,6 +96,9 @@ pack_i2 (gfc_array_i2 *ret, const gfc_array_i2 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_i4.c b/libgfortran/generated/pack_i4.c index 45f5d05918bae1697e119461999f33d622395181..6642f2b0bc109fac77dd26cf2d5e406b15c8a5c7 100644 --- a/libgfortran/generated/pack_i4.c +++ b/libgfortran/generated/pack_i4.c @@ -96,6 +96,9 @@ pack_i4 (gfc_array_i4 *ret, const gfc_array_i4 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_i8.c b/libgfortran/generated/pack_i8.c index c45fc27c04a1a3cc5a44f07f0434bc25eb593d2c..0f6ce94f03675b391d56773004653d68e3fc9772 100644 --- a/libgfortran/generated/pack_i8.c +++ b/libgfortran/generated/pack_i8.c @@ -96,6 +96,9 @@ pack_i8 (gfc_array_i8 *ret, const gfc_array_i8 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_r10.c b/libgfortran/generated/pack_r10.c index 1211fc492af0f659fa0ac1beb5526040d34e42b9..7dd232853b4c5212cfeebfd376fc019d9262a1a8 100644 --- a/libgfortran/generated/pack_r10.c +++ b/libgfortran/generated/pack_r10.c @@ -96,6 +96,9 @@ pack_r10 (gfc_array_r10 *ret, const gfc_array_r10 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_r16.c b/libgfortran/generated/pack_r16.c index e6d6c7cfb8e3f577a6c35b82c2a1537e415cecd2..6db5e65e16fca2144da1b4fa9f6d7a3ee8ed6285 100644 --- a/libgfortran/generated/pack_r16.c +++ b/libgfortran/generated/pack_r16.c @@ -96,6 +96,9 @@ pack_r16 (gfc_array_r16 *ret, const gfc_array_r16 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_r17.c b/libgfortran/generated/pack_r17.c index 02e0b9622cb1b2712a4f2b7df62ba9627dad9389..6f9ff439559c573a31a3d3b6bed879f3ecdd5031 100644 --- a/libgfortran/generated/pack_r17.c +++ b/libgfortran/generated/pack_r17.c @@ -96,6 +96,9 @@ pack_r17 (gfc_array_r17 *ret, const gfc_array_r17 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_r4.c b/libgfortran/generated/pack_r4.c index 630d2a0e73087818ee0e2651030aabd56b8db4f9..09132539ce9fef3592d7660b15b833dd316317fd 100644 --- a/libgfortran/generated/pack_r4.c +++ b/libgfortran/generated/pack_r4.c @@ -96,6 +96,9 @@ pack_r4 (gfc_array_r4 *ret, const gfc_array_r4 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/pack_r8.c b/libgfortran/generated/pack_r8.c index 90d66bbc04bc714b00e8053f6089dfb4d44dfcca..96b648aca4e3ce37595358acdaa3403f1b700561 100644 --- a/libgfortran/generated/pack_r8.c +++ b/libgfortran/generated/pack_r8.c @@ -96,6 +96,9 @@ pack_r8 (gfc_array_r8 *ret, const gfc_array_r8 *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/generated/spread_c10.c b/libgfortran/generated/spread_c10.c index 485f4ad14310436e7feeabda518a5c754fd93883..987a81c0d7bef80bdfacb50902b1fa4fb849e20b 100644 --- a/libgfortran/generated/spread_c10.c +++ b/libgfortran/generated/spread_c10.c @@ -56,6 +56,8 @@ spread_c10 (gfc_array_c10 *ret, const gfc_array_c10 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_c16.c b/libgfortran/generated/spread_c16.c index 23ed7a6684fe5920ef67cf2a5b584c325e236dc5..d7969a14a6a59b5bcfa914ad3f7c73a7571774a4 100644 --- a/libgfortran/generated/spread_c16.c +++ b/libgfortran/generated/spread_c16.c @@ -56,6 +56,8 @@ spread_c16 (gfc_array_c16 *ret, const gfc_array_c16 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_c17.c b/libgfortran/generated/spread_c17.c index f6d13e97e21c9bf1c0d1edd0129b9b2e885c6665..3011c365c14220d2480d53ec3ac5635ad05bc312 100644 --- a/libgfortran/generated/spread_c17.c +++ b/libgfortran/generated/spread_c17.c @@ -56,6 +56,8 @@ spread_c17 (gfc_array_c17 *ret, const gfc_array_c17 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_c4.c b/libgfortran/generated/spread_c4.c index 322c86061be9008107cc7b30da2fff188260cef7..f0550d36e2b7d674e39ce3b2346feb80862e7747 100644 --- a/libgfortran/generated/spread_c4.c +++ b/libgfortran/generated/spread_c4.c @@ -56,6 +56,8 @@ spread_c4 (gfc_array_c4 *ret, const gfc_array_c4 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_c8.c b/libgfortran/generated/spread_c8.c index 9a06ee297182b2d74a3a60f7e9b5d4194a78beba..b93518fb900615780b5dc8d9d29bf90ad10a95a7 100644 --- a/libgfortran/generated/spread_c8.c +++ b/libgfortran/generated/spread_c8.c @@ -56,6 +56,8 @@ spread_c8 (gfc_array_c8 *ret, const gfc_array_c8 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_i1.c b/libgfortran/generated/spread_i1.c index fc140e25f68bf799b7a6315ac3b3e3c85bcb7c0d..3c913a303974cb14d00a391b5bb25a081335e619 100644 --- a/libgfortran/generated/spread_i1.c +++ b/libgfortran/generated/spread_i1.c @@ -56,6 +56,8 @@ spread_i1 (gfc_array_i1 *ret, const gfc_array_i1 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_i16.c b/libgfortran/generated/spread_i16.c index 80ace87ae8796a17d9905dcce193c1820ab5060f..61dc5c49ad9d3307c8e1a5c6d9a83d457d679080 100644 --- a/libgfortran/generated/spread_i16.c +++ b/libgfortran/generated/spread_i16.c @@ -56,6 +56,8 @@ spread_i16 (gfc_array_i16 *ret, const gfc_array_i16 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_i2.c b/libgfortran/generated/spread_i2.c index 0815de1e2f265551cd3fae941bf0d5296bc83181..28a4f8b1a7cc25c9c2860fbe45caa5cfb82b9df7 100644 --- a/libgfortran/generated/spread_i2.c +++ b/libgfortran/generated/spread_i2.c @@ -56,6 +56,8 @@ spread_i2 (gfc_array_i2 *ret, const gfc_array_i2 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_i4.c b/libgfortran/generated/spread_i4.c index 4873c59c6595adff6f77324501e1961f6612b5de..a0a53322d16bc2b17af681b65b9372f3e3bed591 100644 --- a/libgfortran/generated/spread_i4.c +++ b/libgfortran/generated/spread_i4.c @@ -56,6 +56,8 @@ spread_i4 (gfc_array_i4 *ret, const gfc_array_i4 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_i8.c b/libgfortran/generated/spread_i8.c index f212bc636392c6dc46b859373eef2faf17ea919e..206bbbbb367ea2eeb20e821f231f7c1db974a46d 100644 --- a/libgfortran/generated/spread_i8.c +++ b/libgfortran/generated/spread_i8.c @@ -56,6 +56,8 @@ spread_i8 (gfc_array_i8 *ret, const gfc_array_i8 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_r10.c b/libgfortran/generated/spread_r10.c index 95816263aeef5767203a783b497db0d7585217e2..0760838598466195b78d1cedb13ae5c172356294 100644 --- a/libgfortran/generated/spread_r10.c +++ b/libgfortran/generated/spread_r10.c @@ -56,6 +56,8 @@ spread_r10 (gfc_array_r10 *ret, const gfc_array_r10 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_r16.c b/libgfortran/generated/spread_r16.c index 6856f70122a65f94ab23a12b96ba5a006485d9b6..af6075e6b3d9b760a012f2f7d302e3e49f50d392 100644 --- a/libgfortran/generated/spread_r16.c +++ b/libgfortran/generated/spread_r16.c @@ -56,6 +56,8 @@ spread_r16 (gfc_array_r16 *ret, const gfc_array_r16 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_r17.c b/libgfortran/generated/spread_r17.c index f2a459528dd120e74ca4861a62daa34d29c1c20d..cb765d3212e3a62410fa03306fff7154a948db05 100644 --- a/libgfortran/generated/spread_r17.c +++ b/libgfortran/generated/spread_r17.c @@ -56,6 +56,8 @@ spread_r17 (gfc_array_r17 *ret, const gfc_array_r17 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_r4.c b/libgfortran/generated/spread_r4.c index 5a52870c537716d288133c485fe1fccb758aa7c1..8fdb722e523d13b1723f9560fc913015c8c41cff 100644 --- a/libgfortran/generated/spread_r4.c +++ b/libgfortran/generated/spread_r4.c @@ -56,6 +56,8 @@ spread_r4 (gfc_array_r4 *ret, const gfc_array_r4 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/generated/spread_r8.c b/libgfortran/generated/spread_r8.c index 3bc847f000e74f5f45b983003f5b6604abf97079..ecfe9ad4e8bf68eb2f0b587cff42cf5294a0839f 100644 --- a/libgfortran/generated/spread_r8.c +++ b/libgfortran/generated/spread_r8.c @@ -56,6 +56,8 @@ spread_r8 (gfc_array_r8 *ret, const gfc_array_r8 *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/intrinsics/execute_command_line.c b/libgfortran/intrinsics/execute_command_line.c index 0d1688400c283cfe226efb3fa8b0aba35b3e651e..c2bcaf05f0b1d34909eca8a617ce4f1e3576c1db 100644 --- a/libgfortran/intrinsics/execute_command_line.c +++ b/libgfortran/intrinsics/execute_command_line.c @@ -192,6 +192,8 @@ execute_command_line_i4 (const char *command, GFC_LOGICAL_4 *wait, bool w = wait ? *wait : true; int estat, estat_initial, cstat; + estat_initial = 0; /* Avoid nuisance warning if not initialized. */ + if (exitstat) estat_initial = estat = *exitstat; @@ -221,6 +223,8 @@ execute_command_line_i8 (const char *command, GFC_LOGICAL_8 *wait, bool w = wait ? *wait : true; int estat, estat_initial, cstat; + estat_initial = 0; /* Avoid nuisance warning if not initialized. */ + if (exitstat) estat_initial = estat = *exitstat; diff --git a/libgfortran/intrinsics/pack_generic.c b/libgfortran/intrinsics/pack_generic.c index 5bc7f1c254b2d8904bb1375c8fa1fa01a6837665..5462b17bed2a1d2d1d065d8ecb99e320ca9195ef 100644 --- a/libgfortran/intrinsics/pack_generic.c +++ b/libgfortran/intrinsics/pack_generic.c @@ -94,6 +94,9 @@ pack_internal (gfc_array_char *ret, const gfc_array_char *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + sptr = array->base_addr; mptr = mask->base_addr; diff --git a/libgfortran/intrinsics/spread_generic.c b/libgfortran/intrinsics/spread_generic.c index 7e3c8d5b04d77690e3b355f20dfed7777703729e..5b6df95447e01a15687082a15622355c65171fc2 100644 --- a/libgfortran/intrinsics/spread_generic.c +++ b/libgfortran/intrinsics/spread_generic.c @@ -55,6 +55,8 @@ spread_internal (gfc_array_char *ret, const gfc_array_char *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()"); diff --git a/libgfortran/m4/pack.m4 b/libgfortran/m4/pack.m4 index 3003355c2c9e7cdd169429d08e6a321ed140c5f1..8bb8c250ceb6bb68d2d921eada3850c511cfc9b8 100644 --- a/libgfortran/m4/pack.m4 +++ b/libgfortran/m4/pack.m4 @@ -97,6 +97,9 @@ pack_'rtype_code` ('rtype` *ret, const 'rtype` *array, dim = GFC_DESCRIPTOR_RANK (array); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + mstride[0] = 0; + mptr = mask->base_addr; /* Use the same loop for all logical types, by using GFC_LOGICAL_1 diff --git a/libgfortran/m4/spread.m4 b/libgfortran/m4/spread.m4 index 0d70345f8e0daf952b7b14b9150f7d1fdebda36f..edb46ef1b853b46e38145c23cc0d0eb81c3e1c77 100644 --- a/libgfortran/m4/spread.m4 +++ b/libgfortran/m4/spread.m4 @@ -57,6 +57,8 @@ spread_'rtype_code` ('rtype` *ret, const 'rtype` *source, srank = GFC_DESCRIPTOR_RANK(source); + sstride[0] = 0; /* Avoid warnings if not initialized. */ + rrank = srank + 1; if (rrank > GFC_MAX_DIMENSIONS) runtime_error ("return rank too large in spread()");