From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
To: bernd@petrovitsch.priv.at
Cc: Dan <dan.carpenter@oracle.com>, 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>
Subject: Re: [PATCH 1/2] Compiler Attributes: add support for __fallthrough (gcc >= 7.1)
Date: Mon, 22 Oct 2018 23:34:16 +0200 [thread overview]
Message-ID: <CANiq72kLOV63XZx2zCnnSuvEyXucqpnjb5dnF=gRZ_q-hEGO2Q@mail.gmail.com> (raw)
In-Reply-To: <3cbb5345-0270-5575-7563-6ad37d888e42@petrovitsch.priv.at>
On Mon, Oct 22, 2018 at 7:50 PM Bernd Petrovitsch
<bernd@petrovitsch.priv.at> wrote:
>
> 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.
I think Dan meant too simply not touch anything (i.e. not losing the
warning anywhere).
>
> 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).
>
Hm... that means they don't support (by default) the same regexps as
GCC; which is bad: it means that it is only equivalent to the most
relaxed level in gcc, 1:
"""
-Wimplicit-fallthrough=1 matches .* regular expression, any
comment is used as fallthrough comment.
"""
See https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
i.e. any other level above will either not match Eclipse or not match gcc.
> >> 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.
It shouldn't according to the standard -- but who knows... :-)
> - 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 understanding [[fallthrough]] is very good, actually.
> Eclipse "accepts" [[fallthrough]] only in C++ sources (and not in C
> sources).
Bad, but I guess they will add it to C eventually, since it is
probably coming for C2x.
> - Neither gcc nor clang understand [[fallthrough]] (so it's probably a
> no-go for the Kernel with C89 anyways).
clang does it if you enable -fdouble-square-bracket-attributes (please
see my other messages). gcc will at some point (if C2x gets the
attributes), but at the moment the C parser is different than the C++
parser and there is no support for it on trunk that I could see, so
they will have to copy the support; i.e. it will take a bit more time
than clang, likely.
Thanks a *lot* for taking a look at Eclipse!
Cheers,
Miguel
next prev parent reply other threads:[~2018-10-22 21:34 UTC|newest]
Thread overview: 42+ 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
[not found] ` <CANiq72mXV6WTyHXNZJDTfFOpPrXD0zD6cB30bGOuKO44AvRiog@mail.gmail.com>
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
[not found] ` <8fb78062-b6d4-6f2d-d943-44bec6b95ff0@petrovitsch.priv.at>
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
2018-10-22 17:54 ` Nick Desaulniers
2018-10-22 18:13 ` Bernd Petrovitsch
2018-10-22 21:34 ` Miguel Ojeda [this message]
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 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='CANiq72kLOV63XZx2zCnnSuvEyXucqpnjb5dnF=gRZ_q-hEGO2Q@mail.gmail.com' \
--to=miguel.ojeda.sandonis@gmail.com \
--cc=adilger.kernel@dilger.ca \
--cc=andreyknvl@google.com \
--cc=aryabinin@virtuozzo.com \
--cc=bernd@petrovitsch.priv.at \
--cc=dan.carpenter@oracle.com \
--cc=davem@davemloft.net \
--cc=gregkh@linuxfoundation.org \
--cc=keescook@chromium.org \
--cc=konstantin@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab+samsung@kernel.org \
--cc=michal.lkml@markovi.net \
--cc=mingo@kernel.org \
--cc=olof@lxom.net \
--cc=paullawrence@google.com \
--cc=rostedt@goodmis.org \
--cc=sandipan@linux.vnet.ibm.com \
--cc=tglx@linutronix.de \
--cc=tytso@mit.edu \
--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).