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@xxxxxxxxxxxxx> wrote: > > 2017-05-24 17:21 GMT+09:00 Arnd Bergmann <arnd@xxxxxxxx>: > >> On Wed, May 24, 2017 at 2:04 AM, Matthias Kaehlcke <mka@xxxxxxxxxxxx> 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@xxxxxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html