Skip to content

Add braces around SYS_DEV.val array initializers#535

Open
LegalizeAdulthood wants to merge 1 commit intoopen-simh:masterfrom
LegalizeAdulthood:legalize-initializers
Open

Add braces around SYS_DEV.val array initializers#535
LegalizeAdulthood wants to merge 1 commit intoopen-simh:masterfrom
LegalizeAdulthood:legalize-initializers

Conversation

@LegalizeAdulthood
Copy link
Copy Markdown
Contributor

This eliminates thousands of lines of warnings from gcc on linux

@markpizz
Copy link
Copy Markdown
Contributor

This proposed change is yet another example of how the current CMake build mechanisms is deviating from functionality which works without producing any warnings when building on Linux with the makefile. Rather than changing code to accommodate the CMake configuration, this problem can be solved by changing the CMake build configuration.

@LegalizeAdulthood
Copy link
Copy Markdown
Contributor Author

Go away. This has nothing to do with CMake.

@markpizz
Copy link
Copy Markdown
Contributor

This has nothing to do with CMake.

Below are the makefile build of the simulator you are changing in this PR. None have any build issues, but you can look for yourself.

Below that is the Windows Legacy command line build of the same simulator using Visual Studio 2022.

If you bother to look, NONE of them have a problem or report warnings or errors.

You claim "This has nothing to do with CMake". CMake is fantastic. The information that is configuring it's execution must have something to do with your very different observations.

On macOS, building with make produces:

