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).

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 <jvdeli...@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 via email to