public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jerry D <jvdelisle2@gmail.com>
To: Harald Anlauf <anlauf@gmx.de>, gfortran <fortran@gcc.gnu.org>
Cc: gcc-patches <gcc-patches@gcc.gnu.org>
Subject: Re: [patch, libgfortran] Initailize some variable to get rid of nuisance warnings.
Date: Sun, 26 Feb 2023 18:53:59 -0800	[thread overview]
Message-ID: <453af0ec-7fe6-bb7c-188d-787616494cc4@gmail.com> (raw)
In-Reply-To: <303e0419-2b8c-d28f-4f1a-979ceeca55b1@gmx.de>

On 2/26/23 12:59 PM, Harald Anlauf wrote:
> Hi Jerry,
> 
> regarding PACK: since this is a bogus warning as the compiler does
> not realize that dim >= 1, wouldn't a
> 
> gcc_assert (dim >= 1);
> 
> in the right place achieve the same effect, since the first argument
> must be an array?
> 
> (It's different for SPREAD, though, where SOURCE may be scalar).
> 

I should have clarified in my posts that the warnings are on the use of 
sstride[0], mstride[0] or both. For example.

../../../trunk/libgfortran/generated/pack_i2.c: In function ‘pack_i2’:
../../../trunk/libgfortran/generated/pack_i2.c:129:14: warning: 
‘sstride’ may be used uninitialized [-Wmaybe-uninitialized]
   129 |   if (sstride[0] == 0)
       |       ~~~~~~~^~~
../../../trunk/libgfortran/generated/pack_i2.c:80:14: note: ‘sstride’ 
declared here
    80 |   index_type sstride[GFC_MAX_DIMENSIONS];
       |              ^~~~~~~
../../../trunk/libgfortran/generated/pack_i2.c:131:14: warning: 
‘mstride’ may be used uninitialized [-Wmaybe-uninitialized]
   131 |   if (mstride[0] == 0)
       |       ~~~~~~~^~~
../../../trunk/libgfortran/generated/pack_i2.c:84:14: note: ‘mstride’ 
declared here
    84 |   index_type mstride[GFC_MAX_DIMENSIONS];
       |              ^~~~~~~
../../../trunk/libgfortran/generated/pack_i2.c:131:14: warning: 
‘mstride’ may be used uninitialized [-Wmaybe-uninitialized]
   131 |   if (mstride[0] == 0)
       |       ~~~~~~~^~~
../../../trunk/libgfortran/generated/pack_i2.c:84:14: note: ‘mstride’ 
declared here
    84 |   index_type mstride[GFC_MAX_DIMENSIONS];
       |              ^~~~~~~

In a sense it is a regression. It showed up when builds started to use 
-Wmaybe-unitialized.

> Cheers,
> Harald
> 
> Am 26.02.23 um 20:52 schrieb Jerry D via Gcc-patches:
>> The attached patch is minor and self explanatory.  I assume this 
>> should wait for gfortran 14 since no regression involved.  Please 
>> advise otherwise.
>>
>> Regression tested on x86-64.
>>
>> OK for trunk when the time is right?
>>
>> Regards,
>>
>> Jerry
>>
>> Author: Jerry DeLisle <jvdelisle@gcc.gnu.org>
>> Date:   Sat Feb 25 20:30:35 2023 -0800
>>
>>      Fortran: Eliminate nuisance warnings by initializing.
>>
>>      Set sstride[0] and mstide[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].
> 


  reply	other threads:[~2023-02-27  2:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-26 19:52 Jerry D
2023-02-26 20:59 ` Harald Anlauf
2023-02-27  2:53   ` Jerry D [this message]
2023-02-27  6:30     ` Thomas Koenig
2023-02-27  7:54     ` Tobias Burnus
2023-02-28  2:16       ` Jerry D

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=453af0ec-7fe6-bb7c-188d-787616494cc4@gmail.com \
    --to=jvdelisle2@gmail.com \
    --cc=anlauf@gmx.de \
    --cc=fortran@gcc.gnu.org \
    --cc=gcc-patches@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).