mark@marks-mac-mini open-simh % git pull
Already up to date.
mark@marks-mac-mini open-simh % make intel-mds
lib paths are: /usr/lib /opt/homebrew/Cellar/brotli/1.2.0/lib /opt/homebrew/Cellar/cairo/1.18.4/lib /opt/homebrew/Cellar/capstone/5.0.6/lib /opt/homebrew/Cellar/dtc/1.7.2/lib /opt/homebrew/Cellar/fontconfig/2.17.1/lib /opt/homebrew/Cellar/freetype/2.14.1_1/lib /opt/homebrew/Cellar/gcc/15.2.0/lib /opt/homebrew/Cellar/gettext/0.26/lib /opt/homebrew/Cellar/glib/2.86.1/lib /opt/homebrew/Cellar/gmp/6.3.0/lib /opt/homebrew/Cellar/gnutls/3.8.10/lib /opt/homebrew/Cellar/graphite2/1.3.14/lib /opt/homebrew/Cellar/harfbuzz/12.1.0/lib /opt/homebrew/Cellar/icu4c@77/77.1/lib /opt/homebrew/Cellar/icu4c@78/78.3/lib /opt/homebrew/Cellar/isl/0.27/lib /opt/homebrew/Cellar/jpeg-turbo/3.1.2/lib /opt/homebrew/Cellar/libedit/20251016-3.1/lib /opt/homebrew/Cellar/libevent/2.1.12_1/lib /opt/homebrew/Cellar/libidn2/2.3.8/lib /opt/homebrew/Cellar/libmpc/1.3.1/lib /opt/homebrew/Cellar/libnghttp2/1.67.1/lib /opt/homebrew/Cellar/libpng/1.6.50/lib /opt/homebrew/Cellar/libslirp/4.9.1/lib /opt/homebrew/Cellar/libssh/0.11.3/lib /opt/homebrew/Cellar/libtasn1/4.20.0/lib /opt/homebrew/Cellar/libunistring/1.4.1/lib /opt/homebrew/Cellar/libusb/1.0.29/lib /opt/homebrew/Cellar/libx11/1.8.12/lib /opt/homebrew/Cellar/libxau/1.0.12/lib /opt/homebrew/Cellar/libxcb/1.17.0/lib /opt/homebrew/Cellar/libxdmcp/1.1.5/lib /opt/homebrew/Cellar/libxext/1.3.6/lib /opt/homebrew/Cellar/libxrender/0.9.12/lib /opt/homebrew/Cellar/lz4/1.10.0/lib /opt/homebrew/Cellar/lzo/2.10/lib /opt/homebrew/Cellar/mpfr/4.2.2/lib /opt/homebrew/Cellar/ncurses/6.5/lib /opt/homebrew/Cellar/nettle/3.10.2/lib /opt/homebrew/Cellar/openssl@3/3.6.0/lib /opt/homebrew/Cellar/openssl@3/3.6.1/lib /opt/homebrew/Cellar/p11-kit/0.25.10/lib /opt/homebrew/Cellar/pcre/8.45/lib /opt/homebrew/Cellar/pcre2/10.47/lib /opt/homebrew/Cellar/pixman/0.46.4/lib /opt/homebrew/Cellar/sdl2/2.32.10/lib /opt/homebrew/Cellar/sdl2_ttf/2.24.0/lib /opt/homebrew/Cellar/snappy/1.2.2/lib /opt/homebrew/Cellar/unbound/1.24.1/lib /opt/homebrew/Cellar/vde/2.3.3/lib /opt/homebrew/Cellar/xz/5.8.1/lib /opt/homebrew/Cellar/zlib/1.3.1/lib /opt/homebrew/Cellar/zstd/1.5.7/lib /usr/lib/
include paths are: /Library/Developer/CommandLineTools/usr/lib/clang/17/include /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include /Library/Developer/CommandLineTools/usr/include /opt/homebrew/Cellar/brotli/1.2.0/include /opt/homebrew/Cellar/cairo/1.18.4/include /opt/homebrew/Cellar/capstone/5.0.6/include /opt/homebrew/Cellar/dtc/1.7.2/include /opt/homebrew/Cellar/fontconfig/2.17.1/include /opt/homebrew/Cellar/freetype/2.14.1_1/include /opt/homebrew/Cellar/gcc/15.2.0/include /opt/homebrew/Cellar/gettext/0.26/include /opt/homebrew/Cellar/glib/2.86.1/include /opt/homebrew/Cellar/gmp/6.3.0/include /opt/homebrew/Cellar/gnutls/3.8.10/include /opt/homebrew/Cellar/graphite2/1.3.14/include /opt/homebrew/Cellar/harfbuzz/12.1.0/include /opt/homebrew/Cellar/icu4c@77/77.1/include /opt/homebrew/Cellar/icu4c@78/78.3/include /opt/homebrew/Cellar/isl/0.27/include /opt/homebrew/Cellar/jpeg-turbo/3.1.2/include /opt/homebrew/Cellar/libedit/20251016-3.1/include /opt/homebrew/Cellar/libevent/2.1.12_1/include /opt/homebrew/Cellar/libidn2/2.3.8/include /opt/homebrew/Cellar/libmpc/1.3.1/include /opt/homebrew/Cellar/libnghttp2/1.67.1/include /opt/homebrew/Cellar/libpng/1.6.50/include /opt/homebrew/Cellar/libslirp/4.9.1/include /opt/homebrew/Cellar/libssh/0.11.3/include /opt/homebrew/Cellar/libtasn1/4.20.0/include /opt/homebrew/Cellar/libunistring/1.4.1/include /opt/homebrew/Cellar/libusb/1.0.29/include /opt/homebrew/Cellar/libx11/1.8.12/include /opt/homebrew/Cellar/libxau/1.0.12/include /opt/homebrew/Cellar/libxcb/1.17.0/include /opt/homebrew/Cellar/libxdmcp/1.1.5/include /opt/homebrew/Cellar/libxext/1.3.6/include /opt/homebrew/Cellar/libxrender/0.9.12/include /opt/homebrew/Cellar/lz4/1.10.0/include /opt/homebrew/Cellar/lzo/2.10/include /opt/homebrew/Cellar/make/4.4.1/include /opt/homebrew/Cellar/mpfr/4.2.2/include /opt/homebrew/Cellar/ncurses/6.5/include /opt/homebrew/Cellar/nettle/3.10.2/include /opt/homebrew/Cellar/openssl@3/3.6.0/include /opt/homebrew/Cellar/openssl@3/3.6.1/include /opt/homebrew/Cellar/p11-kit/0.25.10/include /opt/homebrew/Cellar/pcre/8.45/include /opt/homebrew/Cellar/pcre2/10.47/include /opt/homebrew/Cellar/pixman/0.46.4/include /opt/homebrew/Cellar/qemu/10.1.2/include /opt/homebrew/Cellar/sdl2/2.32.10/include /opt/homebrew/Cellar/sdl2_ttf/2.24.0/include /opt/homebrew/Cellar/snappy/1.2.2/include /opt/homebrew/Cellar/unbound/1.24.1/include /opt/homebrew/Cellar/vde/2.3.3/include /opt/homebrew/Cellar/xorgproto/2024.1/include /opt/homebrew/Cellar/xz/5.8.1/include /opt/homebrew/Cellar/zlib/1.3.1/include /opt/homebrew/Cellar/zstd/1.5.7/include
using macOS libpthread: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/pthread.h
using libpcre: /opt/homebrew/Cellar/pcre/8.45/lib/libpcre.dylib /opt/homebrew/Cellar/pcre/8.45/include/pcre.h
using macOS dlopen with .dylib
using libedit: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/editline/readline.h
using libpng: /opt/homebrew/Cellar/libpng/1.6.50/lib/libpng.dylib /opt/homebrew/Cellar/libpng/1.6.50/include/png.h
using zlib: /opt/homebrew/Cellar/zlib/1.3.1/lib/libz.dylib /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/zlib.h
using mman: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/mman.h


