From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-il1-x12e.google.com (mail-il1-x12e.google.com [IPv6:2607:f8b0:4864:20::12e]) by sourceware.org (Postfix) with ESMTPS id DD80D3858D20 for ; Tue, 8 Feb 2022 21:50:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DD80D3858D20 Received: by mail-il1-x12e.google.com with SMTP id d3so137364ilr.10 for ; Tue, 08 Feb 2022 13:50:54 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=f1OsyWV7cVw1U+VbcR/orWifpQepNv/iTznzvHZpqAg=; b=eVI0NYGoGtGPItOnbm+4CL9nUJOvMpA3Pi28YEy/xMq9/Zb7byTY55DvGvFgIHTcE7 yMChahVJsmXhikjnYyVCxxuMH5NY7cBkV1CJkCQNJ4/YXrSZrrRRlyrXNHkmgTHvcZxQ EjVbK8Cbc5YpIyETO9itt+7cZZRmVLAyVHVQfuSn1hWt5e8DUJ8YI5mRJ1mpX2JTRPuH 76WB4ns30t+5wpXzW7v6jF4/13iGNkriJtJEDPs3A9uM3Le1FIG/TAyoLFxd63gP+b3m lOLDIxNk3jLZT2dS49VaSYdnDBDM8Da7HxfLInnZ3Hbcxl3VF1g4nLJIK1z8J/h+ClGw NHLQ== X-Gm-Message-State: AOAM532tdugnN/ZCkYfHH7MOdg/hD/kvjhYBSDUk8KqaJw1WgibBoN69 6znTAaStxw018ZDlzqnTLFg= X-Google-Smtp-Source: ABdhPJzW2RPhvRwEeESuAZcqlUMBXR5dtsLirbdlvrK0WoVoKa1zsG8E1xV73ctWhR+XN32xTnZJ5g== X-Received: by 2002:a05:6e02:15c4:: with SMTP id q4mr3434101ilu.15.1644357054215; Tue, 08 Feb 2022 13:50:54 -0800 (PST) Received: from [192.168.0.41] (97-118-104-1.hlrn.qwest.net. [97.118.104.1]) by smtp.gmail.com with ESMTPSA id b9sm8402867iow.31.2022.02.08.13.50.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Feb 2022 13:50:53 -0800 (PST) Message-ID: <641d2125-7809-77eb-f007-3dd784940873@gmail.com> Date: Tue, 8 Feb 2022 14:50:53 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 Subject: Re: Extended doubt regarding the bug 93432 Content-Language: en-US To: Jonathan Wakely , Krishna Narayanan Cc: gcc-help References: From: Martin Sebor In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, KAM_NUMSUBJECT, KAM_SHORT, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-help@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-help mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2022 21:50:56 -0000 On 2/8/22 10:37, Jonathan Wakely via Gcc-help wrote: > On Tue, 8 Feb 2022 at 17:18, Krishna Narayanan < > krishnanarayanan132002@gmail.com> wrote: > >> Thanks for your response,Could you please clarify if this is a bug? >> > > It warns with -O1, which is the documented behaviour: > > The effectiveness of some warnings depends on optimizations also > being enabled. For example -Wsuggest-final-types is more > effective with link-time optimization and -Wmaybe-uninitialized does > not warn at all unless optimization is enabled. Yes, although the latter sentence is no longer completely accurate. Since GCC 11 -Wmaybe-uninitialized doesn't need optimization to trigger for code that passes an uninitialized object to a function that takes a const reference. Let me update the manual with that. > So no, I don't think it' a bug. GCC is behaving as designed. Ideally it > would be better at warning without optimization, but changing that would be > hard. It might be tricky to handle this case without causing false positives in others. Krishna, to understand why some of these cases are diagnosed and others aren't, you need to look at either the dump from the uninit pass (-fdump-tree-uninit) with -O1 and above, or at some early dump (e.g., -fdump-tree-ssa) at -O0. Here's a link to the former on Godbolt for your example: https://gcc.godbolt.org/z/89c4s7o6E The best way is of course to step through GCC in a debugger (for the uninitialized warnings the code is in gcc/tree-ssa-uninit.cc). Martin > > > > > >> Regards, >> Krishna Narayanan. >> >> On Tue, Feb 8, 2022 at 10:28 PM Jonathan Wakely >> wrote: >> >>> >>> >>> On Tue, 8 Feb 2022 at 16:25, Krishna Narayanan via Gcc-help < >>> gcc-help@gcc.gnu.org> wrote: >>> >>>> Hello, >>>> As an extension to the bug 93432 >>>> (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93432), I would like to >>>> add a few more points,here in the given code >>>> (https://godbolt.org/z/sYjqjqh3d) there is a warning averted but there >>>> is no warning shown for this code >>>> (https://gcc.godbolt.org/z/oo5sf4oec) . >>>> I tried it with "-fno-strict-aliasing -fwrapv >>>> -fno-aggressive-loop-optimizations" and "fsanitize=undefined".There >>>> are no errors for gcc but clang has runtime errors,the error for >>>> clang: https://gcc.godbolt.org/z/1hq8x1o8E . >>>> >>>> Can we have a warning in the second case as well? It will be much more >>>> convenient as there is a lapse of initialization. >>>> >>> >>> Yes, ideally it would warn. >>> >>> >>> >>