[PATCH v2 4/5] powerpc: Fix duplicate const clang warning in user access code

Michael Ellerman mpe at ellerman.id.au
Thu Sep 20 22:35:45 AEST 2018


Christophe LEROY <christophe.leroy at c-s.fr> writes:
> Le 19/09/2018 à 09:45, Joel Stanley a écrit :
>> 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
>
> Seems like Michael has merged this patch anyway.

I'll happily revert it though if someone tells me to.

cheers


More information about the Linuxppc-dev mailing list