SDL-Hercules-390 / hyperion

The SDL Hercules 4.x Hyperion version of the System/370, ESA/390, and z/Architecture Emulator
Other
240 stars 90 forks source link

Visual Studio 17.8.1 generating warning C4789 #610

Closed ygamache closed 9 months ago

ygamache commented 9 months ago

SDL-Hercules-390 hyperion development branch - commit efbbf29 (latest) Upgraded Visual Studio Community 2022 to version 17.8.1 (latest), and now getting these compile errors:

Creating library msvc.AMD64.obj\hengine.lib and object msvc.AMD64.obj\hengine.exp
Generating code
D:\Hercules_Source\hyperion-sdl\general1.c(2269) : error C2220: the following warning is treated as an error
D:\Hercules_Source\hyperion-sdl\general1.c(2269) : warning C4789: buffer 'tmp' of size 16 bytes will be overrun; 16 bytes will be written starting at offset 48
D:\Hercules_Source\hyperion-sdl\general1.c(2269) : warning C4789: buffer 'tmp' of size 16 bytes will be overrun; 16 bytes will be written starting at offset 32
D:\Hercules_Source\hyperion-sdl\general1.c(2269) : warning C4789: buffer 'tmp' of size 16 bytes will be overrun; 16 bytes will be written starting at offset 16
D:\Hercules_Source\hyperion-sdl\general1.c(2240) : warning C4789: buffer 'tmp' of size 16 bytes will be overrun; 16 bytes will be written starting at offset 48
D:\Hercules_Source\hyperion-sdl\general1.c(2240) : warning C4789: buffer 'tmp' of size 16 bytes will be overrun; 16 bytes will be written starting at offset 32
D:\Hercules_Source\hyperion-sdl\general1.c(2240) : warning C4789: buffer 'tmp' of size 16 bytes will be overrun; 16 bytes will be written starting at offset 16
LINK : fatal error LNK1257: code generation failed
NMAKE : fatal error U1077: 'link -nologo /RELEASE /LTCG /DEBUG /PDB:msvc.AMD64.pdb\hengine.pdb /map:msvc.AMD64.map\hengine.map /MANIFEST /base:0x100400000 /INCREMENTAL:NO /NOLOGO -dll -entry:_DllMainCRTStartup msvc.AMD64.obj\build_pch.obj msvc.AMD64.obj\archlvl.obj msvc.AMD64.obj\assist.obj msvc.AMD64.obj\bldcfg.obj msvc.AMD64.obj\script.obj msvc.AMD64.obj\cgibin.obj msvc.AMD64.obj\channel.obj msvc.AMD64.obj\chsc.obj msvc.AMD64.obj\clock.obj msvc.AMD64.obj\cmdtab.obj msvc.AMD64.obj\cmpsc_2012.obj msvc.AMD64.obj\cmpscdbg.obj msvc.AMD64.obj\cmpscdct.obj msvc.AMD64.obj\cmpscget.obj msvc.AMD64.obj\cmpscmem.obj msvc.AMD64.obj\cmpscput.obj msvc.AMD64.obj\config.obj msvc.AMD64.obj\control.obj msvc.AMD64.obj\cpu.obj msvc.AMD64.obj\crypto.obj msvc.AMD64.obj\dat.obj msvc.AMD64.obj\decimal.obj msvc.AMD64.obj\dfp.obj msvc.AMD64.obj\diagmssf.obj msvc.AMD64.obj\diagnose.obj msvc.AMD64.obj\dyn76.obj msvc.AMD64.obj\ecpsvm.obj msvc.AMD64.obj\esame.obj msvc.AMD64.obj\external.obj msvc.AMD64.obj\facility.obj msvc.AMD64.obj\fillfnam.obj msvc.AMD64.obj\float.obj msvc.AMD64.obj\general1.obj msvc.AMD64.obj\general2.obj msvc.AMD64.obj\general3.obj msvc.AMD64.obj\hbyteswp.obj msvc.AMD64.obj\hconsole.obj msvc.AMD64.obj\hdiagf18.obj msvc.AMD64.obj\history.obj msvc.AMD64.obj\hsccmd.obj msvc.AMD64.obj\hscemode.obj msvc.AMD64.obj\hscpufun.obj msvc.AMD64.obj\hscloc.obj msvc.AMD64.obj\hao.obj msvc.AMD64.obj\hscmisc.obj msvc.AMD64.obj\httpserv.obj msvc.AMD64.obj\ieee.obj msvc.AMD64.obj\impl.obj msvc.AMD64.obj\inline.obj msvc.AMD64.obj\io.obj msvc.AMD64.obj\ipl.obj msvc.AMD64.obj\loadmem.obj msvc.AMD64.obj\loadparm.obj msvc.AMD64.obj\losc.obj msvc.AMD64.obj\machchk.obj msvc.AMD64.obj\machdep.obj msvc.AMD64.obj\opcode.obj msvc.AMD64.obj\panel.obj msvc.AMD64.obj\pfpo.obj msvc.AMD64.obj\plo.obj msvc.AMD64.obj\qdio.obj msvc.AMD64.obj\mpc.obj msvc.AMD64.obj\hRexx.obj msvc.AMD64.obj\hRexx_o.obj msvc.AMD64.obj\hRexx_r.obj msvc.AMD64.obj\service.obj msvc.AMD64.obj\scedasd.obj msvc.AMD64.obj\scescsi.obj msvc.AMD64.obj\sie.obj msvc.AMD64.obj\skey.obj msvc.AMD64.obj\sr.obj msvc.AMD64.obj\stack.obj msvc.AMD64.obj\tcpip.obj msvc.AMD64.obj\timer.obj msvc.AMD64.obj\trace.obj msvc.AMD64.obj\transact.obj msvc.AMD64.obj\vector.obj msvc.AMD64.obj\vm.obj msvc.AMD64.obj\vmd250.obj msvc.AMD64.obj\vstore.obj msvc.AMD64.obj\x75.obj msvc.AMD64.obj\xstore.obj msvc.AMD64.obj\hdasd.lib msvc.AMD64.obj\htape.lib msvc.AMD64.obj\w32ctca.obj msvc.AMD64.obj\hutil.lib msvc.AMD64.obj\hsys.lib msvc.AMD64.obj\hercprod.res  "D:\Hercules_Source\winbuild-sdl\ZLIB1-1.2.11\x64/lib/zdll.lib" "D:\Hercules_Source\winbuild-sdl\BZIP2-1.0.6\x64/libbz2.lib" "D:\Hercules_Source\winbuild-sdl\PCRE-6.4.1\x64\lib\pcre.lib" "D:\Hercules_Source\winbuild-sdl\PCRE-6.4.1\x64\lib\pcreposix.lib" user32.lib crypto64.lib decNumber64.lib SoftFloat64.lib telnet64.lib -out:msvc.AMD64.bin\hengine.dll -implib:msvc.AMD64.obj\hengine.lib kernel32.lib  ws2_32.lib mswsock.lib advapi32.lib /map:msvc.AMD64.map\hengine.map' : return code '0x4e9'
Stop.
makefile.bat ended on 2023-11-26 at 14:06:34.74, rc=2

Rolled back to Visual Studio version 17.7.5 and the compile errors are no longer present.

Probably a MS bug,

Thanks

ygamache commented 9 months ago

Just noticed bug #479, if this is the same issue, this bug can be closed as duplicate.

wrljet commented 9 months ago

Should be fixed with commit https://github.com/SDL-Hercules-390/hyperion/commit/871258623ba500e30dfb92614e9aa589b7fda98d

Bill

ygamache commented 9 months ago

Issue resolved with commit https://github.com/SDL-Hercules-390/hyperion/commit/871258623ba500e30dfb92614e9aa589b7fda98d Closing