From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com [IPv6:2607:f8b0:4864:20::429]) by sourceware.org (Postfix) with ESMTPS id 3EECB3858D1E; Mon, 27 Feb 2023 02:54:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3EECB3858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pf1-x429.google.com with SMTP id cp12so1901546pfb.5; Sun, 26 Feb 2023 18:54:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677466440; h=content-transfer-encoding:in-reply-to:subject:from:references:cc:to :content-language:user-agent:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=hpTWEHw+cDz0LlBiWk43/pYNSf07VtzfSXuD9CoaqQk=; b=iorT+69tgmz1Su/PaKduqV4XoE33OjVbsxIf38fQ4m6zvBKRb6hc/7GJTnrjq+NLot ekBgMD2VDaMtzuI2egPhIMB4nTXDYi5QGE1xAiAH/I/uzZkKklogivEAgVMxIPIKvoz3 2ypT+1hhwKGsMxd6KCBdbIjCyxNzBH1FOgQOe0A1glWaw7Q/qfykFHML6UO3mG75Z1J0 En/CkgHxRXXVYeLdd8/WWzJYqb7otAnVEm8JShthG+jcb49iYCKxHhHUbytMnvQOXTnm VU8HaPtvrRZst76aRynYdKrc8sQ9z+sRgrBo8HJu9ipO2fIovw69M3sES055goCKBxHK Y37A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677466440; h=content-transfer-encoding:in-reply-to:subject:from:references:cc:to :content-language:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=hpTWEHw+cDz0LlBiWk43/pYNSf07VtzfSXuD9CoaqQk=; b=ScJ//KVgvZxUxcTK5XHRafD8ttV/fdJbfgYCotWeB/RYDoaptJWqItfC89NsnxT1Ny osaLCcJ5PPKgZ3KASScQ6Sa7ggxBTImzOEJ48urnFoHTjalkvRYfRGmwtAzF8m4h1bYQ 8tIJW0G6/0q6yCB2dJPJhaK2fbHAkDZwsenDQJORaRv2kEzDtYIUogEjiE2q4TV/q6fR osSHxM4w50IhZoyPaVZJ9VkKSa45UCAqJo6d6is0MRUlR6r671VZ5k8Dc7m3x9cwPxBa 6XvvNOhOj9Cn6LM/Zli4/3Crt0KqhSaAxXzNcRTw62VvV3FDj8s78tynhjfnYd56agLb osrQ== X-Gm-Message-State: AO0yUKX3CDvRPM+fxAqo6XWllTBaajiCWYuX+zD6bBUgFJIgaVy7mzxj FXISOB4V4EBSCCol/oQ2D3o= X-Google-Smtp-Source: AK7set9+Qats+1DV5R6fjJSbI4cDpuqI6gKMPTPYuXitD+rAztAX9GBCyov790EJh7+SSxulNWVrrQ== X-Received: by 2002:aa7:9153:0:b0:5f5:313e:49dd with SMTP id 19-20020aa79153000000b005f5313e49ddmr2078411pfi.1.1677466440073; Sun, 26 Feb 2023 18:54:00 -0800 (PST) Received: from [192.168.1.20] ([50.37.188.226]) by smtp.gmail.com with ESMTPSA id m3-20020aa78a03000000b005e06234e70esm3078636pfa.59.2023.02.26.18.53.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 26 Feb 2023 18:53:59 -0800 (PST) Message-ID: <453af0ec-7fe6-bb7c-188d-787616494cc4@gmail.com> Date: Sun, 26 Feb 2023 18:53:59 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Content-Language: en-US To: Harald Anlauf , gfortran Cc: gcc-patches References: <17e31d5c-1579-8899-70b3-57e3115b2153@gmail.com> <303e0419-2b8c-d28f-4f1a-979ceeca55b1@gmx.de> From: Jerry D Subject: Re: [patch, libgfortran] Initailize some variable to get rid of nuisance warnings. In-Reply-To: <303e0419-2b8c-d28f-4f1a-979ceeca55b1@gmx.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: 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 >> 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]. >