From dd3906bf5debdb74bb8e356cede7f6ac6d770007 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 9 Mar 2018 17:43:01 +0000 Subject: [PATCH] UNREG: fix implicit declarations from pdep and pext Unreg build failed as: $ ./configure --enable-unregisterised $ make HC [stage 1] libraries/ghc-prim/dist-install/build/GHC/PrimopWrappers.o ghc_1.hc: In function 'ghczmprim_GHCziPrimopWrappers_pdep8zh_entry': ghc_1.hc:1810:9: error: error: implicit declaration of function 'hs_pdep8'; did you mean 'hs_ctz8'? [-Werror=implicit-function-declaration] _c3jz = hs_pdep8(*Sp, Sp[1]); ^~~~~~~~ hs_ctz8 | 1810 | _c3jz = hs_pdep8(*Sp, Sp[1]); | ^ Signed-off-by: Sergei Trofimovich --- includes/stg/Prim.h | 12 ++++++++++++ libraries/ghc-prim/cbits/pdep.c | 5 ----- libraries/ghc-prim/cbits/pext.c | 5 ----- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/includes/stg/Prim.h b/includes/stg/Prim.h index fa3a3ec91f..a18e02caeb 100644 --- a/includes/stg/Prim.h +++ b/includes/stg/Prim.h @@ -58,6 +58,18 @@ StgWord64 hs_bswap64(StgWord64 x); /* TODO: longlong.c */ +/* libraries/ghc-prim/cbits/pdep.c */ +StgWord64 hs_pdep64(StgWord64 src, StgWord64 mask); +StgWord hs_pdep32(StgWord src, StgWord mask); +StgWord hs_pdep16(StgWord src, StgWord mask); +StgWord hs_pdep8(StgWord src, StgWord mask); + +/* libraries/ghc-prim/cbits/pext.c */ +StgWord64 hs_pext64(StgWord64 src, StgWord64 mask); +StgWord hs_pext32(StgWord src, StgWord mask); +StgWord hs_pext16(StgWord src, StgWord mask); +StgWord hs_pext8(StgWord src, StgWord mask); + /* libraries/ghc-prim/cbits/popcnt.c */ StgWord hs_popcnt8(StgWord x); StgWord hs_popcnt16(StgWord x); diff --git a/libraries/ghc-prim/cbits/pdep.c b/libraries/ghc-prim/cbits/pdep.c index 8435ffe186..58e8611eca 100644 --- a/libraries/ghc-prim/cbits/pdep.c +++ b/libraries/ghc-prim/cbits/pdep.c @@ -1,8 +1,6 @@ #include "Rts.h" #include "MachDeps.h" -extern StgWord64 hs_pdep64(StgWord64 src, StgWord64 mask); - StgWord64 hs_pdep64(StgWord64 src, StgWord64 mask) { @@ -26,21 +24,18 @@ hs_pdep64(StgWord64 src, StgWord64 mask) return result; } -extern StgWord hs_pdep32(StgWord src, StgWord mask); StgWord hs_pdep32(StgWord src, StgWord mask) { return hs_pdep64(src, mask); } -extern StgWord hs_pdep16(StgWord src, StgWord mask); StgWord hs_pdep16(StgWord src, StgWord mask) { return hs_pdep64(src, mask); } -extern StgWord hs_pdep8(StgWord src, StgWord mask); StgWord hs_pdep8(StgWord src, StgWord mask) { diff --git a/libraries/ghc-prim/cbits/pext.c b/libraries/ghc-prim/cbits/pext.c index fe960b1342..9cddedef1a 100644 --- a/libraries/ghc-prim/cbits/pext.c +++ b/libraries/ghc-prim/cbits/pext.c @@ -1,8 +1,6 @@ #include "Rts.h" #include "MachDeps.h" -extern StgWord64 hs_pext64(StgWord64 src, StgWord64 mask); - StgWord64 hs_pext64(StgWord64 src, StgWord64 mask) { @@ -22,21 +20,18 @@ hs_pext64(StgWord64 src, StgWord64 mask) return result; } -extern StgWord hs_pext32(StgWord src, StgWord mask); StgWord hs_pext32(StgWord src, StgWord mask) { return hs_pext64(src, mask); } -extern StgWord hs_pext16(StgWord src, StgWord mask); StgWord hs_pext16(StgWord src, StgWord mask) { return hs_pext64(src, mask); } -extern StgWord hs_pext8(StgWord src, StgWord mask); StgWord hs_pext8(StgWord src, StgWord mask) { -- GitLab