[PATCH v2 4/5] powerpc: Fix duplicate const clang warning in user access code
Joel Stanley
joel at jms.id.au
Wed Sep 19 17:45:46 AEST 2018
On Sat, 15 Sep 2018 at 03:27, Nick Desaulniers <ndesaulniers at google.com> wrote:
>
> On Thu, Sep 13, 2018 at 9:07 PM Joel Stanley <joel at jms.id.au> wrote:
> >
> > From: Anton Blanchard <anton at samba.org>
> >
> > This re-applies b91c1e3e7a6f which was reverted in f2ca80905929
> > d466f6c5cac1 f84ed59a612d (powerpc/sparse: Constify the address pointer
> > ...").
> >
> > We see a large number of duplicate const errors in the user access
> > code when building with llvm/clang:
> >
> > include/linux/pagemap.h:576:8: warning: duplicate 'const' declaration specifier
> > [-Wduplicate-decl-specifier]
> > ret = __get_user(c, uaddr);
> >
> > The problem is we are doing const __typeof__(*(ptr)), which will hit the
> > warning if ptr is marked const.
> >
> > Removing const does not seem to have any effect on GCC code generation.
>
> I wouldn't expect it to for a local variable with such localized
> usage. I myself am quite liberal in applying `const` to everything,
> so I will try to fix this in Clang as well, but this should silence
> the warning for users of older versions of Clang and results in no
> functional change.
> Reviewed-by: Nick Desaulniers <ndesaulniers at google.com>
Nick has written a clang patch that suppresses the warning in the same
way as GCC. Assuming it gets merged, as we depend on clang-8 we could
chose to not merge the kernel patch.
https://reviews.llvm.org/D52248
Cheers,
Joel
More information about the Linuxppc-dev
mailing list