*** intel-mds Simulator being built with:
*** - compiler optimizations and no debugging support. Apple clang version 17.0.0.
*** - Per simulator tests will be run.


*** git commit id is 4d38373.
*** git commit time is 2025-10-12T07:58:51+0200.


gcc -std=c99 -U__STRICT_ANSI__ -O2 -DNDEBUG=1 -fno-strict-overflow -finline-functions -DSIM_GIT_COMMIT_ID=4d38373206cd7c0ce8b94f5e16bd4429cb96430f -DSIM_GIT_COMMIT_TIME=2025-10-12T07:58:51+0200 -DSIM_COMPILER="Apple clang version 17.0.0" -DSIM_BUILD_TOOL=simh-makefile -I . -Werror -D_GNU_SOURCE -DHAVE_PCRE_H -DHAVE_SYS_IOCTL -DSIM_HAVE_DLOPEN=dylib -DHAVE_EDITLINE -DHAVE_UTIME -DHAVE_LIBPNG -DHAVE_ZLIB -DHAVE_GLOB -DHAVE_SHM_OPEN ./Intel-Systems/common/i8080.c ./Intel-Systems/Intel-MDS/imds_sys.c ./Intel-Systems/common/i3214.c ./Intel-Systems/common/i8251.c ./Intel-Systems/common/i8253.c ./Intel-Systems/common/i8255.c ./Intel-Systems/common/i8259.c ./Intel-Systems/common/ieprom.c ./Intel-Systems/common/ioc-cont.c ./Intel-Systems/common/ipc-cont.c ./Intel-Systems/common/iram8.c ./Intel-Systems/common/isbc064.c ./Intel-Systems/common/isbc202.c ./Intel-Systems/common/isbc201.c ./Intel-Systems/common/isbc206.c ./Intel-Systems/common/isbc464.c ./Intel-Systems/common/isbc208.c ./Intel-Systems/common/port.c ./Intel-Systems/common/irq.c ./Intel-Systems/common/multibus.c ./Intel-Systems/common/mem.c ./Intel-Systems/common/sys.c ./Intel-Systems/common/zx200a.c ./scp.c ./sim_console.c ./sim_fio.c ./sim_timer.c ./sim_sock.c ./sim_tmxr.c ./sim_ether.c ./sim_tape.c ./sim_disk.c ./sim_serial.c ./sim_video.c ./sim_imd.c ./sim_card.c -I ./Intel-Systems/Intel-MDS -o BIN/intel-mds -lpthread -lpcre -L/opt/homebrew/Cellar/pcre/8.45/lib/ -ledit -lpng -lz
BIN/intel-mds RegisterSanityCheck </dev/null
Running internal register sanity checks on Intel-MDS simulator.
*** Good Registers in Intel-MDS simulator.
mark@marks-mac-mini open-simh %

