From: Matthias Kaehlcke <mka@chromium.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: "Masahiro Yamada" <yamada.masahiro@socionext.com>,
"Doug Anderson" <dianders@chromium.org>,
"Michal Marek" <mmarek@suse.com>,
"Linux Kbuild mailing list" <linux-kbuild@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Grant Grundler" <grundler@chromium.org>,
"Greg Hackmann" <ghackmann@google.com>,
"Michael Davidson" <md@google.com>,
"Nick Desaulniers" <ndesaulniers@google.com>,
"Alexander Potapenko" <glider@google.com>,
"Bernhard Rosenkränzer" <bero@linaro.org>
Subject: Re: [PATCH 2/2] kbuild: clang: Disable the 'duplicate-decl-specifier' warning
Date: Wed, 21 Jun 2017 09:58:32 -0700 [thread overview]
Message-ID: <20170621165832.GB52338@google.com> (raw)
In-Reply-To: <CAK8P3a1QOz6qQdQux4mFXfwadhosHUgw0Ypwmz5tjZOWcV+0qQ@mail.gmail.com>
El Wed, Jun 21, 2017 at 12:11:55PM +0200 Arnd Bergmann ha dit:
> On Wed, Jun 21, 2017 at 11:11 AM, Masahiro Yamada
> <yamada.masahiro@socionext.com> wrote:
> > 2017-05-24 17:21 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> >> On Wed, May 24, 2017 at 2:04 AM, Matthias Kaehlcke <mka@chromium.org> wrote:
> >>> El Wed, May 17, 2017 at 11:45:29AM -0700 Matthias Kaehlcke ha dit:
> >>>> El Wed, May 17, 2017 at 09:35:57AM +0200 Arnd Bergmann ha dit:
> >>>> > On Tue, May 16, 2017 at 11:41 PM, Doug Anderson <dianders@chromium.org> wrote:
> >>> It seems the duplicate-decl-specifier warning targets specifically C89:
> >>>
> >>> "The same type qualifier shall not appear more than once in the same
> >>> specifier list or qualifier list, either directly or via one or more
> >>> typedefs."
> >>>
> >>> C89 (6.5.3)
> >>>
> >>> gcc also raises a warning when '-pedantic' is specified and
> >>> -std=gnu89/c89 (or unspecified), but not with -std=gnu99/c99.
> >>>
> >>> This bug might help to shed more light on this:
> >>> https://bugs.llvm.org/show_bug.cgi?id=32985
> >>
> >> I also notice that neither compiler differentiates between a)
> >>
> >> typedef const int cint;
> >> const cint i;
> >>
> >> and b)
> >> const int i;
> >> const typeof(a) j;
> >>
> >> I would have expected a warning for a) but not b), but both 'clang --std=gnu89'
> >> and 'gcc --pedantic --std=gnu89' warn about both of b as well, and don't warn
> >> for newer standards.
> >>
> >> Arnd
> >
> >
> >
> >
> > I think we agreed to apply 1/2.
> >
> > How about 2/2?
> >
> > I think we mostly discussed preferable behavior of -Wduplicate-decl-specifier,
> > but we did not come up with an idea to solve the problem for
> > already shipped clang versions.
> > (BTW, we have not defined the minimal supported version of clang yet.)
I think it will have to be a future version. There is still an issue
affecting at least llist_for_each_entry_safe(), where clang optimizes
away a check for check for a NULL pointer. For gcc this optimization
is switched off with -fno-delete-null-pointer-check, clang currently
does not have this flag or an equivalent.
For now a workaround like this is needed for newer kernels:
https://android-git.linaro.org/kernel/hikey-clang.git/commit/?h=android-hikey-linaro-4.9-clang&id=4f3c3c1e7b153e333603be74d786d79bb872e8ff
For arm64 at least one other clang fix is missing, to make
-mgeneral-regs-only consistent with gcc
(https://bugs.llvm.org/show_bug.cgi?id=30792)
> I see that container_of() has been modified in linux-next and no longer adds
> the 'const' keyword, do we actually still need the patch?
There is still (at least) the case of const arrays passed to
MODULE_DEVICE_TABLE.
next prev parent reply other threads:[~2017-06-21 16:58 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-21 21:39 [PATCH 0/2] kbuild: clang: Disable spurious warnings Matthias Kaehlcke
2017-04-21 21:39 ` [PATCH 1/2] kbuild: clang: Disable 'address-of-packed-member' warning Matthias Kaehlcke
2017-04-30 13:59 ` Masahiro Yamada
2017-05-02 1:23 ` Matthias Kaehlcke
2017-05-06 16:52 ` Masahiro Yamada
2017-05-08 23:18 ` Matthias Kaehlcke
2017-05-16 6:31 ` Masahiro Yamada
2017-05-16 21:32 ` Doug Anderson
2017-06-22 1:19 ` Masahiro Yamada
2017-04-21 21:39 ` [PATCH 2/2] kbuild: clang: Disable the 'duplicate-decl-specifier' warning Matthias Kaehlcke
2017-04-30 14:01 ` Masahiro Yamada
2017-05-04 19:50 ` Matthias Kaehlcke
2017-05-08 8:29 ` Masahiro Yamada
2017-05-16 21:41 ` Doug Anderson
2017-05-17 7:35 ` Arnd Bergmann
2017-05-17 18:45 ` Matthias Kaehlcke
2017-05-24 0:04 ` Matthias Kaehlcke
2017-05-24 8:21 ` Arnd Bergmann
2017-06-21 9:11 ` Masahiro Yamada
2017-06-21 10:11 ` Arnd Bergmann
2017-06-21 16:58 ` Matthias Kaehlcke [this message]
2017-06-21 17:59 ` Arnd Bergmann
2017-06-21 21:19 ` Matthias Kaehlcke
2017-07-31 16:35 ` Matthias Kaehlcke
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=20170621165832.GB52338@google.com \
--to=mka@chromium.org \
--cc=arnd@arndb.de \
--cc=bero@linaro.org \
--cc=dianders@chromium.org \
--cc=ghackmann@google.com \
--cc=glider@google.com \
--cc=grundler@chromium.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=md@google.com \
--cc=mmarek@suse.com \
--cc=ndesaulniers@google.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