linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bernd Petrovitsch <bernd@petrovitsch.priv.at>
To: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>,
	Dan <dan.carpenter@oracle.com>
Cc: "Ted Ts'o" <tytso@mit.edu>, Greg KH <gregkh@linuxfoundation.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Michal Marek <michal.lkml@markovi.net>,
	Steven Rostedt <rostedt@goodmis.org>,
	Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
	Olof Johansson <olof@lxom.net>,
	Konstantin Ryabitsev <konstantin@linuxfoundation.org>,
	David Miller <davem@davemloft.net>,
	Andrey Ryabinin <aryabinin@virtuozzo.com>,
	Kees Cook <keescook@chromium.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@kernel.org>,
	Paul Lawrence <paullawrence@google.com>,
	Sandipan Das <sandipan@linux.vnet.ibm.com>,
	Andrey Konovalov <andreyknvl@google.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Will Deacon <will.deacon@arm.com>,
	Philippe Ombredanne <pombredanne@nexb.com>,
	Paul Burton <paul.burton@mips.com>,
	David Rientjes <rientjes@google.com>, Willy Tarreau <w@1wt.eu>,
	Martin Sebor <msebor@gmail.com>,
	Christopher Li <sparse@chrisli.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Joe Perches <joe@perches.com>, Arnd Bergmann <arnd@arndb.de>,
	Dominique Martinet <asmadeus@codewreck.org>,
	Stefan Agner <stefan@agner.ch>,
	Luc Van Oostenryck <luc.vanoostenryck@gmail.com>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Linux Doc Mailing List <linux-doc@vger.kernel.org>,
	Ext4 Developers List <linux-ext4@vger.kernel.org>,
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org,
	ndesaulniers@google.com
Subject: Re: [PATCH 1/2] Compiler Attributes: add support for __fallthrough (gcc >= 7.1)
Date: Mon, 22 Oct 2018 19:49:21 +0200	[thread overview]
Message-ID: <3cbb5345-0270-5575-7563-6ad37d888e42@petrovitsch.priv.at> (raw)
In-Reply-To: <CANiq72=ioYcRA-yq38+Z4i6iVDNm6C2-+b4feRmnvEiekuR7dA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3137 bytes --]

Hi all!

On 22/10/18 13:07, Miguel Ojeda wrote:
> On Mon, Oct 22, 2018 at 12:54 PM Dan Carpenter <dan.carpenter@oracle.com> wrote:
>>
>> Doing both is super ugly.  Let's just do comments until Eclipse gets
>> updated.

Yes, "Eclipse" as the IDE.

And yes but IMHO better super ugly than loosing the warning - YMMV.

For the archives: I have Eclipse Photon/June 2016 here. And "no break"
is the (default) string in a comment used by Eclipse (it can be
customized and is actually a regexp but it must be in a comment).

>> I had wanted to move to the attribute because that would simplify things
>> in Smatch but it's not a huge deal to delay for another year.
> 
> I can re-send them later on, no problem. On the other hand, doing the
> changes will push tools to get updated sooner ;-)
> 
> If tools were doing something as fancy as comment parsing for
> diagnostics, they should have been updated with the attribute support
> (either gcc's or C++17's) -- it has been more than a year now since
> gcc 7.1 and the C++17 final draft. (Note that this does not apply for
> things like clang, since they weren't doing comment parsing to begin
> with.)

That would be nice. And if they agree on the same texts (or accept per
default all somewhat widely used and/or old ones).

