From 9bdb9b620e9256e12295a8e37a6864eb64d25835 Mon Sep 17 00:00:00 2001 From: Nick Fitzgerald Date: Sat, 4 Jun 2016 18:30:31 -0700 Subject: [PATCH 1/2] Allow CPPFLAGS, CFLAGS, and LDFLAGS to be passed through configure This changes the configure script from unconditionally assigning CPPFLAGS, CFLAGS, and LDFLAGS to the empty string, to only assigning them to the empty string if they are unset. original commit: 5d52b0b10f55d489c2ad2e681361a3b8394a043c --- configure | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure b/configure index ba7bf6666a..6eee5eb35d 100755 --- a/configure +++ b/configure @@ -37,9 +37,9 @@ installman="" installschemename="scheme" installpetitename="petite" installscriptname="scheme-script" -CPPFLAGS="" -CFLAGS="" -LDFLAGS="" +: ${CPPFLAGS:=""} +: ${CFLAGS:=""} +: ${LDFLAGS:=""} case `uname` in Linux) From 39410c844762675838f4e2a9e93c38dfd6667bfe Mon Sep 17 00:00:00 2001 From: Bob Burger Date: Thu, 9 Jun 2016 12:36:05 -0400 Subject: [PATCH 2/2] - Cygwin is now used on Windows, updated mats, eliminated unused killme - added a cast to eliminate warnings in c/number.c - fixed bug in Windows version of directory-separator-predicate in s/6.ss when path-* procedures are passed a path that is not a string. - fixed bug in s/cp0.ss on Windows with $foreign-wchar?. - fixed spelling of non-existent original commit: dd1b741f7572cb0d5a6210c7c796aee7c4026040 --- .gitignore | 3 +- BUILDING | 86 ++++++++------------------------ LOG | 14 ++++++ c/Makefile.a6nt | 3 +- c/Makefile.i3nt | 3 +- c/Makefile.ta6nt | 3 +- c/Makefile.ti3nt | 7 ++- c/Mf-a6nt | 26 ++++++++-- c/Mf-base | 7 ++- c/Mf-i3nt | 26 ++++++++-- c/Mf-ta6nt | 26 ++++++++-- c/Mf-ti3nt | 26 ++++++++-- c/number.c | 2 +- c/scheme.exe.manifest | 10 ++++ configure | 12 +++++ examples/Makefile | 2 +- mats/6.ms | 19 +++---- mats/Mf-a6fb | 3 -- mats/Mf-a6le | 3 -- mats/Mf-a6nb | 3 -- mats/Mf-a6nt | 24 ++------- mats/Mf-a6ob | 3 -- mats/Mf-a6osx | 3 -- mats/Mf-a6s2 | 3 -- mats/Mf-arm32le | 3 -- mats/Mf-base | 34 ++++++------- mats/Mf-i3fb | 3 -- mats/Mf-i3le | 3 -- mats/Mf-i3nb | 3 -- mats/Mf-i3nt | 24 ++------- mats/Mf-i3ob | 3 -- mats/Mf-i3osx | 3 -- mats/Mf-i3qnx | 3 -- mats/Mf-i3s2 | 3 -- mats/Mf-ppc32le | 3 -- mats/Mf-ta6fb | 3 -- mats/Mf-ta6le | 3 -- mats/Mf-ta6nb | 3 -- mats/Mf-ta6nt | 24 ++------- mats/Mf-ta6ob | 3 -- mats/Mf-ta6osx | 3 -- mats/Mf-ta6s2 | 3 -- mats/Mf-ti3fb | 3 -- mats/Mf-ti3le | 3 -- mats/Mf-ti3nb | 3 -- mats/Mf-ti3nt | 24 ++------- mats/Mf-ti3ob | 3 -- mats/Mf-ti3osx | 3 -- mats/Mf-ti3s2 | 3 -- mats/Mf-tppc32le | 3 -- mats/bldnt.bat | 11 ---- mats/foreign.ms | 16 +----- mats/ftype.ms | 3 +- mats/killme.c | 24 --------- mats/patch-compile-0-f-f-t | 16 +++--- mats/patch-compile-0-t-f-f | 29 +++++++++++ mats/patch-compile-0-t-f-t | 12 ++--- mats/patch-compile-0-t-t-f | 28 +++++------ mats/patch-interpret-0-t-f-f | 61 ++++++++++++++-------- mats/patch-interpret-0-t-t-f | 61 ++++++++++++++-------- mats/patch-interpret-3-t-f-f | 22 ++++---- mats/patch-interpret-3-t-t-f | 22 ++++---- mats/windows.ms | 19 ++++--- release_notes/release_notes.stex | 11 +++- s/6.ss | 1 + s/Mf-a6nt | 1 - s/Mf-base | 20 ++++++-- s/Mf-i3nt | 1 - s/Mf-ta6nt | 1 - s/Mf-ti3nt | 1 - s/bldnt.bat | 8 --- s/cp0.ss | 2 +- s/syntax.ss | 4 +- workarea | 27 +++++++--- 74 files changed, 438 insertions(+), 452 deletions(-) create mode 100644 c/scheme.exe.manifest delete mode 100644 mats/bldnt.bat delete mode 100644 mats/killme.c delete mode 100644 s/bldnt.bat diff --git a/.gitignore b/.gitignore index cadfd58156..ec99067e8c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ .*.sw? .sw? /Makefile +/TAGS /a6le/ /a6nt/ /a6osx/ @@ -9,10 +10,10 @@ /i3le/ /i3nt/ /i3osx/ -/TAGS /ta6le/ /ta6nt/ /ta6osx/ /ti3le/ /ti3nt/ /ti3osx/ +/xc-*/ diff --git a/BUILDING b/BUILDING index b2361bfc38..be45135445 100644 --- a/BUILDING +++ b/BUILDING @@ -167,91 +167,45 @@ The make file supports several targets: WINDOWS -Building Chez Scheme under Windows is currently more complicated than it -should be. It requires the configure script (and through it, the workarea -script) to be run on a host system that supports a compatible shell, -e.g., bash, and the various command-line tools employed by configure -and workarea, e.g., sed and ln. For example, the host system could be a -Linux or MacOS X machine. The release directory must be made available -on a shared filesystem, e.g., samba, to a build machine running Windows. -It is not presently possible to copy the release directory to a Windows -filesystem due to the use of symbolic links. +Building Chez Scheme under Windows with Cygwin follows the +instructions above except that make install is not supported: -Prerequisite: +./configure +make -The Microsoft Visual C compiler (express or full) and associated -tools must be available on the Windows build machine, and the PATH, -INCLUDE, and LIB variables must be set up properly for those tools. +Prerequisites: -Between the configure and build steps (below), the 32-bit or 64-bit -(as appropriate) C runtime library vcruntime$V.dll must be placed into -$W/bin/$M with a symbolic link to or copy of the file in $W/bin, where -$V is the expected C runtime version for the installed Visual C compiler -(e.g., 140 for Visual Studio 2015), $W is the workarea name, and $M is -the machine type. +* Cygwin with bash, grep, make, sed, etc. +* Microsoft Visual Studio 2015 -Configure step (host machine): - -To configure the build, run: - -./configure -m=$M - -where $M is replaced with one of the Windows machine types, i.e., -i3nt for 32-bit, a6nt for 64-bit, ti3nt for threaded 32-bit, and -ta6nt for 64-bit threaded. - -Build step (Windows build machine): - -To build the executable $W\bin\$M\scheme.exe, run: - -nmake -f Makefile.i3nt - -in the directory $W\c, then recompile the Scheme sources via: - -bldnt $M - -in the directory $W/c, where $W is replaced by the name of the -workarea created by ./configure, and $M is the machine type. - -To run Chez Scheme or Petite Chez Scheme from a terminal window, -set PATH and SCHEMEHEAPDIRS: +To run Chez Scheme or Petite Chez Scheme from a Windows command prompt, +set PATH: set PATH=$W\bin\$M;%PATH% -set SCHEMEHEAPDIRS=$W/boot/$M again with $W and $M replaced with the workarea name and machine type, and start Chez Scheme with the command "scheme" or Petite Chez with the command "petite". -Chez Scheme and Petite Chez Scheme are terminal-based programs, -not GUIs. They both incorporate sophisticated command-line editing -reminiscent of tcsh but with support for expressions that span -multiple lines. +The executables are linked against the Microsoft Visual C++ run-time +library vcruntime140.dll. If you distribute the executables to a +different system, be sure to include the redistributable run-time +library. Testing under Windows The iconv tests in mats/io.ms require that a 32-bit or 64-bit (as -appropriate) libiconv-2.dll implementing GNU libiconv be located in -$W/bin/$M with a symbolic link to or copy of the file in $W/bin, where -$W and $M are the workarea name and machine type. Windows sources for +appropriate) iconv.dll, libiconv.dll, or libiconv-2.dll implementing +GNU libiconv be located in $W\bin\$M or the path. Windows sources for libiconv can be found at: http://gnuwin32.sourceforge.net/packages/libiconv.htm -If the dlls are not present, the iconv tests will fail. No other -tests should be affected. +An alternative that uses the Windows API can be found at: -The tests can be run with a default set of options at a single -optimize level by running the command: +https://github.com/win-iconv/win-iconv -bldnt $M $O +If the DLL is not present, the iconv tests will fail. No other tests +should be affected. -in $W/mats, with $W and $M replaced with the workarea name and -machine type and $O replaced by an optimize level, e.g., 0 or 3. -This produces a set of output (.mo) files in the directory -$W/mats/output-compile-$O-f-f-f. "make fastreport o=$O" can be -then used to generate a report; this step must be run on a host -system supporting GNU make and the various tools required by the -fastreport target, e.g., grep. The resulting report file -$W/mats/report-compile-$O-f-f-f should be empty if all tests -succeeded. +Use 'make test' described above to run the tests. diff --git a/LOG b/LOG index 765cbd0f39..51a95a0e07 100644 --- a/LOG +++ b/LOG @@ -186,3 +186,17 @@ negative differences to zero. added a corresponding release note. system.stex, release_notes.stex +- added a cast to eliminate a warning + c/number.c +- fixed bug in Windows version of directory-separator-predicate when + path-* procedures are passed a path that is not a string. + s/6.ss +- fixed bug in cp0 on Windows with $foreign-wchar?. + s/cp0.ss +- Cygwin is now used on Windows, updated mats, eliminated unused killme + BUILDING c/*nt c/Mf-base c/scheme.exe.manifest configure + examples/Makefile mats/6.ms mats/Mf-* mats/foreign.ms mats/ftype.ms + mats/patch-* mats/windows.ms s/Mf-*nt s/Mf-base workarea + release_notes.stex +- fixed spelling of non-existent + s/syntax.ss diff --git a/c/Makefile.a6nt b/c/Makefile.a6nt index ca1d8fb0b9..e1dd90782c 100644 --- a/c/Makefile.a6nt +++ b/c/Makefile.a6nt @@ -109,6 +109,7 @@ $(MDMain): main.c $(Exec): $(ResFile) $(MDMain) $(KernelLib) -del /f $(Exec) link /out:$(Exec) $(EXELDFLAGS) $(ResFile) $(MDMain) $(KernelLib) + mt -manifest ..\..\c\scheme.exe.manifest -outputresource:$(Exec);1 $(ResFile): scheme.rc -del /f $(ResFile) @@ -127,7 +128,7 @@ mdscheme.exe: $(ResFile) $(MDMain) $(MDKernelLib) $(ZlibInclude)\zlib.h $(ZlibInclude)\zconf.h $(MDZlibLib) $(MTZlibLib): cd ../zlib nmake /nologo -f win32/Makefile.msc AR="link /lib" CFLAGS="-nologo -MT -O2 $(LOC)" - rename zlib.lib zlibmt.lib + ren zlib.lib zlibmt.lib nmake /nologo -f win32/Makefile.msc clean nmake /nologo -f win32/Makefile.msc AR="link /lib" cd ../c diff --git a/c/Makefile.i3nt b/c/Makefile.i3nt index 4f284036f2..c7d4f8adde 100644 --- a/c/Makefile.i3nt +++ b/c/Makefile.i3nt @@ -105,6 +105,7 @@ $(MDMain): main.c $(Exec): $(ResFile) $(MDMain) $(KernelLib) -del /f $(Exec) link /out:$(Exec) $(EXELDFLAGS) $(ResFile) $(MDMain) $(KernelLib) + mt -manifest ..\..\c\scheme.exe.manifest -outputresource:$(Exec);1 $(ResFile): scheme.rc -del /f $(ResFile) @@ -123,7 +124,7 @@ mdscheme.exe: $(ResFile) $(MDMain) $(MDKernelLib) $(ZlibInclude)\zlib.h $(ZlibInclude)\zconf.h $(MDZlibLib) $(MTZlibLib): cd ../zlib nmake /nologo -f win32/Makefile.msc AR="link /lib" CFLAGS="-nologo -MT -O2 $(LOC)" - rename zlib.lib zlibmt.lib + ren zlib.lib zlibmt.lib nmake /nologo -f win32/Makefile.msc clean nmake /nologo -f win32/Makefile.msc AR="link /lib" cd ../c diff --git a/c/Makefile.ta6nt b/c/Makefile.ta6nt index 319b4b2b1b..bad20a0175 100644 --- a/c/Makefile.ta6nt +++ b/c/Makefile.ta6nt @@ -109,6 +109,7 @@ $(MDMain): main.c $(Exec): $(ResFile) $(MDMain) $(KernelLib) -del /f $(Exec) link /out:$(Exec) $(EXELDFLAGS) $(ResFile) $(MDMain) $(KernelLib) + mt -manifest ..\..\c\scheme.exe.manifest -outputresource:$(Exec);1 $(ResFile): scheme.rc -del /f $(ResFile) @@ -127,7 +128,7 @@ mdscheme.exe: $(ResFile) $(MDMain) $(MDKernelLib) $(ZlibInclude)\zlib.h $(ZlibInclude)\zconf.h $(MDZlibLib) $(MTZlibLib): cd ../zlib nmake /nologo -f win32/Makefile.msc AR="link /lib" CFLAGS="-nologo -MT -O2 $(LOC)" - rename zlib.lib zlibmt.lib + ren zlib.lib zlibmt.lib nmake /nologo -f win32/Makefile.msc clean nmake /nologo -f win32/Makefile.msc AR="link /lib" cd ../c diff --git a/c/Makefile.ti3nt b/c/Makefile.ti3nt index d7ea1396c8..570c8bce02 100644 --- a/c/Makefile.ti3nt +++ b/c/Makefile.ti3nt @@ -36,6 +36,10 @@ DLLLDFLAGS=/machine:ix86 /release /nologo # see note in Makefile.a6nt regarding stack size. we use 8MB here to be consistent. EXELDFLAGS=/machine:ix86 /incremental:no /release /nologo /STACK:0x800000 +# use following flags for debugging +# CFLAGS=/nologo /Od /W3 /MDd /I$(SchemeInclude) /I$(ZlibInclude) /DUSE_ANSI_PROTOTYPES /DI386 /DNO_UNISTD_H +# LDFLAGS=/machine:ix86 /incremental:no /release /nologo /debug + SystemLib=rpcrt4.lib ole32.lib advapi32.lib User32.lib MDZlibLib=..\zlib\zlib.lib MTZlibLib=..\zlib\zlibmt.lib @@ -101,6 +105,7 @@ $(MDMain): main.c $(Exec): $(ResFile) $(MDMain) $(KernelLib) -del /f $(Exec) link /out:$(Exec) $(EXELDFLAGS) $(ResFile) $(MDMain) $(KernelLib) + mt -manifest ..\..\c\scheme.exe.manifest -outputresource:$(Exec);1 $(ResFile): scheme.rc -del /f $(ResFile) @@ -119,7 +124,7 @@ mdscheme.exe: $(ResFile) $(MDMain) $(MDKernelLib) $(ZlibInclude)\zlib.h $(ZlibInclude)\zconf.h $(MDZlibLib) $(MTZlibLib): cd ../zlib nmake /nologo -f win32/Makefile.msc AR="link /lib" CFLAGS="-nologo -MT -O2 $(LOC)" - rename zlib.lib zlibmt.lib + ren zlib.lib zlibmt.lib nmake /nologo -f win32/Makefile.msc clean nmake /nologo -f win32/Makefile.msc AR="link /lib" cd ../c diff --git a/c/Mf-a6nt b/c/Mf-a6nt index 414bc1777e..e308de5021 100644 --- a/c/Mf-a6nt +++ b/c/Mf-a6nt @@ -20,12 +20,32 @@ clib= o = obj mdobj=windows.$o mdsrc=windows.c Makefile.$m cs.ico scheme.rc make.bat -mdclean=make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* +mdclean=vs.bat make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* include Mf-base +${Scheme}: make.bat + ./make.bat + cp ../bin/$m/scheme.exe ../bin/$m/petite.exe + # currently creating datestamp at 'make source' time datestamp.c: -make.bat: - echo "@nmake /nologo -f Makefile.$m %*" > make.bat +vs.bat: + echo '@echo off' > $@ + echo 'if "%VS140COMNTOOLS%" neq "" goto :VS' >> $@ + echo 'echo Visual Studio 2015 must be installed.' >> $@ + echo 'exit 1' >> $@ + echo ':VS' >> $@ + echo 'set INCLUDE=' >> $@ + echo 'set LIB=' >> $@ + echo 'set LIBPATH=' >> $@ + echo 'call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" amd64' >> $@ + echo '%*' >> $@ + chmod +x $@ + +make.bat: vs.bat + echo '@echo off' > $@ + echo 'set MAKEFLAGS=' >> $@ + echo 'call vs.bat nmake /f Makefile.$m /nologo %*' >> $@ + chmod +x $@ diff --git a/c/Mf-base b/c/Mf-base index 0cc49f2121..3245de6af2 100644 --- a/c/Mf-base +++ b/c/Mf-base @@ -43,7 +43,12 @@ ${Main}: ${mainobj} cp -p ${mainobj} ${Main} rootsrc=$(shell cd ../../c; echo *) -${rootsrc}: ; ln -s ../../c/$@ $@ +${rootsrc}: +ifeq ($(OS),Windows_NT) + cp -p ../../c/$@ $@ +else + ln -s ../../c/$@ $@ +endif scheme.o: itest.c scheme.o main.o: config.h diff --git a/c/Mf-i3nt b/c/Mf-i3nt index 0feb98ec4c..67f57d8204 100644 --- a/c/Mf-i3nt +++ b/c/Mf-i3nt @@ -20,12 +20,32 @@ clib= o = obj mdobj=windows.$o mdsrc=windows.c Makefile.$m cs.ico scheme.rc make.bat -mdclean=make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* +mdclean=vs.bat make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* include Mf-base +${Scheme}: make.bat + ./make.bat + cp ../bin/$m/scheme.exe ../bin/$m/petite.exe + # currently creating datestamp at 'make source' time datestamp.c: -make.bat: - echo "@nmake /nologo -f Makefile.$m %*" > make.bat +vs.bat: + echo '@echo off' > $@ + echo 'if "%VS140COMNTOOLS%" neq "" goto :VS' >> $@ + echo 'echo Visual Studio 2015 must be installed.' >> $@ + echo 'exit 1' >> $@ + echo ':VS' >> $@ + echo 'set INCLUDE=' >> $@ + echo 'set LIB=' >> $@ + echo 'set LIBPATH=' >> $@ + echo 'call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86' >> $@ + echo '%*' >> $@ + chmod +x $@ + +make.bat: vs.bat + echo '@echo off' > $@ + echo 'set MAKEFLAGS=' >> $@ + echo 'call vs.bat nmake /f Makefile.$m /nologo %*' >> $@ + chmod +x $@ diff --git a/c/Mf-ta6nt b/c/Mf-ta6nt index 35011e1daf..794b7d071c 100644 --- a/c/Mf-ta6nt +++ b/c/Mf-ta6nt @@ -20,12 +20,32 @@ clib= o = obj mdobj=windows.$o mdsrc=windows.c Makefile.$m cs.ico scheme.rc make.bat -mdclean=make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* +mdclean=vs.bat make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* include Mf-base +${Scheme}: make.bat + ./make.bat + cp ../bin/$m/scheme.exe ../bin/$m/petite.exe + # currently creating datestamp at 'make source' time datestamp.c: -make.bat: - echo "@nmake /nologo -f Makefile.$m %*" > make.bat +vs.bat: + echo '@echo off' > $@ + echo 'if "%VS140COMNTOOLS%" neq "" goto :VS' >> $@ + echo 'echo Visual Studio 2015 must be installed.' >> $@ + echo 'exit 1' >> $@ + echo ':VS' >> $@ + echo 'set INCLUDE=' >> $@ + echo 'set LIB=' >> $@ + echo 'set LIBPATH=' >> $@ + echo 'call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" amd64' >> $@ + echo '%*' >> $@ + chmod +x $@ + +make.bat: vs.bat + echo '@echo off' > $@ + echo 'set MAKEFLAGS=' >> $@ + echo 'call vs.bat nmake /f Makefile.$m /nologo %*' >> $@ + chmod +x $@ diff --git a/c/Mf-ti3nt b/c/Mf-ti3nt index 43685ecd04..f8ef2485f5 100644 --- a/c/Mf-ti3nt +++ b/c/Mf-ti3nt @@ -20,12 +20,32 @@ clib= o = obj mdobj=windows.$o mdsrc=windows.c Makefile.$m cs.ico scheme.rc make.bat -mdclean=make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* +mdclean=vs.bat make.bat scheme.res ../bin/$m/*.exp mtscheme.exe* mdscheme.exe* include Mf-base +${Scheme}: make.bat + ./make.bat + cp ../bin/$m/scheme.exe ../bin/$m/petite.exe + # currently creating datestamp at 'make source' time datestamp.c: -make.bat: - echo "@nmake /nologo -f Makefile.$m %*" > make.bat +vs.bat: + echo '@echo off' > $@ + echo 'if "%VS140COMNTOOLS%" neq "" goto :VS' >> $@ + echo 'echo Visual Studio 2015 must be installed.' >> $@ + echo 'exit 1' >> $@ + echo ':VS' >> $@ + echo 'set INCLUDE=' >> $@ + echo 'set LIB=' >> $@ + echo 'set LIBPATH=' >> $@ + echo 'call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86' >> $@ + echo '%*' >> $@ + chmod +x $@ + +make.bat: vs.bat + echo '@echo off' > $@ + echo 'set MAKEFLAGS=' >> $@ + echo 'call vs.bat nmake /f Makefile.$m /nologo %*' >> $@ + chmod +x $@ diff --git a/c/number.c b/c/number.c index 1ea57b29a2..bc2b2eb7ab 100644 --- a/c/number.c +++ b/c/number.c @@ -1179,7 +1179,7 @@ static double floatify_normalize(p, e, sign, sticky) bigit *p; iptr e; IBOOL sig /* fill in the fields */ dx.x.sign = sign; - dx.x.e = e; + dx.x.e = (UINT)e; dx.x.m1 = (UINT)(mlow >> 48 & m1mask); dx.x.m2 = (UINT)(mlow >> 32 & 0xffff); dx.x.m3 = (UINT)(mlow >> 16 & 0xffff); diff --git a/c/scheme.exe.manifest b/c/scheme.exe.manifest new file mode 100644 index 0000000000..a43d11b21a --- /dev/null +++ b/c/scheme.exe.manifest @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/configure b/configure index ba7bf6666a..6a662ed7ef 100755 --- a/configure +++ b/configure @@ -117,6 +117,16 @@ case `uname` in gzipmanpages=no fi ;; + CYGWIN_NT-*) + if uname -a | egrep 'i386|i686|amd64|athlon|x86_64' > /dev/null 2>&1 ; then + m32=i3nt + m64=a6nt + tm32=ti3nt + tm64=ta6nt + installprefix=/usr/local + installmansuffix=share/man + fi + ;; esac threads="" @@ -332,7 +342,9 @@ sed -e "s;^m=none\$;m=$m;"\ cat > $w/c/config.h << END #define SCHEME_SCRIPT "$installscriptname" +#ifndef WIN32 #define DEFAULT_HEAP_PATH "$installlib/csv%v/%m" +#endif END cat > $w/c/Mf-config << END diff --git a/examples/Makefile b/examples/Makefile index c3f50434d6..80231c59e4 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -15,7 +15,7 @@ src = def.ss edit.ss fact.ss fatfib.ss fft.ss fib.ss freq.ss interpret.ss\ scons.ss setof.ss socket.ss unify.ss compat.ss obj = ${src:%.ss=%.so} -Scheme = scheme -q +Scheme = ../bin/scheme -q .SUFFIXES: .SUFFIXES: .ss .so diff --git a/mats/6.ms b/mats/6.ms index 985ec9eaa9..eb55ecdce8 100644 --- a/mats/6.ms +++ b/mats/6.ms @@ -2618,12 +2618,13 @@ (lambda () (((inspect/object fatfib) 'code) 'source-path)) list) '("../examples/fatfib.ss" 16 4)) - (equal? - (parameterize ([cd "/"] [source-directories (list (cd))]) - (call-with-values - (lambda () (((inspect/object fatfib) 'code) 'source-path)) - list)) - (list (format "~a/../examples/fatfib.ss" (cd)) 16 4)) + (or (windows?) + (equal? + (parameterize ([cd "/"] [source-directories (list (cd))]) + (call-with-values + (lambda () (((inspect/object fatfib) 'code) 'source-path)) + list)) + (list (format "~a/../examples/fatfib.ss" (cd)) 16 4))) (begin (parameterize ([source-directories (list (parameterize ([cd ".."]) (cd)))]) (load "examples/fatfib.ss" compile)) @@ -2926,11 +2927,11 @@ (and (time? (file-access-time "\\\\?\\c:\\")) (time? (file-change-time "\\\\?\\c:\\")) (time? (file-modification-time "\\\\?\\c:\\")))) - (or (embedded?) + (or (windows?) (embedded?) (time=? (file-access-time "Makefile") (file-access-time (format "Mf-~a" (machine-type))))) - (or (embedded?) + (or (windows?) (embedded?) (time=? (file-change-time "Makefile") (file-change-time (format "Mf-~a" (machine-type))))) - (or (embedded?) + (or (windows?) (embedded?) (time=? (file-modification-time "Makefile") (file-modification-time (format "Mf-~a" (machine-type))))) (error? (file-access-time "probably/not/there")) (error? (file-access-time "probably/not/there" #f)) diff --git a/mats/Mf-a6fb b/mats/Mf-a6fb index 5dee6635fb..897539c02d 100644 --- a/mats/Mf-a6fb +++ b/mats/Mf-a6fb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-a6le b/mats/Mf-a6le index 905a894e7f..70c9d25ea2 100644 --- a/mats/Mf-a6le +++ b/mats/Mf-a6le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-a6nb b/mats/Mf-a6nb index d3cc28c6a3..671b79e347 100644 --- a/mats/Mf-a6nb +++ b/mats/Mf-a6nb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-a6nt b/mats/Mf-a6nt index 59a8ad4a4b..1e3a3bfafb 100644 --- a/mats/Mf-a6nt +++ b/mats/Mf-a6nt @@ -16,27 +16,13 @@ m = a6nt fsrc = foreign1.c foreign2.c foreign3.c -ftmp = foreign1.obj foreign2.obj foreign3.obj fobj = foreign1.so -mdclean = ${ftmp} foreign1.exp foreign1.lib make.bat cat_flush.obj cat_flush.exe libiconv-2.dll -mdsrc = bldnt.bat - -MSDOS = 1 +mdclean = cat_flush.exe cat_flush.obj foreign1.exp foreign1.lib foreign1.obj foreign2.obj foreign3.obj include Mf-base -.SUFFIXES: .c .obj +foreign1.so: $(fsrc) + ../c/vs.bat cl /DWIN32 /DX86_64 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv941.lib $(fsrc) -.c.obj: ; cl -c -DWIN32 -I${Include} $*.c - -foreign1.so: $(ftmp) - link -dll -out:foreign1.so foreign1.obj foreign2.obj foreign3.obj - -make.bat: - echo "@echo off" > make.bat - echo "call blda6nt" >> make.bat - echo "call blda6nt 2" >> make.bat - echo "blda6nt 3" >> make.bat - -libiconv-2.dll: - ln -s ../bin/libiconv-2.dll . +cat_flush: cat_flush.c + ../c/vs.bat cl /DWIN32 /DX86_64 /MD /nologo $< diff --git a/mats/Mf-a6ob b/mats/Mf-a6ob index 1bac7f76ea..a70674ffa2 100644 --- a/mats/Mf-a6ob +++ b/mats/Mf-a6ob @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-a6osx b/mats/Mf-a6osx index 9355a45ba6..07f30dea78 100644 --- a/mats/Mf-a6osx +++ b/mats/Mf-a6osx @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-a6s2 b/mats/Mf-a6s2 index 5f3bd4d580..863dcbb513 100644 --- a/mats/Mf-a6s2 +++ b/mats/Mf-a6s2 @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c gcc -o cat_flush cat_flush.c - -killme: killme.c - gcc -o killme killme.c diff --git a/mats/Mf-arm32le b/mats/Mf-arm32le index b4145246cd..83b7f86b01 100644 --- a/mats/Mf-arm32le +++ b/mats/Mf-arm32le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-base b/mats/Mf-base index f1bfcca4f7..3a74048221 100644 --- a/mats/Mf-base +++ b/mats/Mf-base @@ -34,10 +34,15 @@ # For example, "make o=2 cp0=t ctb=8192" causes the mats to be run at # optimize level 2 with cp0 enabled and collect-trip-bytes set to 8192. +ifeq (${OS},Windows_NT) + dirsep = ; +else + dirsep = : +endif # Scheme is the scheme executable to test, and SCHEMEHEAPDIRS tells # it where to find its boot files Scheme = ../bin/$m/scheme -export SCHEMEHEAPDIRS=.:../boot/%m +export SCHEMEHEAPDIRS=.${dirsep}../boot/%m # Include is the directory holding scheme.h. Include = ../boot/$m @@ -188,19 +193,11 @@ errors-$(conf): ${obj} doerrors: rm -f errors-$(conf) -ifdef MSDOS - -(cd $(objdir); grep '^Error' $(objname)) | dos2unix > errors-$(conf) - -(cd $(objdir); grep '^Bug' $(objname)) | dos2unix >> errors-$(conf) - -(cd $(objdir); grep '^Warning' $(objname)) | dos2unix >> errors-$(conf) - -(cd $(objdir); grep '^Expected' $(objname)) | dos2unix\ - >> errors-$(conf) -else -(cd $(objdir); grep '^Error' $(objname)) > errors-$(conf) -(cd $(objdir); grep '^Bug' $(objname)) >> errors-$(conf) -(cd $(objdir); grep '^Warning' $(objname)) >> errors-$(conf) -(cd $(objdir); grep '^Expected' $(objname))\ >> errors-$(conf) -endif fastreport: $(MAKE) doerrors @@ -288,7 +285,7 @@ all1: ; $(MAKE) all o=1 all2: ; $(MAKE) all o=2 all3: ; $(MAKE) all o=3 -all: makescript$o $(src) oop.ss ht.ss mat.so killme cat_flush ${fobj} m4test.in m4test.out prettytest.ss ftype.h freq.in freq.out ${patchfile} examples +all: makescript$o $(src) oop.ss ht.ss mat.so cat_flush ${fobj} m4test.in m4test.out prettytest.ss ftype.h freq.in freq.out ${patchfile} examples ${Scheme} --verbose -q mat.so ${patchfile} < script.all$o $(MAKE) doerrors $(MAKE) doreport @@ -322,19 +319,20 @@ source: $(MAKE) source2 o=2 $(MAKE) source3 o=3 -source$o: ${src} mat.ss oop.ss ht.ss killme.c cat_flush.c ${fsrc} freq.in freq.out m4test.in m4test.out ${mdsrc} script.all$o prettytest.ss ftype.h +source$o: ${src} mat.ss oop.ss ht.ss cat_flush.c ${fsrc} freq.in freq.out m4test.in m4test.out script.all$o prettytest.ss ftype.h rootsrc = $(shell cd ../../mats; echo *) -${rootsrc}: ; ln -s ../../mats/$@ $@ +${rootsrc}: +ifeq ($(OS),Windows_NT) + cp -p ../../mats/$@ $@ +else + ln -s ../../mats/$@ $@ +endif prettytest.ss: rm -f prettytest.ss $(MAKE) ${prettysrc} -ifdef MSDOS - cat ${prettysrc} | unix2dos > prettytest.ss -else cat ${prettysrc} > prettytest.ss -endif bullyprettytest.ss: ${src} (cd ../s; make source) @@ -346,7 +344,7 @@ thread.mo ${objdir}/thread.mo: ${fobj} examples.mo ${objdir}/examples.mo: m4test.in m4test.out freq.in freq.out examples 6.mo ${objdir}/6.mo: prettytest.ss io.mo ${objdir}/io.mo: prettytest.ss -unix.mo ${objdir}/unix.mo io.mo ${objdir}/io.mo 6.mo ${objdir}/6.mo: cat_flush killme +unix.mo ${objdir}/unix.mo io.mo ${objdir}/io.mo 6.mo ${objdir}/6.mo: cat_flush oop.mo ${objdir}/oop.mo: oop.ss ftype.mo ${objdir}/ftype.mo: ftype.h hash.mo ${objdir}/hash.mo: ht.ss @@ -356,7 +354,7 @@ examples: prettyclean: rm -f *.o ${mdclean} *.so *.mo experr* errors* report* summary testfile* testscript\ - ${fobj} prettytest.ss killme cat_flush so_locations\ + ${fobj} prettytest.ss cat_flush so_locations\ script.all? *.html experr*.rej experr*.orig rm -rf testdir* rm -rf output-* diff --git a/mats/Mf-i3fb b/mats/Mf-i3fb index 566243fc87..d2dcdfc041 100644 --- a/mats/Mf-i3fb +++ b/mats/Mf-i3fb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-i3le b/mats/Mf-i3le index 352810ec47..0b41ce6dfb 100644 --- a/mats/Mf-i3le +++ b/mats/Mf-i3le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-i3nb b/mats/Mf-i3nb index 0f35177ed1..3f413be9c4 100644 --- a/mats/Mf-i3nb +++ b/mats/Mf-i3nb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-i3nt b/mats/Mf-i3nt index 9622908a41..66da666d24 100644 --- a/mats/Mf-i3nt +++ b/mats/Mf-i3nt @@ -16,27 +16,13 @@ m = i3nt fsrc = foreign1.c foreign2.c foreign3.c -ftmp = foreign1.obj foreign2.obj foreign3.obj fobj = foreign1.so -mdclean = ${ftmp} foreign1.exp foreign1.lib make.bat cat_flush.obj cat_flush.exe libiconv-2.dll -mdsrc = bldnt.bat - -MSDOS = 1 +mdclean = cat_flush.exe cat_flush.obj foreign1.exp foreign1.lib foreign1.obj foreign2.obj foreign3.obj include Mf-base -.SUFFIXES: .c .obj +foreign1.so: $(fsrc) + ../c/vs.bat cl /DWIN32 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv941.lib $(fsrc) -.c.obj: ; cl -c -DWIN32 -I${Include} $*.c - -foreign1.so: $(ftmp) - link -dll -out:foreign1.so foreign1.obj foreign2.obj foreign3.obj - -make.bat: - echo "@echo off" > make.bat - echo "call bldi3nt" >> make.bat - echo "call bldi3nt 2" >> make.bat - echo "bldi3nt 3" >> make.bat - -libiconv-2.dll: - ln -s ../bin/libiconv-2.dll . +cat_flush: cat_flush.c + ../c/vs.bat cl /DWIN32 /MD /nologo $< diff --git a/mats/Mf-i3ob b/mats/Mf-i3ob index bdec860401..26beb6132c 100644 --- a/mats/Mf-i3ob +++ b/mats/Mf-i3ob @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-i3osx b/mats/Mf-i3osx index 2cd098b29c..003814538a 100644 --- a/mats/Mf-i3osx +++ b/mats/Mf-i3osx @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-i3qnx b/mats/Mf-i3qnx index 8172471586..6ae4c3d54a 100644 --- a/mats/Mf-i3qnx +++ b/mats/Mf-i3qnx @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-i3s2 b/mats/Mf-i3s2 index 7492ab14f4..e806df2d39 100644 --- a/mats/Mf-i3s2 +++ b/mats/Mf-i3s2 @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c gcc -o cat_flush cat_flush.c - -killme: killme.c - gcc -o killme killme.c diff --git a/mats/Mf-ppc32le b/mats/Mf-ppc32le index a9cdb2983e..e5258158a1 100644 --- a/mats/Mf-ppc32le +++ b/mats/Mf-ppc32le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ta6fb b/mats/Mf-ta6fb index fbd0309634..cb9901a8af 100644 --- a/mats/Mf-ta6fb +++ b/mats/Mf-ta6fb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ta6le b/mats/Mf-ta6le index 5ec0acf874..393a614168 100644 --- a/mats/Mf-ta6le +++ b/mats/Mf-ta6le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ta6nb b/mats/Mf-ta6nb index 85244477d0..83eebee658 100644 --- a/mats/Mf-ta6nb +++ b/mats/Mf-ta6nb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ta6nt b/mats/Mf-ta6nt index e8d579d1f1..c355d5c3a2 100644 --- a/mats/Mf-ta6nt +++ b/mats/Mf-ta6nt @@ -16,27 +16,13 @@ m = ta6nt fsrc = foreign1.c foreign2.c foreign3.c -ftmp = foreign1.obj foreign2.obj foreign3.obj fobj = foreign1.so -mdclean = ${ftmp} foreign1.exp foreign1.lib make.bat cat_flush.obj cat_flush.exe libiconv-2.dll -mdsrc = bldnt.bat - -MSDOS = 1 +mdclean = cat_flush.exe cat_flush.obj foreign1.exp foreign1.lib foreign1.obj foreign2.obj foreign3.obj include Mf-base -.SUFFIXES: .c .obj +foreign1.so: $(fsrc) + ../c/vs.bat cl /DWIN32 /DX86_64 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv941.lib $(fsrc) -.c.obj: ; cl -c -DWIN32 -I${Include} $*.c - -foreign1.so: $(ftmp) - link -dll -out:foreign1.so foreign1.obj foreign2.obj foreign3.obj - -make.bat: - echo "@echo off" > make.bat - echo "call bldta6nt" >> make.bat - echo "call bldta6nt 2" >> make.bat - echo "bldta6nt 3" >> make.bat - -libiconv-2.dll: - ln -s ../bin/libiconv-2.dll . +cat_flush: cat_flush.c + ../c/vs.bat cl /DWIN32 /DX86_64 /MD /nologo $< diff --git a/mats/Mf-ta6ob b/mats/Mf-ta6ob index 46065924e9..b2add3ef6e 100644 --- a/mats/Mf-ta6ob +++ b/mats/Mf-ta6ob @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ta6osx b/mats/Mf-ta6osx index b8000d8cde..48171ea593 100644 --- a/mats/Mf-ta6osx +++ b/mats/Mf-ta6osx @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ta6s2 b/mats/Mf-ta6s2 index b94fdb87ba..e48dad256b 100644 --- a/mats/Mf-ta6s2 +++ b/mats/Mf-ta6s2 @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c gcc -o cat_flush cat_flush.c - -killme: killme.c - gcc -o killme killme.c diff --git a/mats/Mf-ti3fb b/mats/Mf-ti3fb index 6022ed071a..1222666467 100644 --- a/mats/Mf-ti3fb +++ b/mats/Mf-ti3fb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ti3le b/mats/Mf-ti3le index 0ba5ef764c..b1ac4f4ba3 100644 --- a/mats/Mf-ti3le +++ b/mats/Mf-ti3le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ti3nb b/mats/Mf-ti3nb index c710a75e0b..e6e27dd3d9 100644 --- a/mats/Mf-ti3nb +++ b/mats/Mf-ti3nb @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ti3nt b/mats/Mf-ti3nt index 121d7cedc7..0454725eec 100644 --- a/mats/Mf-ti3nt +++ b/mats/Mf-ti3nt @@ -16,27 +16,13 @@ m = ti3nt fsrc = foreign1.c foreign2.c foreign3.c -ftmp = foreign1.obj foreign2.obj foreign3.obj fobj = foreign1.so -mdclean = ${ftmp} foreign1.exp foreign1.lib make.bat cat_flush.obj cat_flush.exe libiconv-2.dll -mdsrc = bldnt.bat - -MSDOS = 1 +mdclean = cat_flush.exe cat_flush.obj foreign1.exp foreign1.lib foreign1.obj foreign2.obj foreign3.obj include Mf-base -.SUFFIXES: .c .obj +foreign1.so: $(fsrc) + ../c/vs.bat cl /DWIN32 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv941.lib $(fsrc) -.c.obj: ; cl -c -DWIN32 -I${Include} $*.c - -foreign1.so: $(ftmp) - link -dll -out:foreign1.so foreign1.obj foreign2.obj foreign3.obj - -make.bat: - echo "@echo off" > make.bat - echo "call bldti3nt" >> make.bat - echo "call bldti3nt 2" >> make.bat - echo "bldti3nt 3" >> make.bat - -libiconv-2.dll: - ln -s ../bin/libiconv-2.dll . +cat_flush: cat_flush.c + ../c/vs.bat cl /DWIN32 /MD /nologo $< diff --git a/mats/Mf-ti3ob b/mats/Mf-ti3ob index 5a8202851a..93e205a5be 100644 --- a/mats/Mf-ti3ob +++ b/mats/Mf-ti3ob @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ti3osx b/mats/Mf-ti3osx index 9c6dad8627..87dd308e0b 100644 --- a/mats/Mf-ti3osx +++ b/mats/Mf-ti3osx @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/Mf-ti3s2 b/mats/Mf-ti3s2 index 356fe4559e..613640576d 100644 --- a/mats/Mf-ti3s2 +++ b/mats/Mf-ti3s2 @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c gcc -o cat_flush cat_flush.c - -killme: killme.c - gcc -o killme killme.c diff --git a/mats/Mf-tppc32le b/mats/Mf-tppc32le index 943d1fa36d..b6f6d43a6a 100644 --- a/mats/Mf-tppc32le +++ b/mats/Mf-tppc32le @@ -25,6 +25,3 @@ foreign1.so: ${fsrc} ../boot/$m/scheme.h cat_flush: cat_flush.c cc -o cat_flush cat_flush.c - -killme: killme.c - cc -o killme killme.c diff --git a/mats/bldnt.bat b/mats/bldnt.bat deleted file mode 100644 index c82a8e8a79..0000000000 --- a/mats/bldnt.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo off -set m=%1 -set o=%2 -if "%o%"=="" set o=0 -echo (time (compile-file "mat")) | ..\bin\%m%\scheme -q -cl /I../boot/%m% /nologo -c -DWIN32 foreign1.c -cl /I../boot/%m% /nologo -c -DWIN32 foreign2.c -cl /I../boot/%m% /nologo -c -DWIN32 foreign3.c -cl /nologo /DWIN32 cat_flush.c -link -dll -out:foreign1.so foreign1.obj foreign2.obj foreign3.obj ..\bin\%m%\csv941.lib -..\bin\%m%\scheme -q mat.so < script.all%o% diff --git a/mats/foreign.ms b/mats/foreign.ms index 63892bd335..ac9b4913ba 100644 --- a/mats/foreign.ms +++ b/mats/foreign.ms @@ -204,21 +204,7 @@ (mat load-shared-object (file-exists? "foreign1.so") (begin (load-shared-object "foreign1.so") #t) - (begin - (load-shared-object - (let ([bindir (format "../bin/~a" (machine-type))]) - (define prefix? - (lambda (x y) - (let ([n (string-length x)]) - (and (fx<= n (string-length y)) - (let prefix? ([i 0]) - (or (fx= i n) - (and (char=? (string-ref x i) (string-ref y i)) - (prefix? (fx+ i 1))))))))) - (format "~a/~a" bindir - (or (find (lambda (s) (prefix? "vcruntime" s)) (directory-list bindir)) - (errorf #f "did not find C runtime vcruntime*.dll in ~a" bindir))))) - #t) + (begin (load-shared-object "msvcrt.dll") #t) (begin (load-shared-object "kernel32.dll") #t) (error? (load-shared-object 3)) ) diff --git a/mats/ftype.ms b/mats/ftype.ms index f8011a9dc4..bf409fd6b0 100644 --- a/mats/ftype.ms +++ b/mats/ftype.ms @@ -557,8 +557,7 @@ [(a6osx a6osx) (system (format "cc -m64 -dynamiclib -o ~a ~a" testfile.so testfile.c))] [(i3nt ti3nt a6nt ta6nt) - (system (format "cl /nologo -DWIN32 -c ~a" testfile.c)) - (system (format "link /nologo -dll -out:~a testfile-~a.obj" testfile.so testfile))] + (system (format "..\\c\\vs.bat cl /DWIN32 /Fe~a /LD /MD /nologo ~a" testfile.so testfile.c))] [(arm32le tarm32le) (system (format "cc -fPIC -shared -o ~a ~a" testfile.so testfile.c))] [else ; this should work for most intel-based systems that use gcc... diff --git a/mats/killme.c b/mats/killme.c deleted file mode 100644 index 920f8b096a..0000000000 --- a/mats/killme.c +++ /dev/null @@ -1,24 +0,0 @@ -/* killme.c - * Copyright 1984-2016 Cisco Systems, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include - -int main(argc, argv) int argc; char *argv[]; { - kill(getppid(), atoi(argv[1])); - exit(0); -} diff --git a/mats/patch-compile-0-f-f-t b/mats/patch-compile-0-f-f-t index d0d3797d4c..88c5c43641 100644 --- a/mats/patch-compile-0-f-f-t +++ b/mats/patch-compile-0-f-f-t @@ -1,7 +1,7 @@ -*** errors-compile-0-f-f-f 2015-09-22 16:26:12.225848078 -0400 ---- errors-compile-0-f-f-t 2015-09-22 16:31:41.620049291 -0400 +*** errors-compile-0-f-f-f 2016-06-06 17:53:10.623331500 -0400 +--- errors-compile-0-f-f-t 2016-06-06 18:02:37.804196600 -0400 *************** -*** 3518,3524 **** +*** 3565,3571 **** misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1". misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"". misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure". @@ -9,7 +9,7 @@ misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation oldgen". misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1". misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #". ---- 3518,3524 ---- +--- 3565,3571 ---- misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1". misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"". misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure". @@ -18,7 +18,7 @@ misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1". misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #". *************** -*** 6969,6979 **** +*** 7040,7050 **** 7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1". @@ -30,7 +30,7 @@ 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". ---- 6969,6979 ---- +--- 7040,7050 ---- 7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1". @@ -43,7 +43,7 @@ 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". *************** -*** 8319,8331 **** +*** 8406,8418 **** fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". @@ -57,7 +57,7 @@ fx.mo:Expected error in mat r6rs:fx*: "fx*: is not a fixnum". fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> is not a fixnum". fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum". ---- 8319,8331 ---- +--- 8406,8418 ---- fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum". diff --git a/mats/patch-compile-0-t-f-f b/mats/patch-compile-0-t-f-f index f32efa8736..9ca196d46b 100644 --- a/mats/patch-compile-0-t-f-f +++ b/mats/patch-compile-0-t-f-f @@ -5741,6 +5741,35 @@ foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1". foreign.mo:Expected error in mat foreign-bytevectors: "u8*->u8*: invalid foreign-procedure argument "hello"". *************** +*** 9680,9692 **** + unix.mo:Expected error in mat file-operations: "file-access-time: failed for "testlink": no such file or directory". + unix.mo:Expected error in mat file-operations: "file-change-time: failed for "testlink": no such file or directory". + unix.mo:Expected error in mat file-operations: "file-modification-time: failed for "testlink": no such file or directory". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (get-registry)". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (get-registry 1 2)". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (put-registry! "hi")". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (put-registry! 1)". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (put-registry! 1 2 3)". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (remove-registry!)". +! windows.mo:Expected error in mat registry: "incorrect argument count in call (remove-registry! 1 2)". + windows.mo:Expected error in mat registry: "get-registry: pooh is not a string". + windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string". + windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string". +--- 9680,9692 ---- + unix.mo:Expected error in mat file-operations: "file-access-time: failed for "testlink": no such file or directory". + unix.mo:Expected error in mat file-operations: "file-change-time: failed for "testlink": no such file or directory". + unix.mo:Expected error in mat file-operations: "file-modification-time: failed for "testlink": no such file or directory". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". +! windows.mo:Expected error in mat registry: "incorrect number of arguments to #". + windows.mo:Expected error in mat registry: "get-registry: pooh is not a string". + windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string". + windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string". +*************** *** 9714,9785 **** ieee.mo:Expected error in mat flonum->fixnum: "flonum->fixnum: result for -inf.0 would be outside of fixnum range". ieee.mo:Expected error in mat flonum->fixnum: "flonum->fixnum: result for +nan.0 would be outside of fixnum range". diff --git a/mats/patch-compile-0-t-f-t b/mats/patch-compile-0-t-f-t index 6abf5ae26f..f6667ba0b8 100644 --- a/mats/patch-compile-0-t-f-t +++ b/mats/patch-compile-0-t-f-t @@ -1,7 +1,7 @@ -*** errors-compile-0-t-f-f 2015-09-22 21:53:21.139384282 -0400 ---- errors-compile-0-t-f-t 2015-09-22 16:29:02.966062453 -0400 +*** errors-compile-0-t-f-f 2016-06-06 18:12:13.534516500 -0400 +--- errors-compile-0-t-f-t 2016-06-06 17:56:30.227458200 -0400 *************** -*** 3518,3524 **** +*** 3565,3571 **** misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1". misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"". misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure". @@ -9,7 +9,7 @@ misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation oldgen". misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1". misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #". ---- 3518,3524 ---- +--- 3565,3571 ---- misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1". misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"". misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure". @@ -18,7 +18,7 @@ misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1". misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #". *************** -*** 6969,6979 **** +*** 7040,7050 **** 7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1". @@ -30,7 +30,7 @@ 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". ---- 6969,6979 ---- +--- 7040,7050 ---- 7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk". 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1". diff --git a/mats/patch-compile-0-t-t-f b/mats/patch-compile-0-t-t-f index 84d19c21c3..84b68511bf 100644 --- a/mats/patch-compile-0-t-t-f +++ b/mats/patch-compile-0-t-t-f @@ -1,5 +1,5 @@ -*** errors-compile-0-t-f-f 2015-09-22 21:53:21.139384282 -0400 ---- errors-compile-0-t-t-f 2015-09-22 16:35:00.445792407 -0400 +*** errors-compile-0-t-f-f 2016-06-06 18:12:13.534516500 -0400 +--- errors-compile-0-t-t-f 2016-06-06 18:06:30.926483000 -0400 *************** *** 144,150 **** 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable b". @@ -18,7 +18,7 @@ 3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable c". 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x". *************** -*** 3560,3566 **** +*** 3607,3613 **** misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable q". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar". @@ -26,7 +26,7 @@ misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable a". ---- 3560,3566 ---- +--- 3607,3613 ---- misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable q". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar". @@ -35,7 +35,7 @@ misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable a". *************** -*** 6979,6986 **** +*** 7050,7057 **** 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat error: "a: hit me!". 7.mo:Expected error in mat error: "f: n is 0". @@ -44,7 +44,7 @@ record.mo:Expected error in mat record2: "invalid value 3 for foreign type double-float". record.mo:Expected error in mat record2: "3 is not of type #". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". ---- 6979,6986 ---- +--- 7050,7057 ---- 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat error: "a: hit me!". 7.mo:Expected error in mat error: "f: n is 0". @@ -54,7 +54,7 @@ record.mo:Expected error in mat record2: "3 is not of type #". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". *************** -*** 6988,7002 **** +*** 7059,7073 **** record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". @@ -70,7 +70,7 @@ record.mo:Expected error in mat record9: "record-reader: invalid input #f". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". ---- 6988,7002 ---- +--- 7059,7073 ---- record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". @@ -87,7 +87,7 @@ record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". *************** -*** 7009,7034 **** +*** 7080,7105 **** record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". @@ -114,7 +114,7 @@ record.mo:Expected error in mat foreign-data: "foreign-alloc: 0 is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". ---- 7009,7034 ---- +--- 7080,7105 ---- record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". @@ -142,7 +142,7 @@ record.mo:Expected error in mat foreign-data: "foreign-alloc: is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". *************** -*** 7140,7178 **** +*** 7221,7259 **** record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #". @@ -182,7 +182,7 @@ record.mo:Expected error in mat record?: "record?: 4 is not a record type descriptor". record.mo:Expected error in mat record?: "record?: a is not a record type descriptor". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor". ---- 7140,7178 ---- +--- 7221,7259 ---- record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #". @@ -223,7 +223,7 @@ record.mo:Expected error in mat record?: "record?: a is not a record type descriptor". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor". *************** -*** 7198,7233 **** +*** 7279,7314 **** record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type #". record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". @@ -260,7 +260,7 @@ record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "parent record type is sealed ex3". ---- 7198,7233 ---- +--- 7279,7314 ---- record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type #". record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". diff --git a/mats/patch-interpret-0-t-f-f b/mats/patch-interpret-0-t-f-f index d846446ae9..0e7f608d34 100644 --- a/mats/patch-interpret-0-t-f-f +++ b/mats/patch-interpret-0-t-f-f @@ -1,5 +1,5 @@ -*** errors-compile-0-t-f-f 2015-09-22 21:53:21.139384282 -0400 ---- errors-interpret-0-t-f-f 2015-09-22 16:50:31.816326497 -0400 +*** errors-compile-0-t-f-f 2016-06-06 18:12:13.534516500 -0400 +--- errors-interpret-0-t-f-f 2016-06-06 19:24:55.494488400 -0400 *************** *** 1,7 **** primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". @@ -10,12 +10,12 @@ primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: -1 is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: 0 is not a positive fixnum". --- 1,13 ---- -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 995, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 997, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1004, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1006, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1013, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1015, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 1005, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 1007, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1014, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1016, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1023, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1025, char 4 of 6.ms primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". primvars.mo:Expected error in mat make-parameter: "+: a is not a number". primvars.mo:Expected error in mat make-parameter: "incorrect number of arguments to #". @@ -169,7 +169,7 @@ 3.mo:Expected error in mat letrec: "variable f is not bound". 3.mo:Expected error in mat letrec: "attempt to reference undefined variable a". *************** -*** 3908,3923 **** +*** 3959,3974 **** 6.mo:Expected error in mat pretty-print: "incorrect number of arguments to #". 6.mo:Expected error in mat pretty-print: "pretty-format: 3 is not a symbol". 6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)". @@ -186,9 +186,26 @@ 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too few arguments for control string "abc~s" in call to fprintf at line 1, char 29 of testfile.ss". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf at line 1, char 29 of testfile.ss". 6.mo:Expected error in mat print-parameters: "write: cycle detected; proceeding with (print-graph #t)". ---- 3914,3923 ---- +--- 3965,3974 ---- *************** -*** 7151,7157 **** +*** 6914,6920 **** + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: failed for "testfile-mc-1a.ss": no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories +! 7.mo:Expected error in mat eval: "compile: 7 is not an environment". + 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". + 7.mo:Expected error in mat eval: "compile: 7 is not an environment". + 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". +--- 6914,6920 ---- + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: failed for "testfile-mc-1a.ss": no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories +! 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". + 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". + 7.mo:Expected error in mat eval: "compile: 7 is not an environment". + 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". +*************** +*** 7232,7238 **** record.mo:Expected error in mat record25: "invalid value #\9 for foreign type uptr". record.mo:Expected error in mat record25: "invalid value 10 for foreign type float". record.mo:Expected error in mat record25: "invalid value 11.0+0.0i for foreign type double". @@ -196,7 +213,7 @@ record.mo:Expected error in mat record25: "invalid value 12.0 for foreign type long-long". record.mo:Expected error in mat record25: "invalid value 13.0 for foreign type unsigned-long-long". record.mo:Expected error in mat record25: "invalid value 3.0 for foreign type int". ---- 7151,7157 ---- +--- 7232,7238 ---- record.mo:Expected error in mat record25: "invalid value #\9 for foreign type uptr". record.mo:Expected error in mat record25: "invalid value 10 for foreign type float". record.mo:Expected error in mat record25: "invalid value 11.0+0.0i for foreign type double". @@ -205,7 +222,7 @@ record.mo:Expected error in mat record25: "invalid value 13.0 for foreign type unsigned-long-long". record.mo:Expected error in mat record25: "invalid value 3.0 for foreign type int". *************** -*** 9081,9105 **** +*** 9168,9192 **** foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". @@ -231,7 +248,7 @@ foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure argument type specifier booleen". foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure argument type specifier integer-34". foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure result type specifier chare". ---- 9081,9105 ---- +--- 9168,9192 ---- foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo". @@ -258,7 +275,7 @@ foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure argument type specifier integer-34". foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure result type specifier chare". *************** -*** 9112,9143 **** +*** 9199,9230 **** foreign.mo:Expected error in mat foreign-sizeof: "incorrect number of arguments to #". foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier i-am-not-a-type". foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1". @@ -291,7 +308,7 @@ foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". ---- 9112,9143 ---- +--- 9199,9230 ---- foreign.mo:Expected error in mat foreign-sizeof: "incorrect number of arguments to #". foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier i-am-not-a-type". foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1". @@ -325,7 +342,7 @@ foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". *************** -*** 9145,9170 **** +*** 9232,9257 **** foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". @@ -352,7 +369,7 @@ foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". ---- 9145,9170 ---- +--- 9232,9257 ---- foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #". @@ -380,7 +397,7 @@ foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". *************** -*** 9175,9209 **** +*** 9262,9296 **** foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". @@ -416,7 +433,7 @@ foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". ---- 9175,9209 ---- +--- 9262,9296 ---- foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #". @@ -453,7 +470,7 @@ foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #". *************** -*** 9783,9792 **** +*** 9876,9885 **** exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". @@ -464,7 +481,7 @@ oop.mo:Expected error in mat oop: "m1: not applicable to 17". oop.mo:Expected error in mat oop: "variable -x1 is not bound". oop.mo:Expected error in mat oop: "variable -x1-set! is not bound". ---- 9783,9792 ---- +--- 9876,9885 ---- exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". diff --git a/mats/patch-interpret-0-t-t-f b/mats/patch-interpret-0-t-t-f index a5a6258045..94be1beeff 100644 --- a/mats/patch-interpret-0-t-t-f +++ b/mats/patch-interpret-0-t-t-f @@ -1,5 +1,5 @@ -*** errors-compile-0-t-t-f 2015-09-22 16:35:00.445792407 -0400 ---- errors-interpret-0-t-t-f 2015-09-22 21:53:21.211385638 -0400 +*** errors-compile-0-t-t-f 2016-06-06 18:06:30.926483000 -0400 +--- errors-interpret-0-t-t-f 2016-06-06 19:30:54.817658600 -0400 *************** *** 1,7 **** primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". @@ -10,12 +10,12 @@ primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: -1 is not a positive fixnum". primvars.mo:Expected error in mat collect-generation-radix: "collect-generation-radix: 0 is not a positive fixnum". --- 1,13 ---- -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 995, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 997, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1004, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1006, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1013, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1015, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 1005, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 1007, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1014, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1016, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1023, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1025, char 4 of 6.ms primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". primvars.mo:Expected error in mat make-parameter: "+: a is not a number". primvars.mo:Expected error in mat make-parameter: "incorrect number of arguments to #". @@ -169,7 +169,7 @@ 3.mo:Expected error in mat letrec: "variable f is not bound". 3.mo:Expected error in mat letrec: "attempt to reference undefined variable a". *************** -*** 3908,3923 **** +*** 3959,3974 **** 6.mo:Expected error in mat pretty-print: "incorrect number of arguments to #". 6.mo:Expected error in mat pretty-print: "pretty-format: 3 is not a symbol". 6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)". @@ -186,9 +186,26 @@ 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too few arguments for control string "abc~s" in call to fprintf at line 1, char 29 of testfile.ss". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf at line 1, char 29 of testfile.ss". 6.mo:Expected error in mat print-parameters: "write: cycle detected; proceeding with (print-graph #t)". ---- 3914,3923 ---- +--- 3965,3974 ---- *************** -*** 6979,6986 **** +*** 6914,6920 **** + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: failed for "testfile-mc-1a.ss": no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories +! 7.mo:Expected error in mat eval: "compile: 7 is not an environment". + 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". + 7.mo:Expected error in mat eval: "compile: 7 is not an environment". + 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". +--- 6914,6920 ---- + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: failed for "testfile-mc-1a.ss": no such file or directory + 7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories +! 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". + 7.mo:Expected error in mat eval: "interpret: 7 is not an environment". + 7.mo:Expected error in mat eval: "compile: 7 is not an environment". + 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". +*************** +*** 7050,7057 **** 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat error: "a: hit me!". 7.mo:Expected error in mat error: "f: n is 0". @@ -197,7 +214,7 @@ record.mo:Expected error in mat record2: "invalid value 3 for foreign type double-float". record.mo:Expected error in mat record2: "3 is not of type #". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". ---- 6979,6986 ---- +--- 7050,7057 ---- 7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu". 7.mo:Expected error in mat error: "a: hit me!". 7.mo:Expected error in mat error: "f: n is 0". @@ -207,7 +224,7 @@ record.mo:Expected error in mat record2: "3 is not of type #". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". *************** -*** 6988,7002 **** +*** 7059,7073 **** record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". @@ -223,7 +240,7 @@ record.mo:Expected error in mat record9: "record-reader: invalid input #f". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". ---- 6988,7002 ---- +--- 7059,7073 ---- record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". @@ -240,7 +257,7 @@ record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge". *************** -*** 7009,7034 **** +*** 7080,7105 **** record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". @@ -267,7 +284,7 @@ record.mo:Expected error in mat foreign-data: "foreign-alloc: 0 is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". ---- 7009,7034 ---- +--- 7080,7105 ---- record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type # at char 3 of #". @@ -295,7 +312,7 @@ record.mo:Expected error in mat foreign-data: "foreign-alloc: is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". *************** -*** 7140,7178 **** +*** 7221,7259 **** record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #". @@ -335,7 +352,7 @@ record.mo:Expected error in mat record?: "record?: 4 is not a record type descriptor". record.mo:Expected error in mat record?: "record?: a is not a record type descriptor". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor". ---- 7140,7178 ---- +--- 7221,7259 ---- record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #". @@ -376,7 +393,7 @@ record.mo:Expected error in mat record?: "record?: a is not a record type descriptor". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor". *************** -*** 7198,7233 **** +*** 7279,7314 **** record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type #". record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". @@ -413,7 +430,7 @@ record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "parent record type is sealed ex3". ---- 7198,7233 ---- +--- 7279,7314 ---- record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor # is not for parent of record type #". record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type #". record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point". @@ -451,7 +468,7 @@ record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: # is not a record". record.mo:Expected error in mat r6rs-records-syntactic: "parent record type is sealed ex3". *************** -*** 9783,9792 **** +*** 9876,9885 **** exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". @@ -462,7 +479,7 @@ oop.mo:Expected error in mat oop: "m1: not applicable to 17". oop.mo:Expected error in mat oop: "variable -x1 is not bound". oop.mo:Expected error in mat oop: "variable -x1-set! is not bound". ---- 9783,9792 ---- +--- 9876,9885 ---- exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))". exceptions.mo:Expected error in mat assert: "failed assertion (q ...)". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". diff --git a/mats/patch-interpret-3-t-f-f b/mats/patch-interpret-3-t-f-f index d403dd4efa..2fc10147e2 100644 --- a/mats/patch-interpret-3-t-f-f +++ b/mats/patch-interpret-3-t-f-f @@ -1,19 +1,19 @@ -*** errors-compile-3-t-f-f 2015-09-22 21:53:21.181385073 -0400 ---- errors-interpret-3-t-f-f 2015-09-22 17:23:25.166477016 -0400 +*** errors-compile-3-t-f-f 2016-06-06 20:40:53.944458100 -0400 +--- errors-interpret-3-t-f-f 2016-06-06 21:50:19.270923200 -0400 *************** *** 1,3 **** --- 1,9 ---- -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 995, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 997, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1004, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1006, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1013, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1015, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 1005, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 1007, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1014, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1016, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1023, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1025, char 4 of 6.ms 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x". 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x at line 1, char 19 of testfile.ss". - misc.mo:Expected warning in mat (argcnt load-warning): "compile: possible incorrect argument count in call (car) at line 3, char 38 of testfile.ss". + misc.mo:Expected warning in mat compile-profile: "profile-dump-list: unmodified source file "testfile.ss" not found in source directories". *************** -*** 8,22 **** +*** 12,26 **** misc.mo:Expected warning in mat (argcnt compile-warning): "compile: possible incorrect argument count in call (car (quote (a b)) (quote (c d))) at line 3, char 38 of testfile.ss". misc.mo:Expected warning in mat (argcnt compile-warning): "compile: possible incorrect argument count in call (g 7) at line 3, char 47 of testfile.ss". misc.mo:Expected warning in mat (argcnt compile-warning): "compile: possible incorrect argument count in call (g) at line 3, char 48 of testfile.ss". @@ -29,4 +29,4 @@ - 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too few arguments for control string "abc~s" in call to fprintf at line 1, char 29 of testfile.ss". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf at line 1, char 29 of testfile.ss". ---- 14,22 ---- +--- 18,26 ---- diff --git a/mats/patch-interpret-3-t-t-f b/mats/patch-interpret-3-t-t-f index e0fbfc5b15..e065edaac8 100644 --- a/mats/patch-interpret-3-t-t-f +++ b/mats/patch-interpret-3-t-t-f @@ -1,19 +1,19 @@ -*** errors-compile-3-t-t-f 2015-09-22 17:08:03.746130250 -0400 ---- errors-interpret-3-t-t-f 2015-09-22 21:53:21.233386052 -0400 +*** errors-compile-3-t-t-f 2016-06-06 20:35:36.101034000 -0400 +--- errors-interpret-3-t-t-f 2016-06-06 21:55:56.687725100 -0400 *************** *** 1,3 **** --- 1,9 ---- -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 995, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 997, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1004, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1006, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1013, char 4 of 6.ms -+ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1015, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 1 at line 1005, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 2 at line 1007, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 5 at line 1014, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 6 at line 1016, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 9 at line 1023, char 4 of 6.ms ++ 6.mo:Bug in mat cp1in-verify-format-warnings clause 10 at line 1025, char 4 of 6.ms 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x". 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x at line 1, char 19 of testfile.ss". - misc.mo:Expected warning in mat (argcnt load-warning): "compile: possible incorrect argument count in call (car) at line 3, char 38 of testfile.ss". + misc.mo:Expected warning in mat compile-profile: "profile-dump-list: unmodified source file "testfile.ss" not found in source directories". *************** -*** 8,22 **** +*** 12,26 **** misc.mo:Expected warning in mat (argcnt compile-warning): "compile: possible incorrect argument count in call (car (quote (a b)) (quote (c d))) at line 3, char 38 of testfile.ss". misc.mo:Expected warning in mat (argcnt compile-warning): "compile: possible incorrect argument count in call (g 7) at line 3, char 47 of testfile.ss". misc.mo:Expected warning in mat (argcnt compile-warning): "compile: possible incorrect argument count in call (g) at line 3, char 48 of testfile.ss". @@ -29,4 +29,4 @@ - 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too few arguments for control string "abc~s" in call to fprintf at line 1, char 29 of testfile.ss". 6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf at line 1, char 29 of testfile.ss". ---- 14,22 ---- +--- 18,26 ---- diff --git a/mats/windows.ms b/mats/windows.ms index e9e73ee0b9..ca0dcca74c 100644 --- a/mats/windows.ms +++ b/mats/windows.ms @@ -55,14 +55,19 @@ ) ) (begin ; provide expected errors + (set! bad-arg-count + (lambda (who . args) + (if (#%$suppress-primitive-inlining) + (errorf #f "incorrect number of arguments to #" who) + (errorf #f "incorrect argument count in call ~s" (cons who args))))) (mat registry - (error? (errorf #f "incorrect argument count in call (get-registry)")) - (error? (errorf #f "incorrect argument count in call (get-registry 1 2)")) - (error? (errorf #f "incorrect argument count in call (put-registry! \"hi\")")) - (error? (errorf #f "incorrect argument count in call (put-registry! 1)")) - (error? (errorf #f "incorrect argument count in call (put-registry! 1 2 3)")) - (error? (errorf #f "incorrect argument count in call (remove-registry!)")) - (error? (errorf #f "incorrect argument count in call (remove-registry! 1 2)")) + (error? (bad-arg-count 'get-registry)) + (error? (bad-arg-count 'get-registry 1 2)) + (error? (bad-arg-count 'put-registry! "hi")) + (error? (bad-arg-count 'put-registry! 1)) + (error? (bad-arg-count 'put-registry! 1 2 3)) + (error? (bad-arg-count 'remove-registry!)) + (error? (bad-arg-count 'remove-registry! 1 2)) (error? (errorf 'get-registry "pooh is not a string")) (error? (errorf 'put-registry! "3 is not a string")) (error? (errorf 'put-registry! "3 is not a string")) diff --git a/release_notes/release_notes.stex b/release_notes/release_notes.stex index ceab28e8e1..5677539d7c 100644 --- a/release_notes/release_notes.stex +++ b/release_notes/release_notes.stex @@ -2,7 +2,7 @@ \thisversion{Version 9.4.1} \thatversion{Version 8.4} -\pubmonth{May} +\pubmonth{June} \pubyear{2016} \begin{document} @@ -1465,6 +1465,15 @@ denormalized floating-point numbers. zone-offset field. [This bug dated back to Version 8.0.] +\subsection{\protect\scheme{wchar} and \protect\scheme{wchar_t} record field types fail to inline in Windows (9.4)} + +On Windows, the inliner has been fixed to handle \scheme{wchar} and +\scheme{wchar_t} record field types. + +\subsection{path-related procedures cause invalid memory reference with non-string arguments in Windows (9.4)} + +On Windows, the path-related procedures now raise an appropriate exception when the path argument is not a string. + \subsection{\protect\scheme{dynamic-wind} mistakenly enabling interrupts (9.3.3)} A bug causing \scheme{dynamic-wind} to unconditionally enable diff --git a/s/6.ss b/s/6.ss index 34260b114f..ce937c0c25 100644 --- a/s/6.ss +++ b/s/6.ss @@ -358,6 +358,7 @@ (define directory-separator-predicate (lambda (s) (if (and windows? + (string? s) (let ([n (string-length s)]) (and (fx>= n 4) (char=? (string-ref s 0) #\\) diff --git a/s/Mf-a6nt b/s/Mf-a6nt index 7302b45c5c..7af6ae94ab 100644 --- a/s/Mf-a6nt +++ b/s/Mf-a6nt @@ -15,6 +15,5 @@ m = a6nt archincludes = x86_64.ss -buildsrc = bldnt.bat include Mf-base diff --git a/s/Mf-base b/s/Mf-base index e908565f72..04da0de482 100644 --- a/s/Mf-base +++ b/s/Mf-base @@ -73,6 +73,13 @@ pps = f Scheme = ../bin/$m/scheme export SCHEMEHEAPDIRS=../boot/%m +# Define the libdirs separator character +ifeq ($(OS),Windows_NT) + dirsep = ; +else + dirsep = : +endif + ProfileDumpSource = source.pd ProfileDumpBlock = block.pd PetiteBoot = ../boot/$m/petite.boot @@ -150,7 +157,9 @@ allx: prettyclean saveboot $(MAKE) checkboot ;\ fi $(MAKE) restoreboot +ifneq ($(OS),Windows_NT) $(MAKE) resetbootlinks +endif # bootstrap runs allx if any sources have changed since the last bootstrap bootstrap: ${allsrc} @@ -158,7 +167,7 @@ bootstrap: ${allsrc} touch bootstrap # source eagerly creates links to most of the files that might be needed -source: ${allsrc} ${buildsrc} mkheader.ss script.all +source: ${allsrc} mkheader.ss script.all # profiled goes through the involved process of building a profile-optimized boot file profiled: @@ -353,10 +362,15 @@ nanopass.so: $(shell echo ../nanopass/nanopass/*) ../nanopass/nanopass.ss '(collect-request-handler (lambda () (collect 0 1)))'\ '(collect 1 2)'\ '(compile-library "../nanopass/nanopass.ss" "nanopass.so")'\ - | ${Scheme} -q --libdirs "../nanopass::." --compile-imported-libraries + | ${Scheme} -q --libdirs "../nanopass${dirsep}${dirsep}." --compile-imported-libraries rootsrc = $(shell cd ../../s; echo *) -${rootsrc}: ; ln -s ../../s/$@ $@ +${rootsrc}: +ifeq ($(OS),Windows_NT) + cp -p ../../s/$@ $@ +else + ln -s ../../s/$@ $@ +endif script.all: Mf-base diff --git a/s/Mf-i3nt b/s/Mf-i3nt index 82cc2a80da..3d262f98d1 100644 --- a/s/Mf-i3nt +++ b/s/Mf-i3nt @@ -15,6 +15,5 @@ m = i3nt archincludes = x86.ss -buildsrc = bldnt.bat include Mf-base diff --git a/s/Mf-ta6nt b/s/Mf-ta6nt index 02f3acbea5..f64a8a5d16 100644 --- a/s/Mf-ta6nt +++ b/s/Mf-ta6nt @@ -15,6 +15,5 @@ m = ta6nt archincludes = x86_64.ss -buildsrc = bldnt.bat include Mf-base diff --git a/s/Mf-ti3nt b/s/Mf-ti3nt index faa136cbd5..b04515cf7d 100644 --- a/s/Mf-ti3nt +++ b/s/Mf-ti3nt @@ -15,6 +15,5 @@ m = ti3nt archincludes = x86.ss -buildsrc = bldnt.bat include Mf-base diff --git a/s/bldnt.bat b/s/bldnt.bat deleted file mode 100644 index c77e993114..0000000000 --- a/s/bldnt.bat +++ /dev/null @@ -1,8 +0,0 @@ -@echo off -REM bldnt machine-name -echo (reset-handler abort) (base-exception-handler (lambda (c) (fresh-line) (display-condition c) (newline) (abort))) (case-sensitive #t) (optimize-level 2) (current-expand sc-expand) (generate-inspector-information #f) (subset-mode 'system) (compile-file "cmacros.ss" "cmacros.so") | ..\bin\%1\scheme -q --libdirs ..;. -echo (reset-handler abort) (base-exception-handler (lambda (c) (fresh-line) (display-condition c) (newline) (abort))) (case-sensitive #t) (optimize-level 2) (current-expand sc-expand) (generate-inspector-information #f) (subset-mode 'system) (compile-file "priminfo.ss" "priminfo.so") | ..\bin\%1\scheme -q --libdirs ..;. cmacros.so -echo (reset-handler abort) (base-exception-handler (lambda (c) (fresh-line) (display-condition c) (newline) (abort))) (case-sensitive #t) (optimize-level 2) (current-expand sc-expand) (subset-mode 'system) (compile-file "primvars.ss" "primvars.so") | ..\bin\%1\scheme -q --libdirs ..;. cmacros.so priminfo.so -echo (reset-handler abort) (base-exception-handler (lambda (c) (fresh-line) (display-condition c) (newline) (abort))) (case-sensitive #t) (optimize-level 2) (current-expand sc-expand) (subset-mode 'system) (compile-file "setup.ss" "setup.so") | ..\bin\%1\scheme -q --libdirs ..;. cmacros.so priminfo.so -echo (reset-handler abort) (base-exception-handler (lambda (c) (fresh-line) (display-condition c) (newline) (abort))) (case-sensitive #t) (optimize-level 2) (current-expand sc-expand) (generate-inspector-information #f) (collect-trip-bytes (expt 2 24)) (collect-request-handler (lambda () (collect 0 1))) (collect 1 2) (compile-library "../nanopass/nanopass.ss" "nanopass.so") | ..\bin\%1\scheme -q --libdirs "..\nanopass;;." --compile-imported-libraries -..\bin\%1\scheme -q --libdirs ..;. cmacros.so priminfo.so primvars.so setup.so --script script.all diff --git a/s/cp0.ss b/s/cp0.ss index 4eb5e9480b..e61a583d5d 100644 --- a/s/cp0.ss +++ b/s/cp0.ss @@ -2476,7 +2476,7 @@ (lambda (x) (and (char? x) (constant-case wchar-bits - [(16) (< (integer->char x) #x10000)] + [(16) (< (char->integer x) #x10000)] [(32) #t])))) ; NB: is this sufficiently tested by ftype.ms and record.ms? (define-inline 2 $foreign-wchar? diff --git a/s/syntax.ss b/s/syntax.ss index 58d58d2c65..d5a5cf58e6 100644 --- a/s/syntax.ss +++ b/s/syntax.ss @@ -4626,7 +4626,7 @@ (define-who install-library/ct-code (lambda (uid import-code visit-code) (let ([desc (get-library-descriptor uid)]) - (unless desc (sorry! who "unable to install visit code for non-existant library ~s" uid)) + (unless desc (sorry! who "unable to install visit code for non-existent library ~s" uid)) (let ([ctdesc (libdesc-ctdesc desc)]) (unless ctdesc (sorry! who "unable to install visit code for revisit-only library ~s" uid)) (ctdesc-import-code-set! ctdesc import-code) @@ -4635,7 +4635,7 @@ (define-who install-library/rt-code (lambda (uid invoke-code) (let ([desc (get-library-descriptor uid)]) - (unless desc (sorry! who "unable to install invoke code for non-existant library ~s" uid)) + (unless desc (sorry! who "unable to install invoke code for non-existent library ~s" uid)) (let ([rtdesc (libdesc-rtdesc desc)]) (unless rtdesc (sorry! who "unable to install invoke code for visit-only library ~s" uid)) (rtdesc-invoke-code-set! rtdesc invoke-code))))) diff --git a/workarea b/workarea index 6b7cb15e7b..487096fb36 100755 --- a/workarea +++ b/workarea @@ -68,6 +68,13 @@ case "$M" in *) echo "Unrecognized machine name $M"; exit 1 ;; esac +if [ "$OS" = "Windows_NT" ] +then + ln="/bin/cp -R" +else + ln="/bin/ln -s" +fi + # This shell script creates a workarea for local modifications to the # Chez Scheme source code. Invoke with the name of a machine type: # i3le, i3nt, ti3osx, etc., plus an optional workarea name. The script @@ -86,7 +93,7 @@ esac workln() { if [ ! -e $2 -a -e $1 ] ; then - /bin/ln -s $1 $2 2> /dev/null + $ln $1 $2 2> /dev/null fi } @@ -99,6 +106,13 @@ forceworkln() fi } +forceworkln2() +{ + if [ ! -e $2 ] ; then + $ln $1 $2 2> /dev/null + fi +} + # workdir directory-name workdir() { @@ -126,7 +140,7 @@ workdir $W/s (cd $W/s; workln ../../s/Mf-base Mf-base) (cd $W/s; workln ../../s/Mf-cross Mf-cross) (cd $W/s; workln ../../s/$M.def $M.def) -(cd $W/s; forceworkln $M.def machine.def) +(cd $W/s; forceworkln2 $M.def machine.def) workdir $W/mats (cd $W/mats; workln ../../mats/Mf-$M Mf-$M) @@ -191,7 +205,7 @@ workdir $W/bin/$M case $M in *nt) (cd $W/bin/$M; workln ../../../bin/$M/scheme.exe scheme.exe) - (cd $W/bin/$M; forceworkln scheme.exe petite.exe) + (cd $W/bin/$M; forceworkln2 scheme.exe petite.exe) (cd $W/bin/$M; workln ../../../bin/$M/csv941.dll csv941.dll) (cd $W/bin/$M; workln ../../../bin/$M/csv941.lib csv941.lib) ;; @@ -204,9 +218,8 @@ esac # crutch links for fingers that remember old release structure case $M in *nt) - (cd $W/bin; forceworkln $M/scheme.exe scheme.exe) - (cd $W/bin; forceworkln $M/petite.exe petite.exe) - (cd $W/bin; forceworkln $M/csv941.dll csv941.dll) + (cd $W/bin; forceworkln $M/scheme.exe scheme) + (cd $W/bin; forceworkln $M/petite.exe petite) ;; *) (cd $W/bin; forceworkln $M/scheme scheme) @@ -215,7 +228,7 @@ case $M in esac (cd $W; workln ../LOG LOG) -(cd $W; forceworkln ../nanopass nanopass) +(cd $W; forceworkln2 ../nanopass nanopass) (cd $W; workln ../makefiles/installsh installsh) (cd $W; workln ../scheme.1.in scheme.1.in)