Compiling is successful but I get lots of warnings which were not there when compiling v1.6.
In both cases I used this command line: g++ .cpp tuner/.cpp -O3 -flto -march=native -oClovis.exe
A couple of them:
In file included from position.h:11,
from evaluate.h:3,
from evaluate.cpp:1:
movelist.h: In function 'T Clovis::gen_moves(const Position&, T)':
movelist.h:51:21: warning: invalid use of incomplete type 'const class Clovis::Position'
51 | Colour us = pos.side, them = other_side(pos.side);
| ^~~
movelist.h:14:15: note: forward declaration of 'class Clovis::Position'
14 | class Position;
| ^~~~
movelist.h:51:49: warning: invalid use of incomplete type 'const class Clovis::Position'
51 | Colour us = pos.side, them = other_side(pos.side);
| ^~~
movelist.h:14:15: note: forward declaration of 'class Clovis::Position'
14 | class Position;
| ^~~~
movelist.h:52:23: warning: invalid use of incomplete type 'const class Clovis::Position'
52 | Bitboard bb = pos.piece_bitboard[make_piece(PAWN, us)];
| ^~~
movelist.h:14:15: note: forward declaration of 'class Clovis::Position'
14 | class Position;
| ^~~~
movelist.h:64:36: warning: invalid use of incomplete type 'const class Clovis::Position'
64 | if (is_valid(tar) && !(pos.occ_bitboard[BOTH] & tar))
| ^~~
movelist.h:14:15: note: forward declaration of 'class Clovis::Position'
14 | class Position;
| ^~~~
movelist.h:69:51: warning: invalid use of incomplete type 'const class Clovis::Position'
69 | ml++ = encode_move(src, tar, pos.piece_board[src], make_piece(KNIGHT, us), 0, 0, 0, 0);
| ^~~
movelist.h:14:15: note: forward declaration of 'class Clovis::Position'
14 | class Position;
| ^~~~
movelist.h:70:51: warning: invalid use of incomplete type 'const class Clovis::Position'
70 | ml++ = encode_move(src, tar, pos.piece_board[src], make_piece(BISHOP, us), 0, 0, 0, 0);
Hello Jonathan,
Compiling is successful but I get lots of warnings which were not there when compiling v1.6. In both cases I used this command line: g++ .cpp tuner/.cpp -O3 -flto -march=native -oClovis.exe
A couple of them:
In file included from position.h:11, from evaluate.h:3, from evaluate.cpp:1: movelist.h: In function 'T Clovis::gen_moves(const Position&, T)': movelist.h:51:21: warning: invalid use of incomplete type 'const class Clovis::Position' 51 | Colour us = pos.side, them = other_side(pos.side); | ^~~ movelist.h:14:15: note: forward declaration of 'class Clovis::Position' 14 | class Position; | ^
~~~ movelist.h:51:49: warning: invalid use of incomplete type 'const class Clovis::Position' 51 | Colour us = pos.side, them = other_side(pos.side); | ^~~ movelist.h:14:15: note: forward declaration of 'class Clovis::Position' 14 | class Position; | ^~~~ movelist.h:52:23: warning: invalid use of incomplete type 'const class Clovis::Position' 52 | Bitboard bb = pos.piece_bitboard[make_piece(PAWN, us)]; | ^~~ movelist.h:14:15: note: forward declaration of 'class Clovis::Position' 14 | class Position; | ^~~~ movelist.h:64:36: warning: invalid use of incomplete type 'const class Clovis::Position' 64 | if (is_valid(tar) && !(pos.occ_bitboard[BOTH] & tar)) | ^~~ movelist.h:14:15: note: forward declaration of 'class Clovis::Position' 14 | class Position; | ^~~~ movelist.h:69:51: warning: invalid use of incomplete type 'const class Clovis::Position' 69 | ml++ = encode_move(src, tar, pos.piece_board[src], make_piece(KNIGHT, us), 0, 0, 0, 0); | ^~~ movelist.h:14:15: note: forward declaration of 'class Clovis::Position' 14 | class Position; | ^~~~ movelist.h:70:51: warning: invalid use of incomplete type 'const class Clovis::Position' 70 | ml++ = encode_move(src, tar, pos.piece_board[src], make_piece(BISHOP, us), 0, 0, 0, 0);