From c1375d975d9b14c65255e17fdfe0f2908936f312 Mon Sep 17 00:00:00 2001
From: Jerry DeLisle <jvdelisle@gcc.gnu.org>
Date: Sat, 25 Feb 2023 20:30:35 -0800
Subject: [PATCH] Fortran: Eliminate nuisance warnings by initializing.

Set sstride[0] and mstride[0] to zero, eliminating some warnings.

libgfortran/ChangeLog:

	* generated/pack_c10.c (pack_c10): Regenerated.
	* generated/pack_c16.c (pack_c16): Regenerated.
	* generated/pack_c17.c (pack_c17): Regenerated.
	* generated/pack_c4.c (pack_c4): Regenerated.
	* generated/pack_c8.c (pack_c8): Regenerated.
	* generated/pack_i1.c (pack_i1): Regenerated.
	* generated/pack_i16.c (pack_i16): Regenerated.
	* generated/pack_i2.c (pack_i2): Regenerated.
	* generated/pack_i4.c (pack_i4): Regenerated.
	* generated/pack_i8.c (pack_i8): Regenerated.
	* generated/pack_r10.c (pack_r10): Regenerated.
	* generated/pack_r16.c (pack_r16): Regenerated.
	* generated/pack_r17.c (pack_r17): Regenerated.
	* generated/pack_r4.c (pack_r4): Regenerated.
	* generated/pack_r8.c (pack_r8): Regenerated.
	* generated/spread_c10.c (spread_c10): Regenerated.
	* generated/spread_c16.c (spread_c16): Regenerated.
	* generated/spread_c17.c (spread_c17): Regenerated.
	* generated/spread_c4.c (spread_c4): Regenerated.
	* generated/spread_c8.c (spread_c8): Regenerated.
	* generated/spread_i1.c (spread_i1): Regenerated.
	* generated/spread_i16.c (spread_i16): Regenerated.
	* generated/spread_i2.c (spread_i2): Regenerated.
	* generated/spread_i4.c (spread_i4): Regenerated.
	* generated/spread_i8.c (spread_i8): Regenerated.
	* generated/spread_r10.c (spread_r10): Regenerated.
	* generated/spread_r16.c (spread_r16): Regenerated.
	* generated/spread_r17.c (spread_r17): Regenerated.
	* generated/spread_r4.c (spread_r4): Regenerated.
	* generated/spread_r8.c (spread_r8): Regenerated.
	* intrinsics/execute_command_line.c (execute_command_line_i4),
	(execute_command_line_i8): Set estat_initial to zero.
	* intrinsics/pack_generic.c (pack_internal): Set sstride[0] and
	mstride[0] to zero.
	* intrinsics/spread_generic.c (spread_internal): Set sstride[0].
	* m4/pack.m4: Set sstride[0] and mstride[0].
	* m4/spread.m4: Set sstride[0].
---
 libgfortran/generated/pack_c10.c              | 3 +++
 libgfortran/generated/pack_c16.c              | 3 +++
 libgfortran/generated/pack_c17.c              | 3 +++
 libgfortran/generated/pack_c4.c               | 3 +++
 libgfortran/generated/pack_c8.c               | 3 +++
 libgfortran/generated/pack_i1.c               | 3 +++
 libgfortran/generated/pack_i16.c              | 3 +++
 libgfortran/generated/pack_i2.c               | 3 +++
 libgfortran/generated/pack_i4.c               | 3 +++
 libgfortran/generated/pack_i8.c               | 3 +++
 libgfortran/generated/pack_r10.c              | 3 +++
 libgfortran/generated/pack_r16.c              | 3 +++
 libgfortran/generated/pack_r17.c              | 3 +++
 libgfortran/generated/pack_r4.c               | 3 +++
 libgfortran/generated/pack_r8.c               | 3 +++
 libgfortran/generated/spread_c10.c            | 2 ++
 libgfortran/generated/spread_c16.c            | 2 ++
 libgfortran/generated/spread_c17.c            | 2 ++
 libgfortran/generated/spread_c4.c             | 2 ++
 libgfortran/generated/spread_c8.c             | 2 ++
 libgfortran/generated/spread_i1.c             | 2 ++
 libgfortran/generated/spread_i16.c            | 2 ++
 libgfortran/generated/spread_i2.c             | 2 ++
 libgfortran/generated/spread_i4.c             | 2 ++
 libgfortran/generated/spread_i8.c             | 2 ++
 libgfortran/generated/spread_r10.c            | 2 ++
 libgfortran/generated/spread_r16.c            | 2 ++
 libgfortran/generated/spread_r17.c            | 2 ++
 libgfortran/generated/spread_r4.c             | 2 ++
 libgfortran/generated/spread_r8.c             | 2 ++
 libgfortran/intrinsics/execute_command_line.c | 4 ++++
 libgfortran/intrinsics/pack_generic.c         | 3 +++
 libgfortran/intrinsics/spread_generic.c       | 2 ++
 libgfortran/m4/pack.m4                        | 3 +++
 libgfortran/m4/spread.m4                      | 2 ++
 35 files changed, 89 insertions(+)

diff --git a/libgfortran/generated/pack_c10.c b/libgfortran/generated/pack_c10.c
index a961057a8a6f..c01efd11cf8d 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 37c062798bb9..8ee6b25cbe6f 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 f9638d640adc..7a1cf5e17e82 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 d72717041a13..76c8a853facc 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 9f8e97e4bc84..365c26ed0e8f 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 0f4fe72b3f5f..97a82281a5c5 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 3c4169b88ca6..a0aa6db29d8b 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 c5878afc1633..24efcaae17e6 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 45f5d05918ba..6642f2b0bc10 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 c45fc27c04a1..0f6ce94f0367 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 1211fc492af0..7dd232853b4c 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 e6d6c7cfb8e3..6db5e65e16fc 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 02e0b9622cb1..6f9ff439559c 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 630d2a0e7308..09132539ce9f 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 90d66bbc04bc..96b648aca4e3 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 485f4ad14310..987a81c0d7be 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 23ed7a6684fe..d7969a14a6a5 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 f6d13e97e21c..3011c365c142 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 322c86061be9..f0550d36e2b7 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 9a06ee297182..b93518fb9006 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 fc140e25f68b..3c913a303974 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 80ace87ae879..61dc5c49ad9d 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 0815de1e2f26..28a4f8b1a7cc 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 4873c59c6595..a0a53322d16b 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 f212bc636392..206bbbbb367e 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 95816263aeef..076083859846 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 6856f70122a6..af6075e6b3d9 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 f2a459528dd1..cb765d3212e3 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 5a52870c5377..8fdb722e523d 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 3bc847f000e7..ecfe9ad4e8bf 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 0d1688400c28..c2bcaf05f0b1 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 5bc7f1c254b2..5462b17bed2a 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 7e3c8d5b04d7..5b6df95447e0 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 3003355c2c9e..8bb8c250ceb6 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 0d70345f8e0d..edb46ef1b853 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()");
-- 
GitLab