X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmovegen.cpp;h=1e14f59b743bfee385ca02243d6b3ef6dc8333b0;hp=cf65cd62889103c2b89cdd9c437b226ff05660fe;hb=6fa6da3ee13d2b7bdbec3cd24ff8ca43233c74fb;hpb=60c121f3b1ee7d5ced3435cc1718e4e6e6fd8383 diff --git a/src/movegen.cpp b/src/movegen.cpp index cf65cd62..1e14f59b 100644 --- a/src/movegen.cpp +++ b/src/movegen.cpp @@ -59,9 +59,9 @@ namespace { if (Checks && !pos.gives_check(m, *ci)) return moveList; - (moveList++)->move = m; + *moveList++ = m; - return moveList; + return (void)ci, moveList; // Silence a warning under MSVC } @@ -69,23 +69,21 @@ namespace { inline ExtMove* make_promotions(ExtMove* moveList, Square to, const CheckInfo* ci) { if (Type == CAPTURES || Type == EVASIONS || Type == NON_EVASIONS) - (moveList++)->move = make(to - Delta, to, QUEEN); + *moveList++ = make(to - Delta, to, QUEEN); if (Type == QUIETS || Type == EVASIONS || Type == NON_EVASIONS) { - (moveList++)->move = make(to - Delta, to, ROOK); - (moveList++)->move = make(to - Delta, to, BISHOP); - (moveList++)->move = make(to - Delta, to, KNIGHT); + *moveList++ = make(to - Delta, to, ROOK); + *moveList++ = make(to - Delta, to, BISHOP); + *moveList++ = make(to - Delta, to, KNIGHT); } // Knight promotion is the only promotion that can give a direct check // that's not already included in the queen promotion. if (Type == QUIET_CHECKS && (StepAttacksBB[W_KNIGHT][to] & ci->ksq)) - (moveList++)->move = make(to - Delta, to, KNIGHT); - else - (void)ci; // Silence a warning under MSVC + *moveList++ = make(to - Delta, to, KNIGHT); - return moveList; + return (void)ci, moveList; // Silence a warning under MSVC } @@ -147,13 +145,13 @@ namespace { while (b1) { Square to = pop_lsb(&b1); - (moveList++)->move = make_move(to - Up, to); + *moveList++ = make_move(to - Up, to); } while (b2) { Square to = pop_lsb(&b2); - (moveList++)->move = make_move(to - Up - Up, to); + *moveList++ = make_move(to - Up - Up, to); } } @@ -189,13 +187,13 @@ namespace { while (b1) { Square to = pop_lsb(&b1); - (moveList++)->move = make_move(to - Right, to); + *moveList++ = make_move(to - Right, to); } while (b2) { Square to = pop_lsb(&b2); - (moveList++)->move = make_move(to - Left, to); + *moveList++ = make_move(to - Left, to); } if (pos.ep_square() != SQ_NONE) @@ -213,7 +211,7 @@ namespace { assert(b1); while (b1) - (moveList++)->move = make(pop_lsb(&b1), pos.ep_square()); + *moveList++ = make(pop_lsb(&b1), pos.ep_square()); } } @@ -247,7 +245,7 @@ namespace { b &= ci->checkSq[Pt]; while (b) - (moveList++)->move = make_move(from, pop_lsb(&b)); + *moveList++ = make_move(from, pop_lsb(&b)); } return moveList; @@ -271,7 +269,7 @@ namespace { Square ksq = pos.king_square(Us); Bitboard b = pos.attacks_from(ksq) & target; while (b) - (moveList++)->move = make_move(ksq, pop_lsb(&b)); + *moveList++ = make_move(ksq, pop_lsb(&b)); } if (Type != CAPTURES && Type != EVASIONS && pos.can_castle(Us)) @@ -350,7 +348,7 @@ ExtMove* generate(const Position& pos, ExtMove* moveList) { b &= ~PseudoAttacks[QUEEN][ci.ksq]; while (b) - (moveList++)->move = make_move(from, pop_lsb(&b)); + *moveList++ = make_move(from, pop_lsb(&b)); } return us == WHITE ? generate_all(pos, moveList, ~pos.pieces(), &ci) @@ -382,7 +380,7 @@ ExtMove* generate(const Position& pos, ExtMove* moveList) { // Generate evasions for king, capture and non capture moves Bitboard b = pos.attacks_from(ksq) & ~pos.pieces(us) & ~sliderAttacks; while (b) - (moveList++)->move = make_move(ksq, pop_lsb(&b)); + *moveList++ = make_move(ksq, pop_lsb(&b)); if (more_than_one(pos.checkers())) return moveList; // Double check, only a king move can save the day @@ -408,9 +406,9 @@ ExtMove* generate(const Position& pos, ExtMove* moveList) { moveList = pos.checkers() ? generate(pos, moveList) : generate(pos, moveList); while (cur != moveList) - if ( (pinned || from_sq(cur->move) == ksq || type_of(cur->move) == ENPASSANT) - && !pos.legal(cur->move, pinned)) - cur->move = (--moveList)->move; + if ( (pinned || from_sq(*cur) == ksq || type_of(*cur) == ENPASSANT) + && !pos.legal(*cur, pinned)) + *cur = (--moveList)->move; else ++cur;