From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 29196C433E0 for ; Wed, 20 May 2020 18:17:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id F3E4020671 for ; Wed, 20 May 2020 18:17:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726826AbgETSRV (ORCPT ); Wed, 20 May 2020 14:17:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726650AbgETSRV (ORCPT ); Wed, 20 May 2020 14:17:21 -0400 Received: from shards.monkeyblade.net (shards.monkeyblade.net [IPv6:2620:137:e000::1:9]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ADB18C061A0E for ; Wed, 20 May 2020 11:17:19 -0700 (PDT) Received: from localhost (unknown [IPv6:2601:601:9f00:477::3d5]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 8029D12995B49; Wed, 20 May 2020 11:17:18 -0700 (PDT) Date: Wed, 20 May 2020 11:17:17 -0700 (PDT) Message-Id: <20200520.111717.835995575109387492.davem@davemloft.net> To: a@unstable.cc Cc: netdev@vger.kernel.org, cake@lists.bufferbloat.net, toke@toke.dk, jhs@mojatatu.com, xiyou.wangcong@gmail.com, jiri@resnulli.us, stephen@networkplumber.org Subject: Re: [PATCH] net/sch_generic.h: use sizeof_member() and get rid of unused variable From: David Miller In-Reply-To: <2a6a8d4b-cb78-f717-5ede-29a921c5cb05@unstable.cc> References: <20200519091333.20923-1-a@unstable.cc> <20200519.154019.1247104207621510920.davem@davemloft.net> <2a6a8d4b-cb78-f717-5ede-29a921c5cb05@unstable.cc> X-Mailer: Mew version 6.8 on Emacs 26.3 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Wed, 20 May 2020 11:17:18 -0700 (PDT) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Antonio Quartulli Date: Wed, 20 May 2020 10:39:33 +0200 > I don't think it's BUILD_BUG_ON()'s fault, because qcb->data is passed > to sizeof() first. > > My best guess is that gcc is somewhat optimizing the sizeof(gcb->data) > and thus leaving the gcb variable unused. If you remove the argument from the function but leave the BUILD_BUG_ON() calls the same, the compilation will fail. Any such optimization is therefore unreasonable. The variable is used otherwise compilation would not fail when you remove it right?