On Linux, essentially the same is produced:
mark@RedLaptop:/mnt/c/Users/Mark/source/downloads/open-simh-current$ make intel-mds
lib paths are: /lib/ /lib/x86_64-linux-gnu/ /lib32/ /usr/lib/wsl/lib/ /usr/lib/
include paths are: /usr/lib/gcc/x86_64-linux-gnu/13/include /usr/local/include /usr/include/x86_64-linux-gnu /usr/include
using libm: /lib/x86_64-linux-gnu/libm.so
using librt: /lib/x86_64-linux-gnu/librt.a
using libpthread: /lib/x86_64-linux-gnu/libpthread.a /usr/include/pthread.h
using libpcre: /lib/x86_64-linux-gnu/libpcre.so /usr/include/pcre.h
using semaphore: /usr/include/semaphore.h
using libdl: /lib/x86_64-linux-gnu/libdl.a /usr/include/dlfcn.h
using libedit: /usr/include/editline/readline.h
using libpng: /lib/x86_64-linux-gnu/libpng.so /usr/include/png.h
using zlib: /lib/x86_64-linux-gnu/libz.so /usr/include/zlib.h
using mman: /usr/include/x86_64-linux-gnu/sys/mman.h


*** intel-mds Simulator being built with:
*** - compiler optimizations and no debugging support. GCC Version: 13.3.0.
*** - Per simulator tests will be run.


*** git commit id is 4d38373+uncommitted-changes.
*** git commit time is 2025-10-12T07:58:51+0200.


gcc -std=gnu99 -U__STRICT_ANSI__ -O2 -DNDEBUG=1 -finline-functions -fgcse-after-reload -fpredictive-commoning -fipa-cp-clone -fno-unsafe-loop-optimizations -fno-strict-overflow -DSIM_GIT_COMMIT_ID=4d38373206cd7c0ce8b94f5e16bd4429cb96430f+uncommitted-changes -DSIM_GIT_COMMIT_TIME=2025-10-12T07:58:51+0200 -DSIM_COMPILER="GCC Version: 13.3.0" -DSIM_BUILD_TOOL=simh-makefile -I . -Werror -D_GNU_SOURCE -DHAVE_PCRE_H -DHAVE_SEMAPHORE -DHAVE_SYS_IOCTL -DHAVE_LINUX_CDROM -DSIM_HAVE_DLOPEN=so -DHAVE_EDITLINE -DHAVE_UTIME -DHAVE_LIBPNG -DHAVE_ZLIB -DHAVE_GLOB -DHAVE_SHM_OPEN ./Intel-Systems/common/i8080.c ./Intel-Systems/Intel-MDS/imds_sys.c ./Intel-Systems/common/i3214.c ./Intel-Systems/common/i8251.c ./Intel-Systems/common/i8253.c ./Intel-Systems/common/i8255.c ./Intel-Systems/common/i8259.c ./Intel-Systems/common/ieprom.c ./Intel-Systems/common/ioc-cont.c ./Intel-Systems/common/ipc-cont.c ./Intel-Systems/common/iram8.c ./Intel-Systems/common/isbc064.c ./Intel-Systems/common/isbc202.c ./Intel-Systems/common/isbc201.c ./Intel-Systems/common/isbc206.c ./Intel-Systems/common/isbc464.c ./Intel-Systems/common/isbc208.c ./Intel-Systems/common/port.c ./Intel-Systems/common/irq.c ./Intel-Systems/common/multibus.c ./Intel-Systems/common/mem.c ./Intel-Systems/common/sys.c ./Intel-Systems/common/zx200a.c ./scp.c ./sim_console.c ./sim_fio.c ./sim_timer.c ./sim_sock.c ./sim_tmxr.c ./sim_ether.c ./sim_tape.c ./sim_disk.c ./sim_serial.c ./sim_video.c ./sim_imd.c ./sim_card.c -I ./Intel-Systems/Intel-MDS -o BIN/intel-mds -lm -lrt -lpthread -lpcre -ldl -ledit -ltermcap -lpng -lz
BIN/intel-mds RegisterSanityCheck </dev/null
Running internal register sanity checks on Intel-MDS simulator.
*** Good Registers in Intel-MDS simulator.

