g++ -Wall -Wextra -Wpedantic -Wshadow -pedantic -pthread -std=c++20 -march=native -O3 -funroll-loops -DEVALFILE=\"/root/OpenBench2/Client/Networks/66281CFC\" schoenemann.cpp search.cpp time.cpp helper.cpp tt.cpp moveorder.cpp see.cpp tune.cpp datagen.cpp history.cpp -o Schoenemann-311B443F-66281CFC In file included from time.h:23, from search.h:27, from helper.h:23, from schoenemann.cpp:25: chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::lsb() const’: chess.hpp:660:25: error: ‘countr_zero’ is not a member of ‘std’ 660 | return std::countr_zero(bits); | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::msb() const’: chess.hpp:682:25: error: ‘countl_zero’ is not a member of ‘std’ 682 | return std::countl_zero(bits) ^ 63; | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::count() const’: chess.hpp:703:25: error: ‘popcount’ is not a member of ‘std’; did you mean ‘count’? 703 | return std::popcount(bits); | ^~~~~~~~ | count In file included from time.h:23, from search.h:27, from helper.h:23, from schoenemann.cpp:25: chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ In file included from time.h:23, from search.h:27, from helper.h:23, from schoenemann.cpp:25: chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ In file included from search.h:29, from helper.h:23, from schoenemann.cpp:25: moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ In file included from helper.h:23, from schoenemann.cpp:25: search.h: In constructor ‘Search::Search(Time&, tt&, History&, MoveOrder&, network&)’: search.h:39:29: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow] 39 | network &net) : timeManagement(timeManagement), | ~~~~~~~~~^~~ search.h:80:18: note: shadowed declaration is here 80 | network &net; | ^~~ search.h:38:31: warning: declaration of ‘moveOrder’ shadows a member of ‘Search’ [-Wshadow] 38 | MoveOrder &moveOrder, | ~~~~~~~~~~~^~~~~~~~~ search.h:79:20: note: shadowed declaration is here 79 | MoveOrder &moveOrder; | ^~~~~~~~~ search.h:37:29: warning: declaration of ‘history’ shadows a member of ‘Search’ [-Wshadow] 37 | History &history, | ~~~~~~~~~^~~~~~~ search.h:78:18: note: shadowed declaration is here 78 | History &history; | ^~~~~~~ search.h:36:24: warning: declaration of ‘transpositionTabel’ shadows a member of ‘Search’ [-Wshadow] 36 | tt &transpositionTabel, | ~~~~^~~~~~~~~~~~~~~~~~ search.h:77:13: note: shadowed declaration is here 77 | tt &transpositionTabel; | ^~~~~~~~~~~~~~~~~~ search.h:35:22: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow] 35 | Search(Time &timeManagement, | ~~~~~~^~~~~~~~~~~~~~ search.h:76:15: note: shadowed declaration is here 76 | Time &timeManagement; | ^~~~~~~~~~~~~~ search.h: In constructor ‘Search::Search(Time&, tt&, History&, MoveOrder&, network&)’: search.h:39:29: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow] 39 | network &net) : timeManagement(timeManagement), | ~~~~~~~~~^~~ search.h:80:18: note: shadowed declaration is here 80 | network &net; | ^~~ search.h:38:31: warning: declaration of ‘moveOrder’ shadows a member of ‘Search’ [-Wshadow] 38 | MoveOrder &moveOrder, | ~~~~~~~~~~~^~~~~~~~~ search.h:79:20: note: shadowed declaration is here 79 | MoveOrder &moveOrder; | ^~~~~~~~~ search.h:37:29: warning: declaration of ‘history’ shadows a member of ‘Search’ [-Wshadow] 37 | History &history, | ~~~~~~~~~^~~~~~~ search.h:78:18: note: shadowed declaration is here 78 | History &history; | ^~~~~~~ search.h:36:24: warning: declaration of ‘transpositionTabel’ shadows a member of ‘Search’ [-Wshadow] 36 | tt &transpositionTabel, | ~~~~^~~~~~~~~~~~~~~~~~ search.h:77:13: note: shadowed declaration is here 77 | tt &transpositionTabel; | ^~~~~~~~~~~~~~~~~~ search.h:35:22: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow] 35 | Search(Time &timeManagement, | ~~~~~~^~~~~~~~~~~~~~ search.h:76:15: note: shadowed declaration is here 76 | Time &timeManagement; | ^~~~~~~~~~~~~~ search.h: In constructor ‘Search::Search(Time&, tt&, History&, MoveOrder&, network&)’: search.h:39:29: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow] 39 | network &net) : timeManagement(timeManagement), | ~~~~~~~~~^~~ search.h:80:18: note: shadowed declaration is here 80 | network &net; | ^~~ search.h:38:31: warning: declaration of ‘moveOrder’ shadows a member of ‘Search’ [-Wshadow] 38 | MoveOrder &moveOrder, | ~~~~~~~~~~~^~~~~~~~~ search.h:79:20: note: shadowed declaration is here 79 | MoveOrder &moveOrder; | ^~~~~~~~~ search.h:37:29: warning: declaration of ‘history’ shadows a member of ‘Search’ [-Wshadow] 37 | History &history, | ~~~~~~~~~^~~~~~~ search.h:78:18: note: shadowed declaration is here 78 | History &history; | ^~~~~~~ search.h:36:24: warning: declaration of ‘transpositionTabel’ shadows a member of ‘Search’ [-Wshadow] 36 | tt &transpositionTabel, | ~~~~^~~~~~~~~~~~~~~~~~ search.h:77:13: note: shadowed declaration is here 77 | tt &transpositionTabel; | ^~~~~~~~~~~~~~~~~~ search.h:35:22: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow] 35 | Search(Time &timeManagement, | ~~~~~~^~~~~~~~~~~~~~ search.h:76:15: note: shadowed declaration is here 76 | Time &timeManagement; | ^~~~~~~~~~~~~~ In file included from time.h:23, from search.h:27, from search.cpp:22: chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::lsb() const’: chess.hpp:660:25: error: ‘countr_zero’ is not a member of ‘std’ 660 | return std::countr_zero(bits); | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::msb() const’: chess.hpp:682:25: error: ‘countl_zero’ is not a member of ‘std’ 682 | return std::countl_zero(bits) ^ 63; | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::count() const’: chess.hpp:703:25: error: ‘popcount’ is not a member of ‘std’; did you mean ‘count’? 703 | return std::popcount(bits); | ^~~~~~~~ | count In file included from time.h:23, from search.h:27, from search.cpp:22: chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ In file included from time.h:23, from search.h:27, from search.cpp:22: chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ In file included from search.h:29, from search.cpp:22: moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ In file included from search.cpp:22: search.h: In constructor ‘Search::Search(Time&, tt&, History&, MoveOrder&, network&)’: search.h:39:29: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow] 39 | network &net) : timeManagement(timeManagement), | ~~~~~~~~~^~~ search.h:80:18: note: shadowed declaration is here 80 | network &net; | ^~~ search.h:38:31: warning: declaration of ‘moveOrder’ shadows a member of ‘Search’ [-Wshadow] 38 | MoveOrder &moveOrder, | ~~~~~~~~~~~^~~~~~~~~ search.h:79:20: note: shadowed declaration is here 79 | MoveOrder &moveOrder; | ^~~~~~~~~ search.h:37:29: warning: declaration of ‘history’ shadows a member of ‘Search’ [-Wshadow] 37 | History &history, | ~~~~~~~~~^~~~~~~ search.h:78:18: note: shadowed declaration is here 78 | History &history; | ^~~~~~~ search.h:36:24: warning: declaration of ‘transpositionTabel’ shadows a member of ‘Search’ [-Wshadow] 36 | tt &transpositionTabel, | ~~~~^~~~~~~~~~~~~~~~~~ search.h:77:13: note: shadowed declaration is here 77 | tt &transpositionTabel; | ^~~~~~~~~~~~~~~~~~ search.h:35:22: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow] 35 | Search(Time &timeManagement, | ~~~~~~^~~~~~~~~~~~~~ search.h:76:15: note: shadowed declaration is here 76 | Time &timeManagement; | ^~~~~~~~~~~~~~ search.h: In constructor ‘Search::Search(Time&, tt&, History&, MoveOrder&, network&)’: search.h:39:29: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow] 39 | network &net) : timeManagement(timeManagement), | ~~~~~~~~~^~~ search.h:80:18: note: shadowed declaration is here 80 | network &net; | ^~~ search.h:38:31: warning: declaration of ‘moveOrder’ shadows a member of ‘Search’ [-Wshadow] 38 | MoveOrder &moveOrder, | ~~~~~~~~~~~^~~~~~~~~ search.h:79:20: note: shadowed declaration is here 79 | MoveOrder &moveOrder; | ^~~~~~~~~ search.h:37:29: warning: declaration of ‘history’ shadows a member of ‘Search’ [-Wshadow] 37 | History &history, | ~~~~~~~~~^~~~~~~ search.h:78:18: note: shadowed declaration is here 78 | History &history; | ^~~~~~~ search.h:36:24: warning: declaration of ‘transpositionTabel’ shadows a member of ‘Search’ [-Wshadow] 36 | tt &transpositionTabel, | ~~~~^~~~~~~~~~~~~~~~~~ search.h:77:13: note: shadowed declaration is here 77 | tt &transpositionTabel; | ^~~~~~~~~~~~~~~~~~ search.h:35:22: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow] 35 | Search(Time &timeManagement, | ~~~~~~^~~~~~~~~~~~~~ search.h:76:15: note: shadowed declaration is here 76 | Time &timeManagement; | ^~~~~~~~~~~~~~ search.h: In constructor ‘Search::Search(Time&, tt&, History&, MoveOrder&, network&)’: search.h:39:29: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow] 39 | network &net) : timeManagement(timeManagement), | ~~~~~~~~~^~~ search.h:80:18: note: shadowed declaration is here 80 | network &net; | ^~~ search.h:38:31: warning: declaration of ‘moveOrder’ shadows a member of ‘Search’ [-Wshadow] 38 | MoveOrder &moveOrder, | ~~~~~~~~~~~^~~~~~~~~ search.h:79:20: note: shadowed declaration is here 79 | MoveOrder &moveOrder; | ^~~~~~~~~ search.h:37:29: warning: declaration of ‘history’ shadows a member of ‘Search’ [-Wshadow] 37 | History &history, | ~~~~~~~~~^~~~~~~ search.h:78:18: note: shadowed declaration is here 78 | History &history; | ^~~~~~~ search.h:36:24: warning: declaration of ‘transpositionTabel’ shadows a member of ‘Search’ [-Wshadow] 36 | tt &transpositionTabel, | ~~~~^~~~~~~~~~~~~~~~~~ search.h:77:13: note: shadowed declaration is here 77 | tt &transpositionTabel; | ^~~~~~~~~~~~~~~~~~ search.h:35:22: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow] 35 | Search(Time &timeManagement, | ~~~~~~^~~~~~~~~~~~~~ search.h:76:15: note: shadowed declaration is here 76 | Time &timeManagement; | ^~~~~~~~~~~~~~ In file included from time.h:23, from search.h:27, from search.cpp:22: chess.hpp: In instantiation of ‘void chess::Board::setFenInternal(std::string_view) [with bool ctor = true; std::string_view = std::basic_string_view<char>]’: chess.hpp:1804:33: required from here chess.hpp:2605:28: warning: declaration of ‘start’ shadows a global declaration [-Wshadow] 2605 | const auto start = side == king_side ? king_sq + 1 : king_sq - 1; | ^~~~~ search.cpp:26:25: note: shadowed declaration is here 26 | std::chrono::time_point start = std::chrono::steady_clock::now(); | ^~~~~ In file included from time.h:23, from search.h:27, from search.cpp:22: chess.hpp: In instantiation of ‘void chess::Board::setFenInternal(std::string_view) [with bool ctor = false; std::string_view = std::basic_string_view<char>]’: chess.hpp:1807:67: required from here chess.hpp:2605:28: warning: declaration of ‘start’ shadows a global declaration [-Wshadow] 2605 | const auto start = side == king_side ? king_sq + 1 : king_sq - 1; | ^~~~~ search.cpp:26:25: note: shadowed declaration is here 26 | std::chrono::time_point start = std::chrono::steady_clock::now(); | ^~~~~ In file included from time.h:23, from time.cpp:23: chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::lsb() const’: chess.hpp:660:25: error: ‘countr_zero’ is not a member of ‘std’ 660 | return std::countr_zero(bits); | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::msb() const’: chess.hpp:682:25: error: ‘countl_zero’ is not a member of ‘std’ 682 | return std::countl_zero(bits) ^ 63; | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::count() const’: chess.hpp:703:25: error: ‘popcount’ is not a member of ‘std’; did you mean ‘count’? 703 | return std::popcount(bits); | ^~~~~~~~ | count In file included from time.h:23, from time.cpp:23: chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ In file included from time.h:23, from time.cpp:23: chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ In file included from time.h:23, from search.h:27, from helper.h:23, from helper.cpp:20: chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::lsb() const’: chess.hpp:660:25: error: ‘countr_zero’ is not a member of ‘std’ 660 | return std::countr_zero(bits); | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::msb() const’: chess.hpp:682:25: error: ‘countl_zero’ is not a member of ‘std’ 682 | return std::countl_zero(bits) ^ 63; | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::count() const’: chess.hpp:703:25: error: ‘popcount’ is not a member of ‘std’; did you mean ‘count’? 703 | return std::popcount(bits); | ^~~~~~~~ | count In file included from time.h:23, from search.h:27, from helper.h:23, from helper.cpp:20: chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ In file included from time.h:23, from search.h:27, from helper.h:23, from helper.cpp:20: chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ In file included from search.h:29, from helper.h:23, from helper.cpp:20: moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ In file included from helper.h:23, from helper.cpp:20: search.h: In constructor ‘Search::Search(Time&, tt&, History&, MoveOrder&, network&)’: search.h:39:29: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow] 39 | network &net) : timeManagement(timeManagement), | ~~~~~~~~~^~~ search.h:80:18: note: shadowed declaration is here 80 | network &net; | ^~~ search.h:38:31: warning: declaration of ‘moveOrder’ shadows a member of ‘Search’ [-Wshadow] 38 | MoveOrder &moveOrder, | ~~~~~~~~~~~^~~~~~~~~ search.h:79:20: note: shadowed declaration is here 79 | MoveOrder &moveOrder; | ^~~~~~~~~ search.h:37:29: warning: declaration of ‘history’ shadows a member of ‘Search’ [-Wshadow] 37 | History &history, | ~~~~~~~~~^~~~~~~ search.h:78:18: note: shadowed declaration is here 78 | History &history; | ^~~~~~~ search.h:36:24: warning: declaration of ‘transpositionTabel’ shadows a member of ‘Search’ [-Wshadow] 36 | tt &transpositionTabel, | ~~~~^~~~~~~~~~~~~~~~~~ search.h:77:13: note: shadowed declaration is here 77 | tt &transpositionTabel; | ^~~~~~~~~~~~~~~~~~ search.h:35:22: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow] 35 | Search(Time &timeManagement, | ~~~~~~^~~~~~~~~~~~~~ search.h:76:15: note: shadowed declaration is here 76 | Time &timeManagement; | ^~~~~~~~~~~~~~ search.h: In constructor ‘Search::Search(Time&, tt&, History&, MoveOrder&, network&)’: search.h:39:29: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow] 39 | network &net) : timeManagement(timeManagement), | ~~~~~~~~~^~~ search.h:80:18: note: shadowed declaration is here 80 | network &net; | ^~~ search.h:38:31: warning: declaration of ‘moveOrder’ shadows a member of ‘Search’ [-Wshadow] 38 | MoveOrder &moveOrder, | ~~~~~~~~~~~^~~~~~~~~ search.h:79:20: note: shadowed declaration is here 79 | MoveOrder &moveOrder; | ^~~~~~~~~ search.h:37:29: warning: declaration of ‘history’ shadows a member of ‘Search’ [-Wshadow] 37 | History &history, | ~~~~~~~~~^~~~~~~ search.h:78:18: note: shadowed declaration is here 78 | History &history; | ^~~~~~~ search.h:36:24: warning: declaration of ‘transpositionTabel’ shadows a member of ‘Search’ [-Wshadow] 36 | tt &transpositionTabel, | ~~~~^~~~~~~~~~~~~~~~~~ search.h:77:13: note: shadowed declaration is here 77 | tt &transpositionTabel; | ^~~~~~~~~~~~~~~~~~ search.h:35:22: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow] 35 | Search(Time &timeManagement, | ~~~~~~^~~~~~~~~~~~~~ search.h:76:15: note: shadowed declaration is here 76 | Time &timeManagement; | ^~~~~~~~~~~~~~ search.h: In constructor ‘Search::Search(Time&, tt&, History&, MoveOrder&, network&)’: search.h:39:29: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow] 39 | network &net) : timeManagement(timeManagement), | ~~~~~~~~~^~~ search.h:80:18: note: shadowed declaration is here 80 | network &net; | ^~~ search.h:38:31: warning: declaration of ‘moveOrder’ shadows a member of ‘Search’ [-Wshadow] 38 | MoveOrder &moveOrder, | ~~~~~~~~~~~^~~~~~~~~ search.h:79:20: note: shadowed declaration is here 79 | MoveOrder &moveOrder; | ^~~~~~~~~ search.h:37:29: warning: declaration of ‘history’ shadows a member of ‘Search’ [-Wshadow] 37 | History &history, | ~~~~~~~~~^~~~~~~ search.h:78:18: note: shadowed declaration is here 78 | History &history; | ^~~~~~~ search.h:36:24: warning: declaration of ‘transpositionTabel’ shadows a member of ‘Search’ [-Wshadow] 36 | tt &transpositionTabel, | ~~~~^~~~~~~~~~~~~~~~~~ search.h:77:13: note: shadowed declaration is here 77 | tt &transpositionTabel; | ^~~~~~~~~~~~~~~~~~ search.h:35:22: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow] 35 | Search(Time &timeManagement, | ~~~~~~^~~~~~~~~~~~~~ search.h:76:15: note: shadowed declaration is here 76 | Time &timeManagement; | ^~~~~~~~~~~~~~ In file included from tt.h:26, from tt.cpp:20: chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::lsb() const’: chess.hpp:660:25: error: ‘countr_zero’ is not a member of ‘std’ 660 | return std::countr_zero(bits); | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::msb() const’: chess.hpp:682:25: error: ‘countl_zero’ is not a member of ‘std’ 682 | return std::countl_zero(bits) ^ 63; | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::count() const’: chess.hpp:703:25: error: ‘popcount’ is not a member of ‘std’; did you mean ‘count’? 703 | return std::popcount(bits); | ^~~~~~~~ | count In file included from tt.h:26, from tt.cpp:20: chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ In file included from tt.h:26, from tt.cpp:20: chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ In file included from search_fwd.h:4, from moveorder.h:23, from moveorder.cpp:20: chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::lsb() const’: chess.hpp:660:25: error: ‘countr_zero’ is not a member of ‘std’ 660 | return std::countr_zero(bits); | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::msb() const’: chess.hpp:682:25: error: ‘countl_zero’ is not a member of ‘std’ 682 | return std::countl_zero(bits) ^ 63; | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::count() const’: chess.hpp:703:25: error: ‘popcount’ is not a member of ‘std’; did you mean ‘count’? 703 | return std::popcount(bits); | ^~~~~~~~ | count In file included from search_fwd.h:4, from moveorder.h:23, from moveorder.cpp:20: chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ In file included from search_fwd.h:4, from moveorder.h:23, from moveorder.cpp:20: chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ In file included from moveorder.cpp:20: moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ In file included from see.h:23, from see.cpp:20: chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::lsb() const’: chess.hpp:660:25: error: ‘countr_zero’ is not a member of ‘std’ 660 | return std::countr_zero(bits); | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::msb() const’: chess.hpp:682:25: error: ‘countl_zero’ is not a member of ‘std’ 682 | return std::countl_zero(bits) ^ 63; | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::count() const’: chess.hpp:703:25: error: ‘popcount’ is not a member of ‘std’; did you mean ‘count’? 703 | return std::popcount(bits); | ^~~~~~~~ | count In file included from see.h:23, from see.cpp:20: chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ In file included from see.h:23, from see.cpp:20: chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ In file included from see.h:23, from datagen.h:24, from datagen.cpp:20: chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::lsb() const’: chess.hpp:660:25: error: ‘countr_zero’ is not a member of ‘std’ 660 | return std::countr_zero(bits); | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::msb() const’: chess.hpp:682:25: error: ‘countl_zero’ is not a member of ‘std’ 682 | return std::countl_zero(bits) ^ 63; | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::count() const’: chess.hpp:703:25: error: ‘popcount’ is not a member of ‘std’; did you mean ‘count’? 703 | return std::popcount(bits); | ^~~~~~~~ | count In file included from see.h:23, from datagen.h:24, from datagen.cpp:20: chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ In file included from see.h:23, from datagen.h:24, from datagen.cpp:20: chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ In file included from search.h:29, from datagen.h:25, from datagen.cpp:20: moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ moveorder.h: In constructor ‘MoveOrder::MoveOrder(History&)’: moveorder.h:32:24: warning: declaration of ‘history’ shadows a member of ‘MoveOrder’ [-Wshadow] 32 | MoveOrder(History& history) : history(history) {} | ~~~~~~~~~^~~~~~~ moveorder.h:30:13: note: shadowed declaration is here 30 | History history; | ^~~~~~~ In file included from datagen.h:25, from datagen.cpp:20: search.h: In constructor ‘Search::Search(Time&, tt&, History&, MoveOrder&, network&)’: search.h:39:29: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow] 39 | network &net) : timeManagement(timeManagement), | ~~~~~~~~~^~~ search.h:80:18: note: shadowed declaration is here 80 | network &net; | ^~~ search.h:38:31: warning: declaration of ‘moveOrder’ shadows a member of ‘Search’ [-Wshadow] 38 | MoveOrder &moveOrder, | ~~~~~~~~~~~^~~~~~~~~ search.h:79:20: note: shadowed declaration is here 79 | MoveOrder &moveOrder; | ^~~~~~~~~ search.h:37:29: warning: declaration of ‘history’ shadows a member of ‘Search’ [-Wshadow] 37 | History &history, | ~~~~~~~~~^~~~~~~ search.h:78:18: note: shadowed declaration is here 78 | History &history; | ^~~~~~~ search.h:36:24: warning: declaration of ‘transpositionTabel’ shadows a member of ‘Search’ [-Wshadow] 36 | tt &transpositionTabel, | ~~~~^~~~~~~~~~~~~~~~~~ search.h:77:13: note: shadowed declaration is here 77 | tt &transpositionTabel; | ^~~~~~~~~~~~~~~~~~ search.h:35:22: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow] 35 | Search(Time &timeManagement, | ~~~~~~^~~~~~~~~~~~~~ search.h:76:15: note: shadowed declaration is here 76 | Time &timeManagement; | ^~~~~~~~~~~~~~ search.h: In constructor ‘Search::Search(Time&, tt&, History&, MoveOrder&, network&)’: search.h:39:29: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow] 39 | network &net) : timeManagement(timeManagement), | ~~~~~~~~~^~~ search.h:80:18: note: shadowed declaration is here 80 | network &net; | ^~~ search.h:38:31: warning: declaration of ‘moveOrder’ shadows a member of ‘Search’ [-Wshadow] 38 | MoveOrder &moveOrder, | ~~~~~~~~~~~^~~~~~~~~ search.h:79:20: note: shadowed declaration is here 79 | MoveOrder &moveOrder; | ^~~~~~~~~ search.h:37:29: warning: declaration of ‘history’ shadows a member of ‘Search’ [-Wshadow] 37 | History &history, | ~~~~~~~~~^~~~~~~ search.h:78:18: note: shadowed declaration is here 78 | History &history; | ^~~~~~~ search.h:36:24: warning: declaration of ‘transpositionTabel’ shadows a member of ‘Search’ [-Wshadow] 36 | tt &transpositionTabel, | ~~~~^~~~~~~~~~~~~~~~~~ search.h:77:13: note: shadowed declaration is here 77 | tt &transpositionTabel; | ^~~~~~~~~~~~~~~~~~ search.h:35:22: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow] 35 | Search(Time &timeManagement, | ~~~~~~^~~~~~~~~~~~~~ search.h:76:15: note: shadowed declaration is here 76 | Time &timeManagement; | ^~~~~~~~~~~~~~ search.h: In constructor ‘Search::Search(Time&, tt&, History&, MoveOrder&, network&)’: search.h:39:29: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow] 39 | network &net) : timeManagement(timeManagement), | ~~~~~~~~~^~~ search.h:80:18: note: shadowed declaration is here 80 | network &net; | ^~~ search.h:38:31: warning: declaration of ‘moveOrder’ shadows a member of ‘Search’ [-Wshadow] 38 | MoveOrder &moveOrder, | ~~~~~~~~~~~^~~~~~~~~ search.h:79:20: note: shadowed declaration is here 79 | MoveOrder &moveOrder; | ^~~~~~~~~ search.h:37:29: warning: declaration of ‘history’ shadows a member of ‘Search’ [-Wshadow] 37 | History &history, | ~~~~~~~~~^~~~~~~ search.h:78:18: note: shadowed declaration is here 78 | History &history; | ^~~~~~~ search.h:36:24: warning: declaration of ‘transpositionTabel’ shadows a member of ‘Search’ [-Wshadow] 36 | tt &transpositionTabel, | ~~~~^~~~~~~~~~~~~~~~~~ search.h:77:13: note: shadowed declaration is here 77 | tt &transpositionTabel; | ^~~~~~~~~~~~~~~~~~ search.h:35:22: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow] 35 | Search(Time &timeManagement, | ~~~~~~^~~~~~~~~~~~~~ search.h:76:15: note: shadowed declaration is here 76 | Time &timeManagement; | ^~~~~~~~~~~~~~ In file included from search_fwd.h:4, from history.h:22, from history.cpp:20: chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’: chess.hpp:188:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 188 | constexpr File(underlying file) : file(file) {} | ~~~~~~~~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::File::File(int)’: chess.hpp:189:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow] 189 | constexpr File(int file) : file(static_cast<underlying>(file)) {} | ~~~~^~~~ chess.hpp:235:20: note: shadowed declaration is here 235 | underlying file; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’: chess.hpp:330:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 330 | constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {} | ~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’: chess.hpp:333:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow] 333 | constexpr Square(underlying sq) : sq(sq) {} | ~~~~~~~~~~~^~ chess.hpp:511:20: note: shadowed declaration is here 511 | underlying sq; | ^~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’: chess.hpp:552:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow] 552 | constexpr Bitboard(std::uint64_t bits) : bits(bits) {} | ~~~~~~~~~~~~~~^~~~ chess.hpp:729:23: note: shadowed declaration is here 729 | std::uint64_t bits; | ^~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::lsb() const’: chess.hpp:660:25: error: ‘countr_zero’ is not a member of ‘std’ 660 | return std::countr_zero(bits); | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::msb() const’: chess.hpp:682:25: error: ‘countl_zero’ is not a member of ‘std’ 682 | return std::countl_zero(bits) ^ 63; | ^~~~~~~~~~~ chess.hpp: In member function ‘constexpr int chess::Bitboard::count() const’: chess.hpp:703:25: error: ‘popcount’ is not a member of ‘std’; did you mean ‘count’? 703 | return std::popcount(bits); | ^~~~~~~~ | count In file included from search_fwd.h:4, from history.h:22, from history.cpp:20: chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’: chess.hpp:968:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow] 968 | constexpr PieceType(underlying pt) : pt(pt) {} | ~~~~~~~~~~~^~ chess.hpp:1053:20: note: shadowed declaration is here 1053 | underlying pt; | ^~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’: chess.hpp:1083:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow] 1083 | constexpr Piece(underlying piece) : piece(piece) {} | ~~~~~~~~~~~^~~~~ chess.hpp:1174:20: note: shadowed declaration is here 1174 | underlying piece; | ^~~~~ In file included from search_fwd.h:4, from history.h:22, from history.cpp:20: chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’: chess.hpp:1782:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1782 | const Piece &captured_piece) | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ chess.hpp:1779:19: note: shadowed declaration is here 1779 | Piece captured_piece; | ^~~~~~~~~~~~~~ chess.hpp:1781:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~^~~~~~~~~~ chess.hpp:1778:21: note: shadowed declaration is here 1778 | uint8_t half_moves; | ^~~~~~~~~~ chess.hpp:1781:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~^~~~~~~~~ chess.hpp:1777:20: note: shadowed declaration is here 1777 | Square enpassant; | ^~~~~~~~~ chess.hpp:1781:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ chess.hpp:1776:28: note: shadowed declaration is here 1776 | CastlingRights castling; | ^~~~~~~~ chess.hpp:1781:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow] 1781 | State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves, | ~~~~~~~~~~~^~~~ chess.hpp:1775:17: note: shadowed declaration is here 1775 | U64 hash; | ^~~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ chess.hpp: In constructor ‘chess::Board::Board(network*, std::string_view, bool)’: chess.hpp:1799:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow] 1799 | explicit Board(network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) | ~~~~~~~~~^~~~~~~~~~~~~ chess.hpp:2484:18: note: shadowed declaration is here 2484 | network* net; | ^~~ make: *** [Makefile:17: all] Error 1