Fix undefined behavior (sequence point modification). GCC 4.6.4 compiles the code incorrectly without this fix.
This commit is contained in:
parent
efc11783c7
commit
eb7492c6c6
@ -283,7 +283,7 @@ static void jr_r8(GB_gameboy_t *gb, uint8_t opcode)
|
||||
{
|
||||
/* Todo: Verify cycles are not 8 and 4 instead */
|
||||
GB_advance_cycles(gb, 4);
|
||||
gb->pc += (int8_t) GB_read_memory(gb, gb->pc++);
|
||||
gb->pc += (int8_t)GB_read_memory(gb, gb->pc) + 1;
|
||||
GB_advance_cycles(gb, 8);
|
||||
}
|
||||
|
||||
@ -307,7 +307,7 @@ static void jr_cc_r8(GB_gameboy_t *gb, uint8_t opcode)
|
||||
{
|
||||
if (condition_code(gb, opcode)) {
|
||||
GB_advance_cycles(gb, 4);
|
||||
gb->pc += (int8_t)GB_read_memory(gb, gb->pc++);
|
||||
gb->pc += (int8_t)GB_read_memory(gb, gb->pc) + 1;
|
||||
GB_advance_cycles(gb, 8);
|
||||
}
|
||||
else {
|
||||
|
Loading…
Reference in New Issue
Block a user