Using the Legacy build mechanism on Windows with Visual Studio 2022:


** Visual Studio 2022 Developer Command Prompt v17.14.29
** Copyright (c) 2025 Microsoft Corporation


[vcvarsall.bat] Environment initialized for: 'x86'

C:\Program Files\Microsoft Visual Studio\2022\Community>cd \Users\Mark\Documents

C:\Users\Mark\Documents>git clone https://github.com/open-simh/simh open-simh-current

Cloning into 'open-simh-current'...
remote: Enumerating objects: 37134, done.
remote: Counting objects: 100% (5262/5262), done.
remote: Compressing objects: 100% (392/392), done.
remote: Total 37134 (delta 4961), reused 4870 (delta 4870), pack-reused 31872 (from 2)
Receiving objects: 100% (37134/37134), 70.94 MiB | 12.58 MiB/s, done.
Resolving deltas: 100% (29033/29033), done.
Updating files: 100% (1961/1961), done.

C:\Users\Mark\Documents>cd open-simh-current

C:\Users\Mark\Documents\open-simh-current>build_vstudio.bat Intel-MDS
Converting the VS2008 projects to VS2022, this will take several (3-5) minutes
Build started 4/13/2026 6:33:43 AM.

 1>Project "C:\Users\Mark\Documents\open-simh-current\Visual Studio Projects\Sim
   h.sln" on node 1 (Intel-MDS:Rebuild target(s)).
 1>ValidateSolutionConfiguration:
     Building solution configuration "Release|Win32".
 1>Project "C:\Users\Mark\Documents\open-simh-current\Visual Studio Projects\Sim
   h.sln" (1) is building "C:\Users\Mark\Documents\open-simh-current\Visual Stud
   io Projects\Intel-MDS.vcxproj" (2) on node 1 (Rebuild target(s)).
 2>CoreClean:
     Creating directory "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\".
 2>Project "C:\Users\Mark\Documents\open-simh-current\Visual Studio Projects\Int
   el-MDS.vcxproj" (2) is building "C:\Users\Mark\Documents\open-simh-current\Vi
   sual Studio Projects\BuildROMs.vcxproj" (3) on node 1 (Clean target(s)).
 3>CoreClean:
     Creating directory "..\BIN\NT\Project\simh\BuildROMs\Win32-Release\".
 3>Done Building Project "C:\Users\Mark\Documents\open-simh-current\Visual Studi
   o Projects\BuildROMs.vcxproj" (Clean target(s)).
 2>Project "C:\Users\Mark\Documents\open-simh-current\Visual Studio Projects\Int
   el-MDS.vcxproj" (2) is building "C:\Users\Mark\Documents\open-simh-current\Vi
   sual Studio Projects\BuildROMs.vcxproj" (3:2) on node 1 (default targets).
 3>PrepareForBuild:
     Structured output is enabled. The formatting of compiler diagnostics will r
     eflect the error hierarchy. See https://aka.ms/cpp/structured-output for mo
     re details.
     Creating directory "..\BIN\NT\Win32-Release\BuildTools\".
     Creating directory "..\BIN\NT\Project\simh\BuildROMs\Win32-Release\BuildROM
     s.tlog\".
   InitializeBuildStatus:
     Creating "..\BIN\NT\Project\simh\BuildROMs\Win32-Release\BuildROMs.tlog\uns
     uccessfulbuild" because "AlwaysCreate" was specified.
     Touching "..\BIN\NT\Project\simh\BuildROMs\Win32-Release\BuildROMs.tlog\uns
     uccessfulbuild".
   PreBuildEvent:
     Check for required build dependencies & git commit id
     Pre-Build-Event.cmd "C:\Users\Mark\Documents\open-simh-current\BIN\NT\Win32
     -Release\BuildTools\BuildROMs.exe" BUILD
     :VCEnd
     Library support has been updated, forcing clean version determination
     Enabling Library support for Visual Studio 2022
     Generating updated .git-commit-id.h containing id 4d38373206cd7c0ce8b94f5e1
     6bd4429cb96430f+uncommitted-changes
   ClCompile:
     C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44
     .35207\bin\HostX86\x86\CL.exe /c /I./ /I../ /I../slirp /I../slirp_glue /I..
     /slirp_glue/qemu /I../slirp_glue/qemu/win32/include /I"../../windows-build/
     include" /I"../../windows-build/include/SDL2" /Zi /nologo /W3 /WX /diagnost
     ics:column /O2 /Ob1 /Oy /GL /D _CRT_NONSTDC_NO_WARNINGS /D "SIM_BUILD_TOOL=
     simh-Visual-Studio-Project" /D _CRT_SECURE_NO_WARNINGS /GF /Gm- /EHsc /MT /
     GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"..\BIN\NT\Projec
     t\simh\BuildROMs\Win32-Release\\" /Fd"..\BIN\NT\Project\simh\BuildROMs\Win3
     2-Release\vc143.pdb" /external:W3 /Gd /TC /analyze- /FC /errorReport:queue
     ..\sim_BuildROMs.c
     sim_BuildROMs.c
   Link:
     C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44
     .35207\bin\HostX86\x86\link.exe /ERRORREPORT:QUEUE /OUT:"..\BIN\NT\Win32-Re
     lease\BuildTools\BuildROMs.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"../../win
     dows-build/lib/Release/" libcmt.lib wsock32.lib winmm.lib Iphlpapi.lib pcre
     static.lib "SDL2-Static.lib" "SDL2_ttf-Static.lib" freetype2412MT.lib libpn
     g16.lib zlib.lib dxguid.lib Imm32.lib Version.lib Setupapi.lib kernel32.lib
      user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ol
     e32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUA
     C:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"..\BIN\NT\Win3
     2-Release\BuildTools\BuildROMs.pdb" /SUBSYSTEM:CONSOLE /STACK:"10485760","1
     0485760" /OPT:REF /OPT:ICF /LTCG /LTCGOUT:"..\BIN\NT\Project\simh\BuildROMs
     \Win32-Release\BuildROMs.iobj" /TLBID:1 /DYNAMICBASE:NO /IMPLIB:"..\BIN\NT\
     Win32-Release\BuildTools\BuildROMs.lib" /MACHINE:X86 /SAFESEH "..\BIN\NT\Pr
     oject\simh\BuildROMs\Win32-Release\sim_BuildROMs.obj"
     Generating code
     Finished generating code
     BuildROMs.vcxproj -> C:\Users\Mark\Documents\open-simh-current\BIN\NT\Win32
     -Release\BuildTools\BuildROMs.exe
   PostBuildEvent:
     Verify ROM data
     pushd ..
     "C:\Users\Mark\Documents\open-simh-current\BIN\NT\Win32-Release\BuildTools\
     BuildROMs.exe"
     popd

     :VCEnd
   FinalizeBuildStatus:
     Deleting file "..\BIN\NT\Project\simh\BuildROMs\Win32-Release\BuildROMs.tlo
     g\unsuccessfulbuild".
     Touching "..\BIN\NT\Project\simh\BuildROMs\Win32-Release\BuildROMs.tlog\Bui
     ldROMs.lastbuildstate".
 3>Done Building Project "C:\Users\Mark\Documents\open-simh-current\Visual Studi
   o Projects\BuildROMs.vcxproj" (default targets).
 2>PrepareForBuild:
     Structured output is enabled. The formatting of compiler diagnostics will r
     eflect the error hierarchy. See https://aka.ms/cpp/structured-output for mo
     re details.
     Creating directory "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\Intel-MD
     S.tlog\".
   InitializeBuildStatus:
     Creating "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\Intel-MDS.tlog\uns
     uccessfulbuild" because "AlwaysCreate" was specified.
     Touching "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\Intel-MDS.tlog\uns
     uccessfulbuild".
   PreBuildEvent:
     Build Dependent ROM include File(s) & Check for required build dependencies
      & git commit id
     Pre-Build-Event.cmd "C:\Users\Mark\Documents\open-simh-current\BIN\NT\Win32
     -Release\Intel-MDS.exe" LIBPCRE ROM BUILD LIBSDL
     :VCEnd
     Library support for Visual Studio 2022 is available
   ClCompile:
     C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44
     .35207\bin\HostX86\x86\CL.exe /c /I"../Intel-Systems/Intel-MDS/" /I"../../w
     indows-build/PCRE/include" /I./ /I../ /I"../../windows-build/include" /I"..
     /../windows-build/include/SDL2" /Zi /nologo /W3 /WX /diagnostics:column /O2
      /Ob2 /Oi /Ot /Oy /GL /D "SIM_BUILD_TOOL=simh-Visual-Studio-Project" /D _CR
     T_NONSTDC_NO_WARNINGS /D _CRT_SECURE_NO_WARNINGS /D _WINSOCK_DEPRECATED_NO_
     WARNINGS /D SIM_NEED_GIT_COMMIT_ID /D HAVE_PCRE_H /D PCRE_STATIC /GF /Gm- /
     EHsc /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"..\BIN
     \NT\Project\simh\Intel-MDS\Win32-Release\\" /Fd"..\BIN\NT\Project\simh\Inte
     l-MDS\Win32-Release\vc143.pdb" /external:W3 /Gd /TC /analyze- /FC /errorRep
     ort:queue "..\Intel-Systems\common\cpu.c" "..\Intel-Systems\common\front_pa
     nel.c" "..\Intel-Systems\common\i3214.c" "..\Intel-Systems\common\i8080.c"
     "..\Intel-Systems\common\i8251.c" "..\Intel-Systems\common\i8253.c" "..\Int
     el-Systems\common\i8255.c" "..\Intel-Systems\common\i8259.c" "..\Intel-Syst
     ems\common\ieprom.c" "..\Intel-Systems\common\ioc-cont.c" "..\Intel-Systems
     \common\ipc-cont.c" "..\Intel-Systems\common\iram8.c" "..\Intel-Systems\com
     mon\irq.c" "..\Intel-Systems\common\isbc064.c" "..\Intel-Systems\common\isb
     c201.c" "..\Intel-Systems\common\isbc202.c" "..\Intel-Systems\common\isbc20
     6.c" "..\Intel-Systems\common\isbc208.c" "..\Intel-Systems\common\isbc464.c
     " "..\Intel-Systems\common\mem.c" "..\Intel-Systems\common\monitor.c" "..\I
     ntel-Systems\common\multibus.c" "..\Intel-Systems\common\port.c" "..\Intel-
     Systems\common\sys.c" "..\Intel-Systems\common\zx200a.c" "..\Intel-Systems\
     Intel-MDS\imds_sys.c" ..\scp.c ..\sim_console.c ..\sim_disk.c ..\sim_ether.
     c ..\sim_fio.c ..\sim_serial.c ..\sim_sock.c ..\sim_tape.c ..\sim_timer.c .
     .\sim_tmxr.c ..\sim_video.c
     cpu.c
     front_panel.c
     i3214.c
     i8080.c
     i8251.c
     i8253.c
     i8255.c
     i8259.c
     ieprom.c
     ioc-cont.c
     ipc-cont.c
     iram8.c
     irq.c
     isbc064.c
     isbc201.c
     isbc202.c
     isbc206.c
     isbc208.c
     isbc464.c
     mem.c
     Compiling...
     monitor.c
     multibus.c
     port.c
     sys.c
     zx200a.c
     imds_sys.c
     scp.c
     sim_console.c
     sim_disk.c
     sim_ether.c
     sim_fio.c
     sim_serial.c
     sim_sock.c
     sim_tape.c
     sim_timer.c
     sim_tmxr.c
     sim_video.c
   Link:
     C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44
     .35207\bin\HostX86\x86\link.exe /ERRORREPORT:QUEUE /OUT:"..\BIN\NT\Win32-Re
     lease\Intel-MDS.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"../../windows-build/
     lib/Release/" libcmt.lib wsock32.lib winmm.lib Iphlpapi.lib pcrestatic.lib
     dxguid.lib Imm32.lib Version.lib kernel32.lib user32.lib gdi32.lib winspool
     .lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
     odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess=
     'false'" /manifest:embed /PDB:"..\BIN\NT\Win32-Release\Intel-MDS.pdb" /SUBS
     YSTEM:CONSOLE /STACK:"10485760","10485760" /OPT:REF /OPT:ICF /LTCG /LTCGOUT
     :"..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\Intel-MDS.iobj" /TLBID:1 /
     DYNAMICBASE:NO /IMPLIB:"..\BIN\NT\Win32-Release\Intel-MDS.lib" /MACHINE:X86
      /SAFESEH /fixed:no "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\cpu.obj
     "
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\front_panel.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\i3214.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\i8080.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\i8251.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\i8253.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\i8255.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\i8259.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\ieprom.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\ioc-cont.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\ipc-cont.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\iram8.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\irq.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\isbc064.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\isbc201.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\isbc202.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\isbc206.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\isbc208.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\isbc464.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\mem.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\monitor.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\multibus.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\port.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\sys.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\zx200a.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\imds_sys.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\scp.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\sim_console.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\sim_disk.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\sim_ether.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\sim_fio.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\sim_serial.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\sim_sock.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\sim_tape.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\sim_timer.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\sim_tmxr.obj"
     "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\sim_video.obj"
     Generating code
     Finished generating code
     Intel-MDS.vcxproj -> C:\Users\Mark\Documents\open-simh-current\BIN\NT\Win32
     -Release\Intel-MDS.exe
   PostBuildEvent:
     Running Available Tests
     Post-Build-Event.cmd Intel-Systems "C:\Users\Mark\Documents\open-simh-curre
     nt\BIN\NT\Win32-Release\Intel-MDS.exe"
     :VCEnd
      Running internal register sanity checks on Intel-MDS simulator.
     *** Good Registers in Intel-MDS simulator.

      Simulator specific tests not found for Intel-MDS simulator.
   FinalizeBuildStatus:
     Deleting file "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\Intel-MDS.tlo
     g\unsuccessfulbuild".
     Touching "..\BIN\NT\Project\simh\Intel-MDS\Win32-Release\Intel-MDS.tlog\Int
     el-MDS.lastbuildstate".
 2>Done Building Project "C:\Users\Mark\Documents\open-simh-current\Visual Studi
   o Projects\Intel-MDS.vcxproj" (Rebuild target(s)).
 1>Done Building Project "C:\Users\Mark\Documents\open-simh-current\Visual Studi
   o Projects\Simh.sln" (Intel-MDS:Rebuild target(s)).

