1
0
Fork 0

Enforce call order of the functions used in the bitshift. Fixes visual C /O2 builds. Thanks h-a-l-9000 and wjp.

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3718
This commit is contained in:
Peter Veenstra 2011-06-12 13:56:44 +00:00
parent cca9bb077a
commit de75bc83f6
4 changed files with 55 additions and 52 deletions

View file

@ -367,7 +367,7 @@ else
AC_CHECK_LIB(SDL_net, SDLNet_Init, have_sdl_net_lib=yes, , )
fi
if test x$have_sdl_net_lib = xyes -a x$have_sdl_net_h = xyes ; then
LIBS="$LIBS -lSDL_net"
LIBS="$LIBS -lSDL_net /home/pveenstra/qbix/cross3/usr/lib/libvorbisfile.a /home/pveenstra/qbix/cross3/usr/lib/libvorbis.a /home/pveenstra/qbix/cross3/usr/lib/libogg.a"
AC_DEFINE(C_MODEM,1)
AC_DEFINE(C_IPX,1)
else
@ -499,7 +499,8 @@ esac
AC_SUBST(WINDRES)
AC_CONFIG_FILES([
AC_CONFIG_FILES([
Makefile
src/Makefile
src/cpu/Makefile

View file

@ -43,16 +43,16 @@ Bitu PageHandler::readb(PhysPt addr) {
return 0;
}
Bitu PageHandler::readw(PhysPt addr) {
return
(readb(addr+0) << 0) |
(readb(addr+1) << 8);
Bitu ret = (readb(addr+0) << 0);
ret |= (readb(addr+1) << 8);
return ret;
}
Bitu PageHandler::readd(PhysPt addr) {
return
(readb(addr+0) << 0) |
(readb(addr+1) << 8) |
(readb(addr+2) << 16) |
(readb(addr+3) << 24);
Bitu ret = (readb(addr+0) << 0);
ret |= (readb(addr+1) << 8);
ret |= (readb(addr+2) << 16);
ret |= (readb(addr+3) << 24);
return ret;
}
void PageHandler::writeb(PhysPt addr,Bitu /*val*/) {

View file

@ -427,15 +427,17 @@ void MEM_A20_Enable(bool enabled) {
/* Memory access functions */
Bit16u mem_unalignedreadw(PhysPt address) {
return mem_readb_inline(address) |
mem_readb_inline(address+1) << 8;
Bit16u ret = mem_readb_inline(address);
ret |= mem_readb_inline(address+1) << 8;
return ret;
}
Bit32u mem_unalignedreadd(PhysPt address) {
return mem_readb_inline(address) |
(mem_readb_inline(address+1) << 8) |
(mem_readb_inline(address+2) << 16) |
(mem_readb_inline(address+3) << 24);
Bit32u ret = mem_readb_inline(address);
ret |= mem_readb_inline(address+1) << 8;
ret |= mem_readb_inline(address+2) << 16;
ret |= mem_readb_inline(address+3) << 24;
return ret;
}

View file

@ -160,19 +160,19 @@ public:
addr = PAGING_GetPhysicalAddress(addr) & vgapages.mask;
addr += vga.svga.bank_read_full;
addr = CHECKED2(addr);
return
(readHandler(addr+0) << 0) |
(readHandler(addr+1) << 8);
Bitu ret = (readHandler(addr+0) << 0);
ret |= (readHandler(addr+1) << 8);
return ret;
}
Bitu readd(PhysPt addr) {
addr = PAGING_GetPhysicalAddress(addr) & vgapages.mask;
addr += vga.svga.bank_read_full;
addr = CHECKED2(addr);
return
(readHandler(addr+0) << 0) |
(readHandler(addr+1) << 8) |
(readHandler(addr+2) << 16) |
(readHandler(addr+3) << 24);
Bitu ret = (readHandler(addr+0) << 0);
ret |= (readHandler(addr+1) << 8);
ret |= (readHandler(addr+2) << 16);
ret |= (readHandler(addr+3) << 24);
return ret;
}
};
@ -246,19 +246,19 @@ public:
addr = PAGING_GetPhysicalAddress(addr) & vgapages.mask;
addr += vga.svga.bank_read_full;
addr = CHECKED(addr);
return
(readHandler(addr+0) << 0) |
(readHandler(addr+1) << 8);
Bitu ret = (readHandler(addr+0) << 0);
ret |= (readHandler(addr+1) << 8);
return ret;
}
Bitu readd(PhysPt addr) {
addr = PAGING_GetPhysicalAddress(addr) & vgapages.mask;
addr += vga.svga.bank_read_full;
addr = CHECKED(addr);
return
(readHandler(addr+0) << 0) |
(readHandler(addr+1) << 8) |
(readHandler(addr+2) << 16) |
(readHandler(addr+3) << 24);
Bitu ret = (readHandler(addr+0) << 0);
ret |= (readHandler(addr+1) << 8);
ret |= (readHandler(addr+2) << 16);
ret |= (readHandler(addr+3) << 24);
return ret;
}
};
@ -355,24 +355,24 @@ public:
addr = PAGING_GetPhysicalAddress(addr) & vgapages.mask;
addr += vga.svga.bank_read_full;
addr = CHECKED(addr);
if (GCC_UNLIKELY(addr & 1))
return
(readHandler<Bit8u>( addr+0 ) << 0 ) |
(readHandler<Bit8u>( addr+1 ) << 8 );
else
if (GCC_UNLIKELY(addr & 1)) {
Bitu ret = (readHandler<Bit8u>( addr+0 ) << 0 );
ret |= (readHandler<Bit8u>( addr+1 ) << 8 );
return ret;
} else
return readHandler<Bit16u>( addr );
}
Bitu readd(PhysPt addr ) {
addr = PAGING_GetPhysicalAddress(addr) & vgapages.mask;
addr += vga.svga.bank_read_full;
addr = CHECKED(addr);
if (GCC_UNLIKELY(addr & 3))
return
(readHandler<Bit8u>( addr+0 ) << 0 ) |
(readHandler<Bit8u>( addr+1 ) << 8 ) |
(readHandler<Bit8u>( addr+2 ) << 16 ) |
(readHandler<Bit8u>( addr+3 ) << 24 );
else
if (GCC_UNLIKELY(addr & 3)) {
Bitu ret = (readHandler<Bit8u>( addr+0 ) << 0 );
ret |= (readHandler<Bit8u>( addr+1 ) << 8 );
ret |= (readHandler<Bit8u>( addr+2 ) << 16 );
ret |= (readHandler<Bit8u>( addr+3 ) << 24 );
return ret;
} else
return readHandler<Bit32u>( addr );
}
void writeb(PhysPt addr, Bitu val ) {
@ -588,18 +588,18 @@ public:
Bitu readw(PhysPt addr) {
addr = vga.svga.bank_read_full + (PAGING_GetPhysicalAddress(addr) & 0xffff);
addr = CHECKED4(addr);
return
(readHandler(addr+0) << 0) |
(readHandler(addr+1) << 8);
Bitu ret = (readHandler(addr+0) << 0);
ret |= (readHandler(addr+1) << 8);
return ret;
}
Bitu readd(PhysPt addr) {
addr = vga.svga.bank_read_full + (PAGING_GetPhysicalAddress(addr) & 0xffff);
addr = CHECKED4(addr);
return
(readHandler(addr+0) << 0) |
(readHandler(addr+1) << 8) |
(readHandler(addr+2) << 16) |
(readHandler(addr+3) << 24);
Bitu ret = (readHandler(addr+0) << 0);
ret |= (readHandler(addr+1) << 8);
ret |= (readHandler(addr+2) << 16);
ret |= (readHandler(addr+3) << 24);
return ret;
}
};