* [Patch, Fortran] libgomp: Silence unpack's may be used uninitialized warning
@ 2020-09-28 21:12 Tobias Burnus
2020-09-28 23:25 ` Damian Rouson
0 siblings, 1 reply; 3+ messages in thread
From: Tobias Burnus @ 2020-09-28 21:12 UTC (permalink / raw)
To: gcc-patches, fortran
[-- Attachment #1: Type: text/plain, Size: 1033 bytes --]
There are more warnings, but I picked this one which shows up
with default build options for GCC trunk – twice for each
generated file:
../../../../repos/gcc/libgfortran/generated/unpack_i2.c:128:12: warning: ‘rstride’ may be used uninitialized [-Wmaybe-uninitialized]
../../../../repos/gcc/libgfortran/generated/unpack_i2.c:278:12: warning: ‘rstride’ may be used uninitialized [-Wmaybe-uninitialized]
Hence, 13 times these messages (×2 warnings/file + ×2 with multilib) → 53 'warning:'.
Seemingly, the compiler logic has changes as the previous location
used to be sufficient to silence the compiler.
(The warning is right if base_addr = NULL and dim = 0; the latter should
not occur but the compiler does not know this.)
Committed as obvious as r11-3508-g69c56ce673d1e1d4508e82053a32011f807c6088
Tobias
-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter
[-- Attachment #2: warn.diff --]
[-- Type: text/x-patch, Size: 21313 bytes --]
libgfortran/m4/unpack.m4: Silence -Wmaybe-uninitialized
libgfortran/ChangeLog:
* m4/unpack.m4 (unpack0_'rtype_code`,
unpack1_'rtype_code`): Move 'rstride[0]' initialization outside
outside conditional branch to silence -Wmaybe-uninitialized.
* generated/unpack_c10.c: Regenerate.
* generated/unpack_c16.c: Regenerate.
* generated/unpack_c4.c: Regenerate.
* generated/unpack_c8.c: Regenerate.
* generated/unpack_i1.c: Regenerate.
* generated/unpack_i16.c: Regenerate.
* generated/unpack_i2.c: Regenerate.
* generated/unpack_i4.c: Regenerate.
* generated/unpack_i8.c: Regenerate.
* generated/unpack_r10.c: Regenerate.
* generated/unpack_r16.c: Regenerate.
* generated/unpack_r4.c: Regenerate.
* generated/unpack_r8.c: Regenerate.
libgfortran/generated/unpack_c10.c | 8 ++++----
libgfortran/generated/unpack_c16.c | 8 ++++----
libgfortran/generated/unpack_c4.c | 8 ++++----
libgfortran/generated/unpack_c8.c | 8 ++++----
libgfortran/generated/unpack_i1.c | 8 ++++----
libgfortran/generated/unpack_i16.c | 8 ++++----
libgfortran/generated/unpack_i2.c | 8 ++++----
libgfortran/generated/unpack_i4.c | 8 ++++----
libgfortran/generated/unpack_i8.c | 8 ++++----
libgfortran/generated/unpack_r10.c | 8 ++++----
libgfortran/generated/unpack_r16.c | 8 ++++----
libgfortran/generated/unpack_r4.c | 8 ++++----
libgfortran/generated/unpack_r8.c | 8 ++++----
libgfortran/m4/unpack.m4 | 8 ++++----
14 files changed, 56 insertions(+), 56 deletions(-)
diff --git a/libgfortran/m4/unpack.m4 b/libgfortran/m4/unpack.m4
index da7a5ce0443..ebc469a84f8 100644
--- a/libgfortran/m4/unpack.m4
+++ b/libgfortran/m4/unpack.m4
@@ -80,6 +80,8 @@ unpack0_'rtype_code` ('rtype` *ret, const 'rtype` *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -103,8 +105,6 @@ unpack0_'rtype_code` ('rtype` *ret, const 'rtype` *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -226,6 +226,8 @@ unpack1_'rtype_code` ('rtype` *ret, const 'rtype` *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -250,8 +252,6 @@ unpack1_'rtype_code` ('rtype` *ret, const 'rtype` *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_c10.c b/libgfortran/generated/unpack_c10.c
index e3b3c29e9da..12110df8af0 100644
--- a/libgfortran/generated/unpack_c10.c
+++ b/libgfortran/generated/unpack_c10.c
@@ -79,6 +79,8 @@ unpack0_c10 (gfc_array_c10 *ret, const gfc_array_c10 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_c10 (gfc_array_c10 *ret, const gfc_array_c10 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_c10 (gfc_array_c10 *ret, const gfc_array_c10 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_c10 (gfc_array_c10 *ret, const gfc_array_c10 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_c16.c b/libgfortran/generated/unpack_c16.c
index 0c99509cfda..c684156f297 100644
--- a/libgfortran/generated/unpack_c16.c
+++ b/libgfortran/generated/unpack_c16.c
@@ -79,6 +79,8 @@ unpack0_c16 (gfc_array_c16 *ret, const gfc_array_c16 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_c16 (gfc_array_c16 *ret, const gfc_array_c16 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_c16 (gfc_array_c16 *ret, const gfc_array_c16 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_c16 (gfc_array_c16 *ret, const gfc_array_c16 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_c4.c b/libgfortran/generated/unpack_c4.c
index 15c20c57334..374b3fe0c8c 100644
--- a/libgfortran/generated/unpack_c4.c
+++ b/libgfortran/generated/unpack_c4.c
@@ -79,6 +79,8 @@ unpack0_c4 (gfc_array_c4 *ret, const gfc_array_c4 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_c4 (gfc_array_c4 *ret, const gfc_array_c4 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_c4 (gfc_array_c4 *ret, const gfc_array_c4 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_c4 (gfc_array_c4 *ret, const gfc_array_c4 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_c8.c b/libgfortran/generated/unpack_c8.c
index b85fcb98abe..110cb4f3ee0 100644
--- a/libgfortran/generated/unpack_c8.c
+++ b/libgfortran/generated/unpack_c8.c
@@ -79,6 +79,8 @@ unpack0_c8 (gfc_array_c8 *ret, const gfc_array_c8 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_c8 (gfc_array_c8 *ret, const gfc_array_c8 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_c8 (gfc_array_c8 *ret, const gfc_array_c8 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_c8 (gfc_array_c8 *ret, const gfc_array_c8 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_i1.c b/libgfortran/generated/unpack_i1.c
index 1bea990e80e..96237a169b2 100644
--- a/libgfortran/generated/unpack_i1.c
+++ b/libgfortran/generated/unpack_i1.c
@@ -79,6 +79,8 @@ unpack0_i1 (gfc_array_i1 *ret, const gfc_array_i1 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_i1 (gfc_array_i1 *ret, const gfc_array_i1 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_i1 (gfc_array_i1 *ret, const gfc_array_i1 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_i1 (gfc_array_i1 *ret, const gfc_array_i1 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_i16.c b/libgfortran/generated/unpack_i16.c
index fa69d8ef08c..f58be9572d9 100644
--- a/libgfortran/generated/unpack_i16.c
+++ b/libgfortran/generated/unpack_i16.c
@@ -79,6 +79,8 @@ unpack0_i16 (gfc_array_i16 *ret, const gfc_array_i16 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_i16 (gfc_array_i16 *ret, const gfc_array_i16 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_i16 (gfc_array_i16 *ret, const gfc_array_i16 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_i16 (gfc_array_i16 *ret, const gfc_array_i16 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_i2.c b/libgfortran/generated/unpack_i2.c
index 59baea51bd6..0dab104c9db 100644
--- a/libgfortran/generated/unpack_i2.c
+++ b/libgfortran/generated/unpack_i2.c
@@ -79,6 +79,8 @@ unpack0_i2 (gfc_array_i2 *ret, const gfc_array_i2 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_i2 (gfc_array_i2 *ret, const gfc_array_i2 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_i2 (gfc_array_i2 *ret, const gfc_array_i2 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_i2 (gfc_array_i2 *ret, const gfc_array_i2 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_i4.c b/libgfortran/generated/unpack_i4.c
index 4dc7482f6ca..b32c92a5d67 100644
--- a/libgfortran/generated/unpack_i4.c
+++ b/libgfortran/generated/unpack_i4.c
@@ -79,6 +79,8 @@ unpack0_i4 (gfc_array_i4 *ret, const gfc_array_i4 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_i4 (gfc_array_i4 *ret, const gfc_array_i4 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_i4 (gfc_array_i4 *ret, const gfc_array_i4 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_i4 (gfc_array_i4 *ret, const gfc_array_i4 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_i8.c b/libgfortran/generated/unpack_i8.c
index 40a929854e7..25a928ca13c 100644
--- a/libgfortran/generated/unpack_i8.c
+++ b/libgfortran/generated/unpack_i8.c
@@ -79,6 +79,8 @@ unpack0_i8 (gfc_array_i8 *ret, const gfc_array_i8 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_i8 (gfc_array_i8 *ret, const gfc_array_i8 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_i8 (gfc_array_i8 *ret, const gfc_array_i8 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_i8 (gfc_array_i8 *ret, const gfc_array_i8 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_r10.c b/libgfortran/generated/unpack_r10.c
index 7981754ca35..4044ec3f897 100644
--- a/libgfortran/generated/unpack_r10.c
+++ b/libgfortran/generated/unpack_r10.c
@@ -79,6 +79,8 @@ unpack0_r10 (gfc_array_r10 *ret, const gfc_array_r10 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_r10 (gfc_array_r10 *ret, const gfc_array_r10 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_r10 (gfc_array_r10 *ret, const gfc_array_r10 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_r10 (gfc_array_r10 *ret, const gfc_array_r10 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_r16.c b/libgfortran/generated/unpack_r16.c
index ac5738ff07d..beeaa4e41e8 100644
--- a/libgfortran/generated/unpack_r16.c
+++ b/libgfortran/generated/unpack_r16.c
@@ -79,6 +79,8 @@ unpack0_r16 (gfc_array_r16 *ret, const gfc_array_r16 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_r16 (gfc_array_r16 *ret, const gfc_array_r16 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_r16 (gfc_array_r16 *ret, const gfc_array_r16 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_r16 (gfc_array_r16 *ret, const gfc_array_r16 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_r4.c b/libgfortran/generated/unpack_r4.c
index b149b5183ab..283dd848f52 100644
--- a/libgfortran/generated/unpack_r4.c
+++ b/libgfortran/generated/unpack_r4.c
@@ -79,6 +79,8 @@ unpack0_r4 (gfc_array_r4 *ret, const gfc_array_r4 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_r4 (gfc_array_r4 *ret, const gfc_array_r4 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_r4 (gfc_array_r4 *ret, const gfc_array_r4 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_r4 (gfc_array_r4 *ret, const gfc_array_r4 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_r8.c b/libgfortran/generated/unpack_r8.c
index d8db8e0ac14..08882995313 100644
--- a/libgfortran/generated/unpack_r8.c
+++ b/libgfortran/generated/unpack_r8.c
@@ -79,6 +79,8 @@ unpack0_r8 (gfc_array_r8 *ret, const gfc_array_r8 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -102,8 +104,6 @@ unpack0_r8 (gfc_array_r8 *ret, const gfc_array_r8 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -225,6 +225,8 @@ unpack1_r8 (gfc_array_r8 *ret, const gfc_array_r8 *vector,
else
runtime_error ("Funny sized logical array");
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
@@ -249,8 +251,6 @@ unpack1_r8 (gfc_array_r8 *ret, const gfc_array_r8 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
- /* Initialize to avoid -Wmaybe-uninitialized complaints. */
- rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Patch, Fortran] libgomp: Silence unpack's may be used uninitialized warning
2020-09-28 21:12 [Patch, Fortran] libgomp: Silence unpack's may be used uninitialized warning Tobias Burnus
@ 2020-09-28 23:25 ` Damian Rouson
2020-09-29 7:49 ` Tobias Burnus
0 siblings, 1 reply; 3+ messages in thread
From: Damian Rouson @ 2020-09-28 23:25 UTC (permalink / raw)
To: Tobias Burnus; +Cc: gcc-patches, fortran
I've been seeing similar messages to this one for quite some time now -- I
think ~1 year. I don't often use unpack so there are likely many other
causes too. I haven't take the time to isolate them, but if I can do so
easily, I'll submit reports.
Damian
On Mon, Sep 28, 2020 at 2:12 PM Tobias Burnus <tobias@codesourcery.com>
wrote:
> There are more warnings, but I picked this one which shows up
> with default build options for GCC trunk – twice for each
> generated file:
>
> ../../../../repos/gcc/libgfortran/generated/unpack_i2.c:128:12: warning:
> ‘rstride’ may be used uninitialized [-Wmaybe-uninitialized]
> ../../../../repos/gcc/libgfortran/generated/unpack_i2.c:278:12: warning:
> ‘rstride’ may be used uninitialized [-Wmaybe-uninitialized]
>
> Hence, 13 times these messages (×2 warnings/file + ×2 with multilib) → 53
> 'warning:'.
>
> Seemingly, the compiler logic has changes as the previous location
> used to be sufficient to silence the compiler.
> (The warning is right if base_addr = NULL and dim = 0; the latter should
> not occur but the compiler does not know this.)
>
> Committed as obvious as r11-3508-g69c56ce673d1e1d4508e82053a32011f807c6088
>
> Tobias
>
> -----------------
> Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München /
> Germany
> Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung,
> Alexander Walter
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Patch, Fortran] libgomp: Silence unpack's may be used uninitialized warning
2020-09-28 23:25 ` Damian Rouson
@ 2020-09-29 7:49 ` Tobias Burnus
0 siblings, 0 replies; 3+ messages in thread
From: Tobias Burnus @ 2020-09-29 7:49 UTC (permalink / raw)
To: Damian Rouson, Tobias Burnus; +Cc: gcc-patches, fortran
Hi Damian,
my silencing-a-warning patch is about warnings reported when compiling
GCC itself. — There are also warning for internal/artificially created
variables when compiling code with gfortran. This patch was about the
former and I assume that you are seeing the later.
But, otherwise, I concur that both should eventually be fixed.
Tobias
On 9/29/20 1:25 AM, Damian Rouson wrote:
> I've been seeing similar messages to this one for quite some time now -- I
> think ~1 year. I don't often use unpack so there are likely many other
> causes too. I haven't take the time to isolate them, but if I can do so
> easily, I'll submit reports.
>
> Damian
>
> On Mon, Sep 28, 2020 at 2:12 PM Tobias Burnus <tobias@codesourcery.com>
> wrote:
>
>> There are more warnings, but I picked this one which shows up
>> with default build options for GCC trunk – twice for each
>> generated file:
>>
>> ../../../../repos/gcc/libgfortran/generated/unpack_i2.c:128:12: warning:
>> ‘rstride’ may be used uninitialized [-Wmaybe-uninitialized]
>> ../../../../repos/gcc/libgfortran/generated/unpack_i2.c:278:12: warning:
>> ‘rstride’ may be used uninitialized [-Wmaybe-uninitialized]
>>
>> Hence, 13 times these messages (×2 warnings/file + ×2 with multilib) → 53
>> 'warning:'.
>>
>> Seemingly, the compiler logic has changes as the previous location
>> used to be sufficient to silence the compiler.
>> (The warning is right if base_addr = NULL and dim = 0; the latter should
>> not occur but the compiler does not know this.)
>>
>> Committed as obvious as r11-3508-g69c56ce673d1e1d4508e82053a32011f807c6088
>>
>> Tobias
>>
>> -----------------
>> Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München /
>> Germany
>> Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung,
>> Alexander Walter
>>
-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-09-29 7:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-28 21:12 [Patch, Fortran] libgomp: Silence unpack's may be used uninitialized warning Tobias Burnus
2020-09-28 23:25 ` Damian Rouson
2020-09-29 7:49 ` Tobias Burnus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).