Build succeeded.
0 Warning(s)
0 Error(s)

Time Elapsed 00:00:23.53

@LegalizeAdulthood
Copy link
Copy Markdown
Contributor Author

Please go away and play in your self-licensed sandbox. This fork was created explicitly to get away from you.

Braces around aggregate initializers for arrays are standard best practice. That's why a modern gcc warns you about it by default.

@pmetzger
Copy link
Copy Markdown

@LegalizeAdulthood So it turns out I already fixed this, not having seen your pull request!

pmetzger/zimh@ded8f7be

I've been doing a systematic sweep of compiler warnings. There are still many, many thousands to go, but I keep finding real bugs because of them, so it's worth spending the time. I anticipate having the ZIMH tree fully clean of such warnings in a week or two.

@LegalizeAdulthood
Copy link
Copy Markdown
Contributor Author

Yes, warnings should be properly addressed, not suppressed with compiler flags.

@pmetzger
Copy link
Copy Markdown

I've found a real bugs in SIMH (including places where braces were missing after an if but the indentation was deceptive, which clang and gcc will warn about) by combing through the compiler warnings. Ignoring them is foolish.

This eliminates thousands of lines of warnings from gcc on linux
@LegalizeAdulthood LegalizeAdulthood force-pushed the legalize-initializers branch from f6f62e7 to 9864363 Compare May 2, 2026 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants