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 --]
next prev parent 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).