clang++ -O3 -march=native -ffast-math -funroll-loops -flto -fuse-ld=lld -std=c++20 -static -DNDEBUG -DEVALFILE=\"/home/ksw0518/OpenBench/Client/Networks/35B74CC5\" ./src/Prelude.cpp ./src/accumulator.cpp ./src/board.cpp ./src/datagen.cpp ./src/move.cpp ./src/movegen.cpp ./src/nnue.cpp ./src/search.cpp ./src/searcher.cpp -o Prelude-D502B160-35B74CC5
In file included from ./src/Prelude.cpp:7:
In file included from ./src/board.h:3:
./src/util.h:88:43: error: constexpr function's 1st parameter type 'const std::string' (aka 'const basic_string<char>') is not a literal type
constexpr Square parseSquare(const string square) { return static_cast<Square>((square.at(1) - '1') * 8 + (square.at(0) - 'a')); }
~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/Prelude.cpp:7:
In file included from ./src/board.h:3:
./src/util.h:91:18: error: constexpr function's return type 'std::string' (aka 'basic_string<char>') is not a literal type
constexpr string squareToAlgebraic(int sq) { return string(1, 'a' + (sq % 8)) + string(1, '1' + (sq / 8)); };
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/Prelude.cpp:12:
./src/search.h:113:46: warning: implicit conversion from 'unsigned long' to 'const i32' (aka 'const int') changes value from 18446744073709519104 to -32512 [-Wconstant-conversion]
constexpr i32 MATED_IN_MAX_PLY = -MATE_SCORE + MAX_PLY;
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~^~~~~~~~~
1 warning and 2 errors generated.
In file included from ./src/accumulator.cpp:3:
In file included from ./src/board.h:3:
./src/util.h:88:43: error: constexpr function's 1st parameter type 'const std::string' (aka 'const basic_string<char>') is not a literal type
constexpr Square parseSquare(const string square) { return static_cast<Square>((square.at(1) - '1') * 8 + (square.at(0) - 'a')); }
~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/accumulator.cpp:3:
In file included from ./src/board.h:3:
./src/util.h:91:18: error: constexpr function's return type 'std::string' (aka 'basic_string<char>') is not a literal type
constexpr string squareToAlgebraic(int sq) { return string(1, 'a' + (sq % 8)) + string(1, '1' + (sq / 8)); };
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
2 errors generated.
In file included from ./src/board.cpp:1:
In file included from ./src/board.h:3:
./src/util.h:88:43: error: constexpr function's 1st parameter type 'const std::string' (aka 'const basic_string<char>') is not a literal type
constexpr Square parseSquare(const string square) { return static_cast<Square>((square.at(1) - '1') * 8 + (square.at(0) - 'a')); }
~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/board.cpp:1:
In file included from ./src/board.h:3:
./src/util.h:91:18: error: constexpr function's return type 'std::string' (aka 'basic_string<char>') is not a literal type
constexpr string squareToAlgebraic(int sq) { return string(1, 'a' + (sq % 8)) + string(1, '1' + (sq / 8)); };
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/board.cpp:5:
./src/search.h:113:46: warning: implicit conversion from 'unsigned long' to 'const i32' (aka 'const int') changes value from 18446744073709519104 to -32512 [-Wconstant-conversion]
constexpr i32 MATED_IN_MAX_PLY = -MATE_SCORE + MAX_PLY;
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~^~~~~~~~~
In file included from ./src/board.cpp:1:
In file included from ./src/board.h:3:
./src/util.h:39:37: warning: shift count is negative [-Wshift-count-negative]
return dir > 0 ? bb << dir : bb >> -dir;
^ ~~~~
./src/board.cpp:168:22: note: in instantiation of function template specialization 'shift<7>' requested here
checkMask |= shift<NORTH_WEST>(kingBB & ~MASK_FILE[AFILE]) & pieces(BLACK, PAWN);
^
In file included from ./src/board.cpp:1:
In file included from ./src/board.h:3:
./src/util.h:39:37: warning: shift count is negative [-Wshift-count-negative]
return dir > 0 ? bb << dir : bb >> -dir;
^ ~~~~
./src/board.cpp:169:22: note: in instantiation of function template specialization 'shift<9>' requested here
checkMask |= shift<NORTH_EAST>(kingBB & ~MASK_FILE[HFILE]) & pieces(BLACK, PAWN);
^
In file included from ./src/board.cpp:1:
In file included from ./src/board.h:3:
./src/util.h:39:25: warning: shift count is negative [-Wshift-count-negative]
return dir > 0 ? bb << dir : bb >> -dir;
^ ~~~
./src/board.cpp:172:22: note: in instantiation of function template specialization 'shift<-9>' requested here
checkMask |= shift<SOUTH_WEST>(kingBB & ~MASK_FILE[AFILE]) & pieces(WHITE, PAWN);
^
In file included from ./src/board.cpp:1:
In file included from ./src/board.h:3:
./src/util.h:39:25: warning: shift count is negative [-Wshift-count-negative]
return dir > 0 ? bb << dir : bb >> -dir;
^ ~~~
./src/board.cpp:173:22: note: in instantiation of function template specialization 'shift<-7>' requested here
checkMask |= shift<SOUTH_EAST>(kingBB & ~MASK_FILE[HFILE]) & pieces(WHITE, PAWN);
^
In file included from ./src/board.cpp:1:
In file included from ./src/board.h:3:
./src/util.h:39:37: warning: shift count is negative [-Wshift-count-negative]
return dir > 0 ? bb << dir : bb >> -dir;
^ ~~~~
./src/board.cpp:397:39: note: in instantiation of function template specialization 'shift<1>' requested here
&& (pieces(~stm, PAWN) & (shift<EAST>((1ULL << to) & ~MASK_FILE[HFILE]) | shift<WEST>((1ULL << to) & ~MASK_FILE[AFILE])))) // Only set EP square if it could be taken
^
./src/board.cpp:352:28: note: in instantiation of function template specialization 'Board::move<false>' requested here
void Board::move(Move m) { move<false>(m); }
^
In file included from ./src/board.cpp:1:
In file included from ./src/board.h:3:
./src/util.h:39:25: warning: shift count is negative [-Wshift-count-negative]
return dir > 0 ? bb << dir : bb >> -dir;
^ ~~~
./src/board.cpp:397:87: note: in instantiation of function template specialization 'shift<-1>' requested here
&& (pieces(~stm, PAWN) & (shift<EAST>((1ULL << to) & ~MASK_FILE[HFILE]) | shift<WEST>((1ULL << to) & ~MASK_FILE[AFILE])))) // Only set EP square if it could be taken
^
./src/board.cpp:352:28: note: in instantiation of function template specialization 'Board::move<false>' requested here
void Board::move(Move m) { move<false>(m); }
^
7 warnings and 2 errors generated.
In file included from ./src/datagen.cpp:2:
In file included from ./src/board.h:3:
./src/util.h:88:43: error: constexpr function's 1st parameter type 'const std::string' (aka 'const basic_string<char>') is not a literal type
constexpr Square parseSquare(const string square) { return static_cast<Square>((square.at(1) - '1') * 8 + (square.at(0) - 'a')); }
~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/datagen.cpp:2:
In file included from ./src/board.h:3:
./src/util.h:91:18: error: constexpr function's return type 'std::string' (aka 'basic_string<char>') is not a literal type
constexpr string squareToAlgebraic(int sq) { return string(1, 'a' + (sq % 8)) + string(1, '1' + (sq / 8)); };
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/datagen.cpp:4:
./src/search.h:113:46: warning: implicit conversion from 'unsigned long' to 'const i32' (aka 'const int') changes value from 18446744073709519104 to -32512 [-Wconstant-conversion]
constexpr i32 MATED_IN_MAX_PLY = -MATE_SCORE + MAX_PLY;
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~^~~~~~~~~
./src/datagen.cpp:124:27: error: no member named 'format' in namespace 'std'
return "data-" + std::format("{:04}-{:02}-{:02}", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday) + "-" + randomStr + ".preludedata";
~~~~~^
1 warning and 3 errors generated.
In file included from ./src/move.cpp:2:
In file included from ./src/board.h:3:
./src/util.h:88:43: error: constexpr function's 1st parameter type 'const std::string' (aka 'const basic_string<char>') is not a literal type
constexpr Square parseSquare(const string square) { return static_cast<Square>((square.at(1) - '1') * 8 + (square.at(0) - 'a')); }
~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/move.cpp:2:
In file included from ./src/board.h:3:
./src/util.h:91:18: error: constexpr function's return type 'std::string' (aka 'basic_string<char>') is not a literal type
constexpr string squareToAlgebraic(int sq) { return string(1, 'a' + (sq % 8)) + string(1, '1' + (sq / 8)); };
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
2 errors generated.
In file included from ./src/movegen.cpp:1:
In file included from ./src/movegen.h:5:
In file included from ./src/board.h:3:
./src/util.h:88:43: error: constexpr function's 1st parameter type 'const std::string' (aka 'const basic_string<char>') is not a literal type
constexpr Square parseSquare(const string square) { return static_cast<Square>((square.at(1) - '1') * 8 + (square.at(0) - 'a')); }
~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/movegen.cpp:1:
In file included from ./src/movegen.h:5:
In file included from ./src/board.h:3:
./src/util.h:91:18: error: constexpr function's return type 'std::string' (aka 'basic_string<char>') is not a literal type
constexpr string squareToAlgebraic(int sq) { return string(1, 'a' + (sq % 8)) + string(1, '1' + (sq / 8)); };
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/movegen.cpp:1:
In file included from ./src/movegen.h:5:
In file included from ./src/board.h:3:
./src/util.h:39:37: warning: shift count is negative [-Wshift-count-negative]
return dir > 0 ? bb << dir : bb >> -dir;
^ ~~~~
./src/movegen.cpp:240:16: note: in instantiation of function template specialization 'shift<9>' requested here
return shift<NORTH_EAST>(sqBB & ~MASK_FILE[HFILE]) | shift<NORTH_WEST>(sqBB & ~MASK_FILE[AFILE]);
^
In file included from ./src/movegen.cpp:1:
In file included from ./src/movegen.h:5:
In file included from ./src/board.h:3:
./src/util.h:39:37: warning: shift count is negative [-Wshift-count-negative]
return dir > 0 ? bb << dir : bb >> -dir;
^ ~~~~
./src/movegen.cpp:240:62: note: in instantiation of function template specialization 'shift<7>' requested here
return shift<NORTH_EAST>(sqBB & ~MASK_FILE[HFILE]) | shift<NORTH_WEST>(sqBB & ~MASK_FILE[AFILE]);
^
In file included from ./src/movegen.cpp:1:
In file included from ./src/movegen.h:5:
In file included from ./src/board.h:3:
./src/util.h:39:25: warning: shift count is negative [-Wshift-count-negative]
return dir > 0 ? bb << dir : bb >> -dir;
^ ~~~
./src/movegen.cpp:242:12: note: in instantiation of function template specialization 'shift<-7>' requested here
return shift<SOUTH_EAST>(sqBB & ~MASK_FILE[HFILE]) | shift<SOUTH_WEST>(sqBB & ~MASK_FILE[AFILE]);
^
In file included from ./src/movegen.cpp:1:
In file included from ./src/movegen.h:5:
In file included from ./src/board.h:3:
./src/util.h:39:25: warning: shift count is negative [-Wshift-count-negative]
return dir > 0 ? bb << dir : bb >> -dir;
^ ~~~
./src/movegen.cpp:242:58: note: in instantiation of function template specialization 'shift<-9>' requested here
return shift<SOUTH_EAST>(sqBB & ~MASK_FILE[HFILE]) | shift<SOUTH_WEST>(sqBB & ~MASK_FILE[AFILE]);
^
4 warnings and 2 errors generated.
In file included from ./src/nnue.cpp:3:
In file included from ./src/board.h:3:
./src/util.h:88:43: error: constexpr function's 1st parameter type 'const std::string' (aka 'const basic_string<char>') is not a literal type
constexpr Square parseSquare(const string square) { return static_cast<Square>((square.at(1) - '1') * 8 + (square.at(0) - 'a')); }
~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/nnue.cpp:3:
In file included from ./src/board.h:3:
./src/util.h:91:18: error: constexpr function's return type 'std::string' (aka 'basic_string<char>') is not a literal type
constexpr string squareToAlgebraic(int sq) { return string(1, 'a' + (sq % 8)) + string(1, '1' + (sq / 8)); };
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/nnue.cpp:6:
./src/search.h:113:46: warning: implicit conversion from 'unsigned long' to 'const i32' (aka 'const int') changes value from 18446744073709519104 to -32512 [-Wconstant-conversion]
constexpr i32 MATED_IN_MAX_PLY = -MATE_SCORE + MAX_PLY;
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~^~~~~~~~~
./src/nnue.cpp:9:10: fatal error: 'format' file not found
#include <format>
^~~~~~~~
1 warning and 3 errors generated.
In file included from ./src/search.cpp:1:
In file included from ./src/search.h:4:
In file included from ./src/board.h:3:
./src/util.h:88:43: error: constexpr function's 1st parameter type 'const std::string' (aka 'const basic_string<char>') is not a literal type
constexpr Square parseSquare(const string square) { return static_cast<Square>((square.at(1) - '1') * 8 + (square.at(0) - 'a')); }
~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/search.cpp:1:
In file included from ./src/search.h:4:
In file included from ./src/board.h:3:
./src/util.h:91:18: error: constexpr function's return type 'std::string' (aka 'basic_string<char>') is not a literal type
constexpr string squareToAlgebraic(int sq) { return string(1, 'a' + (sq % 8)) + string(1, '1' + (sq / 8)); };
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/search.cpp:1:
./src/search.h:113:46: warning: implicit conversion from 'unsigned long' to 'const i32' (aka 'const int') changes value from 18446744073709519104 to -32512 [-Wconstant-conversion]
constexpr i32 MATED_IN_MAX_PLY = -MATE_SCORE + MAX_PLY;
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~^~~~~~~~~
In file included from ./src/search.cpp:7:
./src/wdl.h:33:39: error: no member named 'exp' in namespace 'std'
return int(0.5 + 1000 / (1 + std::exp((a - static_cast<double>(v)) / b)));
~~~~~^
./src/wdl.h:40:17: error: no member named 'round' in namespace 'std'
return std::round(100 * eval / a);
~~~~~^
1 warning and 4 errors generated.
In file included from ./src/searcher.cpp:1:
In file included from ./src/searcher.h:4:
In file included from ./src/search.h:4:
In file included from ./src/board.h:3:
./src/util.h:88:43: error: constexpr function's 1st parameter type 'const std::string' (aka 'const basic_string<char>') is not a literal type
constexpr Square parseSquare(const string square) { return static_cast<Square>((square.at(1) - '1') * 8 + (square.at(0) - 'a')); }
~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/searcher.cpp:1:
In file included from ./src/searcher.h:4:
In file included from ./src/search.h:4:
In file included from ./src/board.h:3:
./src/util.h:91:18: error: constexpr function's return type 'std::string' (aka 'basic_string<char>') is not a literal type
constexpr string squareToAlgebraic(int sq) { return string(1, 'a' + (sq % 8)) + string(1, '1' + (sq / 8)); };
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:85:11: note: 'basic_string<char>' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
class basic_string
^
In file included from ./src/searcher.cpp:1:
In file included from ./src/searcher.h:4:
./src/search.h:113:46: warning: implicit conversion from 'unsigned long' to 'const i32' (aka 'const int') changes value from 18446744073709519104 to -32512 [-Wconstant-conversion]
constexpr i32 MATED_IN_MAX_PLY = -MATE_SCORE + MAX_PLY;
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~^~~~~~~~~
1 warning and 2 errors generated.
make: *** [makefile:29: Prelude-D502B160-35B74CC5] Error 1