Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp259215ybl; Thu, 15 Aug 2019 16:52:57 -0700 (PDT) X-Google-Smtp-Source: APXvYqzxKamC5oYjALpjcmiCsb864MNN9k6SxZ5fweFulnzqXLp8xvXx5ytZDIULizVXwuKhDwF/ X-Received: by 2002:a17:902:a60f:: with SMTP id u15mr6509634plq.201.1565913177869; Thu, 15 Aug 2019 16:52:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565913177; cv=none; d=google.com; s=arc-20160816; b=qrKnW14DMfpRHQrS8BQqyszuAdhXbGnehDsD33oBHGZfzZzINeQ6JnTgbviwR6d3gq +CqHsgYm3IP9x4x5T6J1OWuWSTjNPDYomLLjk9BiOgAIHtabBZmtOyNIZYfMpgDKOHxo pZKgEIS9ZtQMSCWkrdExcWT4IhXApQWxa8WU65CC05Ov5C3GjRovhxHvxDijY73DJZaz 8YrX5z3SwaO/UUhk5pHwpr3uMOBJ/n3tG4e0cv2xscl4dz0h1GVv7BE9d2tWoPZcmjuj r43DGElGbHCw1FrSSTvInBnQgTtfMlnJ5MFdwpj6nElDCLpJnWKsbmq8prPKl3CfsYoF ck4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=/v3iWh/+wCNK2FG7LH7UyEMlyFu2SkyD9UW+AeAr0AY=; b=EJBrOU0uBEABNNS9nscKlSfsCkscKoTwZsErP+BiEMcxGl/a/WeZTv4JT14eEe4lGC +xgXQM3kLerVO4Zv41hfFhcxzWV6ohmAZMy0FzJg20YQWpxR3FTNvMElXdXTx4zYyQA0 a0Ps3NdnZPrctfa/DHQhodNA3iRgV95MUguMGAyHgrVszRJPE/0ogcr6viDxmqSpN0yb htLyZJNsqD/EJi8fSXSjsOqO/o1i6hWb0u3DRXwiePgj5/DXFf2XswjGt1YxDCUzzLrp OBlAta/H7SbdL0NuM5v8zSFI/YZSmEHWHgK13uVwCVGdh9+RrO8zuSmJTxRelcyiHFoB QT2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ZhpZ9v79; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f7si2585328pgs.415.2019.08.15.16.52.42; Thu, 15 Aug 2019 16:52:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ZhpZ9v79; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733123AbfHOWvE (ORCPT + 99 others); Thu, 15 Aug 2019 18:51:04 -0400 Received: from mail-pl1-f196.google.com ([209.85.214.196]:42524 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730406AbfHOWvE (ORCPT ); Thu, 15 Aug 2019 18:51:04 -0400 Received: by mail-pl1-f196.google.com with SMTP id y1so1611253plp.9 for ; Thu, 15 Aug 2019 15:51:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=/v3iWh/+wCNK2FG7LH7UyEMlyFu2SkyD9UW+AeAr0AY=; b=ZhpZ9v79BhyT+jH8/5OzUlji+S94UShd+bAFGRKrzTz0BoaqZq3XWKiNqfUgebGO6e S8F+EqE31kliFNJaCz2QQluFj/eO5c/Jk+WQWsK7M2YjLn8ohio8UURhp6NFNYGrEHtl woKRoop1IizdfzC6bg/2KcTIvWMLqph4uiqzQEgonIb214ZmC55nbufyOtC4G+nJGIoW lQvJZtTCEG4POS0t/pruyd30q3s8qZWvWDN7MZ8TLUCqVm3Incx10VysyBs3t+zHfkkb rUL9/T2+l/fCo+v2W666H9+QebYamw1YpaHxNRgCnkWuEdS5DJYO68o7ZxogamgS5Ivr QrqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=/v3iWh/+wCNK2FG7LH7UyEMlyFu2SkyD9UW+AeAr0AY=; b=oF/yQZEZBfgOG70CJgpEgZ1G2IMBZZeRIr15fZ0vGeNfqFaCyHwduo6kxFY8REXFAC geMEUiV6GaG6q3zclb8kWDwfqSPNXJQkol7kj6wVA5RetLINvy3EP7IgOCykHdxsB8Wi KfNN0rZphw+Na5gPBlv+Ofpp6tTcx1Xq8HJZO12hiX3QSRYLEY60DobeAwSieYnPGC6G F8LgQ/Sc9MzC/SOzJoMuFdknhIKYdNNlYhwlsW3iOkXtpxKu+fumw+Vn6TRZvB3j5C8i 4pM/VS8XA9nwJR2PnrBrx0Qcfz/uIcP2BqGJ3+ZXytXnDp5GM5jR/A1voWRuXlrUzlX+ l6DQ== X-Gm-Message-State: APjAAAVUjBT8VeMQN96/sWvMLydlHdt8rfYBk5P0bPj8JAct/jINT4cX 7nSKKW//Jn5u17SGT81tKOvPkpayN3PapR/fVoChiQ== X-Received: by 2002:a17:902:a9c3:: with SMTP id b3mr6292093plr.179.1565909463409; Thu, 15 Aug 2019 15:51:03 -0700 (PDT) MIME-Version: 1.0 References: <20190815182029.197604-1-nhuck@google.com> <20190815204529.GA69414@archlinux-threadripper> In-Reply-To: <20190815204529.GA69414@archlinux-threadripper> From: Nick Desaulniers Date: Thu, 15 Aug 2019 15:50:52 -0700 Message-ID: Subject: Re: [PATCH] kbuild: Require W=1 for -Wimplicit-fallthrough with clang To: Nathan Chancellor Cc: Nathan Huckleberry , Masahiro Yamada , Michal Marek , Joe Perches , Miguel Ojeda , Linux Kbuild mailing list , LKML , clang-built-linux Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 15, 2019 at 1:45 PM Nathan Chancellor wrote: > > On Thu, Aug 15, 2019 at 11:20:29AM -0700, 'Nathan Huckleberry' via Clang Built Linux wrote: > > Clang is updating to support -Wimplicit-fallthrough on C > > https://reviews.llvm.org/D64838. Since clang does not > > support the comment version of fallthrough annotations > > this update causes an additional 50k warnings. Most > > of these warnings (>49k) are duplicates from header files. > > > > This patch is intended to be reverted after the warnings > > have been cleaned up. > > > > Signed-off-by: Nathan Huckleberry > > --- > > Makefile | 4 ++++ > > scripts/Makefile.extrawarn | 3 +++ > > 2 files changed, 7 insertions(+) > > > > diff --git a/Makefile b/Makefile > > index 1b23f95db176..93b9744e66a2 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -846,7 +846,11 @@ NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) > > KBUILD_CFLAGS += -Wdeclaration-after-statement > > > > # Warn about unmarked fall-throughs in switch statement. > > +# If the compiler is clang, this warning is only enabled if W=1 in > > +# Makefile.extrawarn > > +ifndef CONFIG_CC_IS_CLANG > > KBUILD_CFLAGS += $(call cc-option,-Wimplicit-fallthrough,) > > +endif > > > > # Variable Length Arrays (VLAs) should not be used anywhere in the kernel > > KBUILD_CFLAGS += -Wvla > > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > > index a74ce2e3c33e..e12359d69bb7 100644 > > --- a/scripts/Makefile.extrawarn > > +++ b/scripts/Makefile.extrawarn > > @@ -30,6 +30,9 @@ warning-1 += $(call cc-option, -Wunused-but-set-variable) > > warning-1 += $(call cc-option, -Wunused-const-variable) > > warning-1 += $(call cc-option, -Wpacked-not-aligned) > > warning-1 += $(call cc-option, -Wstringop-truncation) > > +ifdef CONFIG_CC_IS_CLANG > > +KBUILD_CFLAGS += $(call cc-option,-Wimplicit-fallthrough,) > > Shouldn't this be warning-1? +1 > > > +endif > > # The following turn off the warnings enabled by -Wextra > > warning-1 += -Wno-missing-field-initializers > > warning-1 += -Wno-sign-compare > > -- > > 2.23.0.rc1.153.gdeed80330f-goog > > > > I am still not a huge fan of the CONFIG_CC_IS_CLANG ifdefs but I don't > really see a much cleaner way to get around this. Some that come to > mind: > > * Leave Makefile alone and add > > KBUILD_CFLAGS += -Wno-implicit-fallthrough > > in the CONFIG_CC_IS_CLANG section of scripts/Makefile.extrawarn Yeah, I think this might be cleaner. -Wimplicit-fallthrough -Wno-implicit-fallthrough will be passed to Clang, but "last one wins." A smaller patch makes it more likely to be revertable without potentially having to resolve any conflicts. Would you mind sending a V2 with that change? You can include Nathan's Suggested-by tag. -- Thanks, ~Nick Desaulniers