mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
math/primecount: fix build on big-endian
/usr/bin/c++ -DENABLE_DIV32 -Dlibprimecount_EXPORTS -I/wrkdirs/usr/ports/math/primecount/work/primecount-7.2/include -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -MD -MT CMakeFiles/libprimecount.dir/src/Sieve.cpp.o -MF CMakeFiles/libprimecount.dir/src/Sieve.cpp.o.d -o CMakeFiles/libprimecount.dir/src/Sieve.cpp.o -c /wrkdirs/usr/ports/math/primecount/work/primecount-7.2/src/Sieve.cpp In file included from /wrkdirs/usr/ports/math/primecount/work/primecount-7.2/src/Sieve.cpp:38: /wrkdirs/usr/ports/math/primecount/work/primecount-7.2/include/SieveTables.hpp:63:40: error: too many arguments provided to function-like macro invocation constexpr uint64_t bswap64(uint64_t i, uint64_t j = 0, uint64_t n = 0) ^ /usr/include/sys/endian.h:63:9: note: macro 'bswap64' defined here ^ In file included from /wrkdirs/usr/ports/math/primecount/work/primecount-7.2/src/Sieve.cpp:38: /wrkdirs/usr/ports/math/primecount/work/primecount-7.2/include/SieveTables.hpp:65:3: error: expected expression return (n == sizeof(uint64_t)) ? j : ^ /wrkdirs/usr/ports/math/primecount/work/primecount-7.2/include/SieveTables.hpp:66:21: error: too many arguments provided to function-like macro invocation bswap64(i >> 8, (j << 8) | (i & 0xff), n + 1); ^ /usr/include/sys/endian.h:63:9: note: macro 'bswap64' defined here ^ In file included from /wrkdirs/usr/ports/math/primecount/work/primecount-7.2/src/Sieve.cpp:38: /wrkdirs/usr/ports/math/primecount/work/primecount-7.2/include/SieveTables.hpp:67:2: error: expected ';' after top level declarator } ^ ; 4 errors generated.
This commit is contained in:
parent
acbcf49e10
commit
006829bcdc
1 changed files with 29 additions and 0 deletions
29
math/primecount/files/patch-include_SieveTables.hpp
Normal file
29
math/primecount/files/patch-include_SieveTables.hpp
Normal file
|
@ -0,0 +1,29 @@
|
|||
--- include/SieveTables.hpp.orig 2021-12-20 20:37:55 UTC
|
||||
+++ include/SieveTables.hpp
|
||||
@@ -60,22 +60,22 @@ constexpr int right_shift(int n)
|
||||
/// on big endian CPU architectures.
|
||||
|
||||
/// Reverse byte order of 64-bit integer
|
||||
-constexpr uint64_t bswap64(uint64_t i, uint64_t j = 0, uint64_t n = 0)
|
||||
+constexpr uint64_t bswap_64(uint64_t i, uint64_t j = 0, uint64_t n = 0)
|
||||
{
|
||||
return (n == sizeof(uint64_t)) ? j :
|
||||
- bswap64(i >> 8, (j << 8) | (i & 0xff), n + 1);
|
||||
+ bswap_64(i >> 8, (j << 8) | (i & 0xff), n + 1);
|
||||
}
|
||||
|
||||
/// Bitmask to unset bits <= n
|
||||
constexpr uint64_t unset_s(int n)
|
||||
{
|
||||
- return bswap64(~0ull << left_shift(n));
|
||||
+ return bswap_64(~0ull << left_shift(n));
|
||||
}
|
||||
|
||||
/// Bitmask to unset bits >= n
|
||||
constexpr uint64_t unset_l(int n)
|
||||
{
|
||||
- return bswap64((n == 0) ? 0 : ~0ull >> right_shift(n));
|
||||
+ return bswap_64((n == 0) ? 0 : ~0ull >> right_shift(n));
|
||||
}
|
||||
|
||||
#else
|
Loading…
Add table
Reference in a new issue