[v3] powerpc/math-emu: Update macros from GCC
Michael Ellerman
patch-notifications at ellerman.id.au
Sat Dec 8 00:06:58 AEDT 2018
On Mon, 2018-12-03 at 23:07:46 UTC, Joel Stanley wrote:
> The add_ssaaaa, sub_ddmmss, umul_ppmm and udiv_qrnnd macros originate
> from GCC's longlong.h which in turn was copied from GMP's longlong.h a
> few decades ago.
>
> This was found when compiling with clang:
>
> arch/powerpc/math-emu/fnmsub.c:46:2: error: invalid use of a cast in a
> inline asm context requiring an l-value: remove the cast or build with
> -fheinous-gnu-extensions
> FP_ADD_D(R, T, B);
> ^~~~~~~~~~~~~~~~~
> ...
>
> ./arch/powerpc/include/asm/sfp-machine.h:283:27: note: expanded from
> macro 'sub_ddmmss'
> : "=r" ((USItype)(sh)), \
> ~~~~~~~~~~^~~
>
> Segher points out: this was fixed in GCC over 16 years ago
> ( https://gcc.gnu.org/r56600 ), and in GMP (where it comes from)
> presumably before that.
>
> Update the add_ssaaaa, sub_ddmmss, umul_ppmm and udiv_qrnnd macros to
> the latest GCC version in order to git rid of the invalid casts. These
> were taken as-is from GCC's longlong in order to make future syncs
> obvious. Other parts of sfp-machine.h were left as-is as the file
> contains more features than present in longlong.h.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/260
> Signed-off-by: Joel Stanley <joel at jms.id.au>
> Reviewed-by: Nick Desaulniers <ndesaulniers at google.com>
> Reviewed-by: Segher Boessenkool <segher at kernel.crashing.org>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/b682c8692442711684befe413cf93c
cheers
More information about the Linuxppc-dev
mailing list