After stumbling over
https://stackoverflow.com/questions/16935935/how-do-i-turn-off-a-static-code-analysis-warning-on-a-line-by-line-warning-in-cd,
looking into Eclipses Window -> Preferences -> C/C++ -> Code Analysis ->
"No break at the end of case" screen (that's the screenshot there) and I
tried various things:

Preface:
I have
----  snip  ----
#define __fallthrough __attribute__((fallthrough))
----  snip  ----
for gcc >= 7 (because clang doesn't know it and I had also older
gcc's in use before).

So:
- Adding a comment to the #define doesn't change anything for Eclipse.
- Eclipse looks *only* in comments for the string/regexp given
  the warnings configuration (and that comment must be on the line
  directly before the "case").
- Eclipse understands [[fallthrough]] out-of-the-box though (which
  is C++11 AFAIK) as does g++-7 (I use -std=gnu++17 - most of the
  sources are C++, but not all) and clang++-6 (all the current standard
  Ubuntu-18.06/Bionic packages).
  Eclipse "accepts" [[fallthrough]] only in C++ sources (and not in C
  sources).
- Neither gcc nor clang understand [[fallthrough]] (so it's probably a
  no-go for the Kernel with C89 anyways).

MfG,
	Bernd

PS: clang++ errors with "fallthrough annotation in unreachable code" if
    [[fallthrough]] is after an assert(). clang-devs there, please, the
    fallthrough doesn't really generated code (I hope;-).
    I have lots of switch()es which catch undefined values (for enums
    et. al.) with "default"+assert() and fall through to the most safe
    case (for the deployed version).
-- 
"I dislike type abstraction if it has no real reason. And saving
on typing is not a good reason - if your typing speed is the main
issue when you're coding, you're doing something seriously wrong."
    - Linus Torvalds

[-- Attachment #2: pEpkey.asc --]
[-- Type: application/pgp-keys, Size: 2513 bytes --]

  reply	other threads:[~2018-10-22 17:52 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-21 17:14 [PATCH 0/2] Compiler Attributes: __fallthrough Miguel Ojeda
2018-10-21 17:14 ` [PATCH 1/2] Compiler Attributes: add support for __fallthrough (gcc >= 7.1) Miguel Ojeda
2018-10-21 22:27   ` Theodore Y. Ts'o
2018-10-22  9:26     ` Miguel Ojeda
2018-10-22  9:34       ` Kees Cook
2018-10-22  9:41         ` Miguel Ojeda
2018-10-22  9:43           ` Miguel Ojeda
2018-10-22 17:17             ` Nick Desaulniers
2018-10-22 20:59               ` Miguel Ojeda
2018-10-22 10:53           ` Kees Cook
2018-10-22 11:24             ` Miguel Ojeda
2018-10-22 13:39               ` Miguel Ojeda
2018-10-22 17:23       ` Nick Desaulniers
2018-10-22  9:41     ` Bernd Petrovitsch
2018-10-22 10:27       ` Dan Carpenter
2018-10-22 10:45         ` Bernd Petrovitsch
2018-10-22 10:53           ` Dan Carpenter
2018-10-22 11:07             ` Miguel Ojeda
2018-10-22 17:49               ` Bernd Petrovitsch [this message]
2018-10-22 17:54                 ` Nick Desaulniers
2018-10-22 18:13                   ` Bernd Petrovitsch
2018-10-22 21:34                 ` Miguel Ojeda
2018-10-22 17:26             ` Nick Desaulniers
2018-10-22  0:42   ` Matthew Wilcox
2018-10-22  6:58     ` Theodore Y. Ts'o
2018-10-22  7:05       ` Willy Tarreau
2018-10-22  9:32     ` Miguel Ojeda
2018-10-22 12:07   ` Luc Van Oostenryck
2018-10-22 12:09     ` Miguel Ojeda
2018-10-22 17:36   ` Nick Desaulniers
2018-10-22 21:17     ` Miguel Ojeda
2018-10-21 17:14 ` [PATCH 2/2] Compiler Attributes: auxdisplay: panel: use __fallthrough Miguel Ojeda
2018-10-21 18:11   ` Joe Perches
2018-10-22  9:51     ` Miguel Ojeda
2018-10-22 15:48       ` Joe Perches
2018-10-22 14:10   ` Kees Cook
     [not found]     ` <20181023053542.lsklua2p3lnbkqir@mwanda>
2018-11-02 10:49       ` Miguel Ojeda
2018-11-02 10:56         ` Miguel Ojeda
2018-10-21 18:29 ` [PATCH 0/2] Compiler Attributes: __fallthrough Greg Kroah-Hartman
2018-10-21 18:52   ` Joe Perches
2018-10-22  5:27     ` Dan Carpenter
2018-10-22  9:48   ` Miguel Ojeda
2018-10-22 16:54     ` Nick Desaulniers
2018-10-22 21:23       ` Miguel Ojeda
2018-10-23  5:43       ` Dan Carpenter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3cbb5345-0270-5575-7563-6ad37d888e42@petrovitsch.priv.at \
    --to=bernd@petrovitsch.priv.at \
    --cc=adilger.kernel@dilger.ca \
    --cc=akpm@linux-foundation.org \
    --cc=andreyknvl@google.com \
    --cc=arnd@arndb.de \
    --cc=aryabinin@virtuozzo.com \
    --cc=asmadeus@codewreck.org \
    --cc=corbet@lwn.net \
    --cc=dan.carpenter@oracle.com \
    --cc=davem@davemloft.net \
    --cc=dwmw2@infradead.org \
    --cc=geert@linux-m68k.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=joe@perches.com \
    --cc=keescook@chromium.org \
    --cc=konstantin@linuxfoundation.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sparse@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=luc.vanoostenryck@gmail.com \
    --cc=mchehab+samsung@kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=miguel.ojeda.sandonis@gmail.com \
    --cc=mingo@kernel.org \
    --cc=msebor@gmail.com \
    --cc=ndesaulniers@google.com \
    --cc=olof@lxom.net \
    --cc=paul.burton@mips.com \
    --cc=paullawrence@google.com \
    --cc=pombredanne@nexb.com \
    --cc=rientjes@google.com \
    --cc=rostedt@goodmis.org \
    --cc=sandipan@linux.vnet.ibm.com \
    --cc=sparse@chrisli.org \
    --cc=stefan@agner.ch \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@mit.edu \
    --cc=w@1wt.eu \
    --cc=will.deacon@arm.com \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).