From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.smtpout.orange.fr (smtp08.smtpout.orange.fr [80.12.242.130]) by sourceware.org (Postfix) with ESMTPS id C3F2C3858D28 for ; Tue, 30 Nov 2021 13:01:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C3F2C3858D28 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=orange.fr Authentication-Results: sourceware.org; spf=none smtp.mailfrom=orange.fr Received: from [192.168.1.17] ([92.167.144.168]) by smtp.orange.fr with ESMTPA id s2klm1WxcPnAJs2klmXypt; Tue, 30 Nov 2021 14:01:00 +0100 X-ME-Helo: [192.168.1.17] X-ME-Auth: MDU4MTIxYWM4YWI0ZGE4ZTUwZWZmNTExZmI2ZWZlMThkM2ZhYiE5OWRkOGM= X-ME-Date: Tue, 30 Nov 2021 14:01:00 +0100 X-ME-IP: 92.167.144.168 Subject: Re: [PATCH] Avoid some -Wunreachable-code-ctrl To: Richard Biener , gcc-patches@gcc.gnu.org References: Cc: gfortran From: Mikael Morin Message-ID: Date: Tue, 30 Nov 2021 14:00:59 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham 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-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Nov 2021 13:01:04 -0000 Le 29/11/2021 à 16:03, Richard Biener via Gcc-patches a écrit : > diff --git a/gcc/fortran/frontend-passes.c b/gcc/fortran/frontend-passes.c > index f5ba7cecd54..16ee2afc9c0 100644 > --- a/gcc/fortran/frontend-passes.c > +++ b/gcc/fortran/frontend-passes.c > @@ -5229,7 +5229,6 @@ gfc_expr_walker (gfc_expr **e, walk_expr_fn_t exprfn, void *data) > case EXPR_OP: > WALK_SUBEXPR ((*e)->value.op.op1); > WALK_SUBEXPR_TAIL ((*e)->value.op.op2); > - break; > case EXPR_FUNCTION: > for (a = (*e)->value.function.actual; a; a = a->next) > WALK_SUBEXPR (a->expr); I’m uncomfortable with the above change. It makes it look like there is a fall through, but there is not. Maybe inline the macro to make the continue explicit, or use WALK_SUBEXPR instead of WALK_SUBEXPR_TAIL and hope the compiler will do the tail call optimization. Mikael