Previous 199869 Revisions Next

r33114 Saturday 1st November, 2014 at 13:59:58 UTC by Carl
i386: call with expand down stack [Carl]
[src/build]flags_clang.mak
[src/emu/cpu/i386]i386.c

trunk/src/build/flags_clang.mak
r241625r241626
2020CCOMFLAGS += -Wno-inline-new-delete
2121# caused by src/mess/drivers/x07.c, src/osd/sdl/window.c, src/emu/sound/disc_mth.inc
2222CCOMFLAGS += -Wno-absolute-value
23# caused by src/emu/bus/isa/s3virge.c, src/emu/bus/isa/trident.c, src/emu/video/pc_vga.c
24CCOMFLAGS +=-Wno-dynamic-class-memaccess
2325# these were disabled because of bugs in older clang versions
2426CCOMFLAGS += -Wformat-security
2527# these show up when compiling as c++11
trunk/src/emu/cpu/i386/i386.c
r241625r241626
16861686      }
16871687      if (operand32 != 0)  // if 32-bit
16881688      {
1689         if(REG32(ESP) < 8)
1689         if(i386_limit_check(SS, REG32(ESP) - 8))
16901690         {
1691            logerror("CALL: Stack has no room for return address.\n");
1691            logerror("CALL (%08x): Stack has no room for return address.\n",m_pc);
16921692            FAULT(FAULT_SS,0)  // #SS(0)
16931693         }
16941694      }
16951695      else
16961696      {
1697         if(REG16(SP) < 4)
1697         if(i386_limit_check(SS, (REG16(SP) - 4) & 0xffff))
16981698         {
1699            logerror("CALL: Stack has no room for return address.\n");
1699            logerror("CALL (%08x): Stack has no room for return address.\n",m_pc);
17001700            FAULT(FAULT_SS,0)  // #SS(0)
17011701         }
17021702      }
r241625r241626
19441944               /* same privilege */
19451945               if (operand32 != 0)  // if 32-bit
19461946               {
1947                  if(REG32(ESP) < 8)
1947                  if(i386_limit_check(SS, REG32(ESP) - 8))
19481948                  {
19491949                     logerror("CALL: Stack has no room for return address.\n");
19501950                     FAULT(FAULT_SS,0) // #SS(0)
r241625r241626
19541954               }
19551955               else
19561956               {
1957                  if(REG16(SP) < 4)
1957                  if(i386_limit_check(SS, (REG16(SP) - 4) & 0xffff))
19581958                  {
19591959                     logerror("CALL: Stack has no room for return address.\n");
19601960                     FAULT(FAULT_SS,0) // #SS(0)


Previous 199869 Revisions Next


© 1997-2024 The MAME Team