Merge ../ChezScheme-vfasl

original commit: 78ba118cbde76dd42bc4275ccc76219e159e04d7
This commit is contained in:
Matthew Flatt 2018-12-20 17:51:38 -07:00
commit ed1d5c982d
55 changed files with 2387 additions and 746 deletions

View File

@ -11,8 +11,10 @@ matrix:
env: TARGET_MACHINE=ta6osx env: TARGET_MACHINE=ta6osx
- os: linux - os: linux
env: TARGET_MACHINE=i3le env: TARGET_MACHINE=i3le
sudo: required
- os: linux - os: linux
env: TARGET_MACHINE=ti3le env: TARGET_MACHINE=ti3le
sudo: required
- os: linux - os: linux
env: TARGET_MACHINE=a6le env: TARGET_MACHINE=a6le
- os: linux - os: linux

View File

@ -1,5 +1,8 @@
#!/bin/bash #!/bin/bash
case $TARGET_MACHINE in
*i3le) sudo apt-get -yq --no-install-suggests --no-install-recommends install uuid-dev:i386 ;;
*)
esac
./configure -m=$TARGET_MACHINE ./configure -m=$TARGET_MACHINE
exitcode=$? exitcode=$?
if [ $exitcode -ne 0 ] ; then if [ $exitcode -ne 0 ] ; then

View File

@ -42,6 +42,11 @@ Prerequisites:
* gcc * gcc
* Header files and libraries for ncurses * Header files and libraries for ncurses
* Header files and libraries for X windows * Header files and libraries for X windows
* Header files and libraries for uuid
Uninstalling on Unix-like systems is as simple as running:
sudo make uninstall
BUILDING VERSION 9.5 AND EARLIER BUILDING VERSION 9.5 AND EARLIER
@ -129,9 +134,12 @@ The make file supports several targets:
is overridden via an argument to ./configure, $W is the same as $M.) is overridden via an argument to ./configure, $W is the same as $M.)
'sudo make install' 'sudo make install'
runs the build plus installs the resulting executable, boot files, runs the build plus installs the resulting executables, boot files,
example files, and manual pages. example files, and manual pages.
'sudo make uninstall'
uninstalls the executables, boot files, example files, and manual pages.
'make test' 'make test'
runs the build plus runs a set of test programs in various different runs the build plus runs a set of test programs in various different
ways, e.g., with different compiler options. It can take 30 minutes ways, e.g., with different compiler options. It can take 30 minutes
@ -185,20 +193,23 @@ The make file supports several targets:
WINDOWS WINDOWS
Building Chez Scheme under 64-bit Windows with Cygwin or Bash/WSL Building Chez Scheme under 64-bit Windows with Cygwin or Bash/WSL
follows the instructions above, except that 'make install' is not follows the instructions above, except that 'make install' and 'make
supported, and the 'OS' environment variable must be set to uninstall' are not supported. On Bash/WSL, the build directory must be
'Windows_NT' on Bash/WSL (to indicate a build for Windows, as opposed in a location with a Windows path such as /mnt/c, and the 'OS'
to a build for Linux on Windows): environment variable must be set to 'Windows_NT' to indicate a build
for Windows, as opposed to a build for Linux on Windows:
env OS=Windows_NT ./configure env OS=Windows_NT ./configure
env OS=Windows_NT make env OS=Windows_NT make
Prerequisites: Prerequisites:
* Cygwin or Bash/WSL with bash, grep, make, sed, etc. * Cygwin or Bash/WSL with bash, git, grep, make, sed, etc.
* Microsoft Visual Studio 2017 or 2015 * Microsoft Visual Studio 2017 or 2015
* WiX Toolset (for making an install) * WiX Toolset (for making an install)
Be sure that git config core.autocrlf is set to false.
To run Chez Scheme or Petite Chez Scheme from a Windows command prompt, To run Chez Scheme or Petite Chez Scheme from a Windows command prompt,
set PATH: set PATH:
@ -221,7 +232,7 @@ make
This will create workareas and compile binaries for the a6nt, i3nt, This will create workareas and compile binaries for the a6nt, i3nt,
ta6nt, and ti3nt configurations and then include them in a single ta6nt, and ti3nt configurations and then include them in a single
Windows installer package Chez Scheme.msi. The package also includes Windows installer package Chez Scheme.exe. The package also includes
example files and the redistributable Microsoft Visual C++ run-time example files and the redistributable Microsoft Visual C++ run-time
libraries. libraries.

54
LOG
View File

@ -997,33 +997,47 @@
whose base and/or index is a local save. whose base and/or index is a local save.
cpnanopass.ss, cpnanopass.ss,
misc.ms misc.ms
- flush expand-output and expand/optimize-output ports
compile.ss
- clarify "unknown module" error message in determine-module-imports
syntax.ss
- restore the import code on reset to provide consistent error message
syntax.ss, 8.ms
- add uninstall target
Makefile.in, Makefile-workarea.in, Mf-install.in
- add PDB files for Windows
c/*nt, wininstall/*nt.wxs
- use uuid_generate on unix-like systems for S_unique_id
BUILDING, c/Mf-*le, stats.c, objects.stex, release_notes.stex
- when thread_get_room exhausts the local allocation area, it now
goes through a common path with S_get_more_room to allocate a new
local allocation area when appropriate. this can greatly reduce
the use of global allocation (and the number of tc mutex acquires
in threaded builds) when a lot of small objects are allocated by
C code with no intervening Scheme-side allocation or dirty writes.
alloc.c, types.h, externs.h
- made Windows filename handling in directory-list, file-access-time,
file-change-time, file-directory?, file-exists?, file-modification-time,
get-mode, and path-absolute more consistent with
https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file
6.ss, 6.ms, io.stex, release_notes.stex
- fix handling of calling code's address for locking around a callable,
where the cp register copy in the thread context could be changed
in the callable prep before S_call_help gets it
cpnanopass.ss, x86_64.ss, x86.ss, foreign2.c, foreign.ms
- added initialization of seginfo sorted and trigger_ephemerons fields.
segment.c
- add ordered guardians through a new optional argument to make-guardian - add ordered guardians through a new optional argument to make-guardian
prims.ss, primdata.ss, cp0.ss, cpnanopass.ss, prims.ss, primdata.ss, cp0.ss, cpnanopass.ss,
cmacros.ss, mkheader.ss, gc.c, segment.c, types.h, cmacros.ss, mkheader.ss, gc.c, segment.c, types.h,
4.ms, smgmt.stex, release_notes.stex 4.ms, smgmt.stex, release_notes.stex
- add make-arity-wrapper
cmacros.ss, cpnanopass.ss, interpret.ss, library.ss,
primdata.ss, prims.ss, gc.c, objects.stex, release_notes.stex
misc.ms, mats/patch*, mats/root*
- add object-backreferences and enable-object-backreferences as an aid - add object-backreferences and enable-object-backreferences as an aid
to debugging memory leaks to debugging memory leaks
back.ss, cmacros.ss, inspect.ss, primdata.ss, back.ss, cmacros.ss, inspect.ss, primdata.ss,
gc-oce.c, gc.c, gcwrapper.c, prim.c, scheme.c, gc-oce.c, gc.c, gcwrapper.c, prim.c, scheme.c,
globals.h, externs.h, globals.h, externs.h,
system.stex, 7.ms system.stex, 7.ms
- add make-arity-wrapper
cmacros.ss, cpnanopass.ss, interpret.ss, library.ss,
primdata.ss, prims.ss, gc.c, objects.stex, release_notes.stex
misc.ms, mats/patch*, mats/root*
- add current-generate-id and expand-omit-library-invocations, which can be
useful for avoiding library recompilation and redundant invocation checks
syntax.ss, record.ss, primdata.ss, front.ss, misc.ms, system.stex
- add support for continuation attachments
cpnanopass.ss, np-languages.ss, 4.ss, prims.ss, inspect.ss,
cmacro.ss, primdata.ss, library.ss types.ss, mkheader.ss,
alloc.c, gc.c, schsig.c, thread.c, externs.h,
4.ms, control.stex, release_notes.stex
- add hashtable-cells
newhash.ss, primdata.ss,
hash.ms, root-experr*,
objects.stex, release_notes.stex
- fix handling of calling code's address for locking around a callable,
where the cp register copy in the thread context could be changed
in the callable prep before S_call_help gets it
cpnanopass.ss, x86_64.ss, x86.ss, foreign2.c, foreign.ms

View File

@ -28,20 +28,18 @@ MDMain = ..\boot\$m\mainmd.obj
ResFile = ..\boot\$m\scheme.res ResFile = ..\boot\$m\scheme.res
# We use MD so that we can link with and load DLLs built against msvcrxxx.dll # We use MD so that we can link with and load DLLs built against msvcrxxx.dll
CFLAGS=/nologo /Ox /W3 /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DX86_64 /DWIN32 /D_CRT_SECURE_NO_WARNINGS CFLAGS=/nologo /Ox /W3 /Zi /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DX86_64 /DWIN32 /D_CRT_SECURE_NO_WARNINGS
MDCFLAGS=$(CFLAGS) /MD MDCFLAGS=$(CFLAGS) /MD
MTCFLAGS=$(CFLAGS) /MT MTCFLAGS=$(CFLAGS) /MT
DLLLDFLAGS=/machine:X64 /release /nologo DLLLDFLAGS=/debug:full /machine:X64 /nologo
# stack limit is 1MB by default. this is not enough for one of the mats in foreign.ms, which # stack limit is 1MB by default. this is not enough for one of the mats in foreign.ms, which
# builds up nested C & Scheme stack frames. 2MB seems to be enough, but we set to 16MB. # builds up nested C & Scheme stack frames. 2MB seems to be enough, but we set to 16MB.
EXELDFLAGS=/machine:X64 /incremental:no /release /nologo /STACK:0x1000000 EXELDFLAGS=/debug:full /machine:X64 /incremental:no /nologo /STACK:0x1000000
# use following flags for debugging # use following flags for debugging
# CFLAGS=/nologo /Od /W3 /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DX86_64 /DWIN32 /D_CRT_SECURE_NO_WARNINGS # CFLAGS=/nologo /Od /W3 /Zi /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DX86_64 /DWIN32 /D_CRT_SECURE_NO_WARNINGS
# MDCFLAGS=$(CFLAGS) /Zi /MDd # MDCFLAGS=$(CFLAGS) /MDd
# MTCFLAGS=$(CFLAGS) /Zi /MTd # MTCFLAGS=$(CFLAGS) /MTd
# DLLLDFLAGS=/machine:X64 /debug /nologo /nodefaultlib:msvcrt
# EXELDFLAGS=/machine:X64 /incremental:no /debug /nologo /STACK:0x1000000
SystemLib=rpcrt4.lib ole32.lib advapi32.lib User32.lib SystemLib=rpcrt4.lib ole32.lib advapi32.lib User32.lib
MDZlibLib=..\zlib\zlib.lib MDZlibLib=..\zlib\zlib.lib

View File

@ -28,16 +28,17 @@ MDMain = ..\boot\$m\mainmd.obj
ResFile = ..\boot\$m\scheme.res ResFile = ..\boot\$m\scheme.res
# We use MD so that we can link with and load DLLs built against msvcrxxx.dll # We use MD so that we can link with and load DLLs built against msvcrxxx.dll
CFLAGS=/nologo /fp:precise /Ox /W3 /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DI386 /DWIN32 /D_CRT_SECURE_NO_WARNINGS CFLAGS=/nologo /fp:precise /Ox /W3 /Zi /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DI386 /DWIN32 /D_CRT_SECURE_NO_WARNINGS
MDCFLAGS=$(CFLAGS) /MD MDCFLAGS=$(CFLAGS) /MD
MTCFLAGS=$(CFLAGS) /MT MTCFLAGS=$(CFLAGS) /MT
DLLLDFLAGS=/machine:ix86 /release /nologo DLLLDFLAGS=/debug:full /machine:ix86 /nologo
# see note in Makefile.a6nt regarding stack size. we use 8MB here to be consistent. # see note in Makefile.a6nt regarding stack size. we use 8MB here to be consistent.
EXELDFLAGS=/machine:ix86 /incremental:no /release /nologo /STACK:0x800000 EXELDFLAGS=/debug:full /machine:ix86 /incremental:no /nologo /STACK:0x800000
# use following flags for debugging # use following flags for debugging
# CFLAGS=/nologo /Od /W3 /MDd /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DI386 /DNO_UNISTD_H # CFLAGS=/nologo /fp:precise /Od /W3 /Zi /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DI386 /DWIN32 /D_CRT_SECURE_NO_WARNINGS
# LDFLAGS=/machine:ix86 /incremental:no /release /nologo /debug # MDCFLAGS=$(CFLAGS) /MDd
# MTCFLAGS=$(CFLAGS) /MTd
SystemLib=rpcrt4.lib ole32.lib advapi32.lib User32.lib SystemLib=rpcrt4.lib ole32.lib advapi32.lib User32.lib
MDZlibLib=..\zlib\zlib.lib MDZlibLib=..\zlib\zlib.lib

View File

@ -28,20 +28,18 @@ MDMain = ..\boot\$m\mainmd.obj
ResFile = ..\boot\$m\scheme.res ResFile = ..\boot\$m\scheme.res
# We use MD so that we can link with and load DLLs built against msvcrxxx.dll # We use MD so that we can link with and load DLLs built against msvcrxxx.dll
CFLAGS=/nologo /Ox /W3 /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DX86_64 /DWIN32 /D_CRT_SECURE_NO_WARNINGS CFLAGS=/nologo /Ox /W3 /Zi /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DX86_64 /DWIN32 /D_CRT_SECURE_NO_WARNINGS
MDCFLAGS=$(CFLAGS) /MD MDCFLAGS=$(CFLAGS) /MD
MTCFLAGS=$(CFLAGS) /MT MTCFLAGS=$(CFLAGS) /MT
DLLLDFLAGS=/machine:X64 /release /nologo DLLLDFLAGS=/debug:full /machine:X64 /nologo
# stack limit is 1MB by default. this is not enough for one of the mats in foreign.ms, which # stack limit is 1MB by default. this is not enough for one of the mats in foreign.ms, which
# builds up nested C & Scheme stack frames. 2MB seems to be enough, but we set to 16MB. # builds up nested C & Scheme stack frames. 2MB seems to be enough, but we set to 16MB.
EXELDFLAGS=/machine:X64 /incremental:no /release /nologo /STACK:0x1000000 EXELDFLAGS=/debug:full /machine:X64 /incremental:no /nologo /STACK:0x1000000
# use following flags for debugging # use following flags for debugging
# CFLAGS=/nologo /Od /W3 /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DX86_64 /DWIN32 /D_CRT_SECURE_NO_WARNINGS # CFLAGS=/nologo /Od /W3 /Zi /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DX86_64 /DWIN32 /D_CRT_SECURE_NO_WARNINGS
# MDCFLAGS=$(CFLAGS) /Zi /MDd # MDCFLAGS=$(CFLAGS) /MDd
# MTCFLAGS=$(CFLAGS) /Zi /MTd # MTCFLAGS=$(CFLAGS) /MTd
# DLLLDFLAGS=/machine:X64 /debug /nologo /nodefaultlib:msvcrt
# EXELDFLAGS=/machine:X64 /incremental:no /debug /nologo /STACK:0x1000000
SystemLib=rpcrt4.lib ole32.lib advapi32.lib User32.lib SystemLib=rpcrt4.lib ole32.lib advapi32.lib User32.lib
MDZlibLib=..\zlib\zlib.lib MDZlibLib=..\zlib\zlib.lib

View File

@ -28,16 +28,17 @@ MDMain = ..\boot\$m\mainmd.obj
ResFile = ..\boot\$m\scheme.res ResFile = ..\boot\$m\scheme.res
# We use MD so that we can link with and load DLLs built against msvcrxxx.dll # We use MD so that we can link with and load DLLs built against msvcrxxx.dll
CFLAGS=/nologo /fp:precise /Ox /W3 /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DI386 /DWIN32 /D_CRT_SECURE_NO_WARNINGS CFLAGS=/nologo /fp:precise /Ox /W3 /Zi /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DI386 /DWIN32 /D_CRT_SECURE_NO_WARNINGS
MDCFLAGS=$(CFLAGS) /MD MDCFLAGS=$(CFLAGS) /MD
MTCFLAGS=$(CFLAGS) /MT MTCFLAGS=$(CFLAGS) /MT
DLLLDFLAGS=/machine:ix86 /release /nologo DLLLDFLAGS=/debug:full /machine:ix86 /nologo
# see note in Makefile.a6nt regarding stack size. we use 8MB here to be consistent. # see note in Makefile.a6nt regarding stack size. we use 8MB here to be consistent.
EXELDFLAGS=/machine:ix86 /incremental:no /release /nologo /STACK:0x800000 EXELDFLAGS=/debug:full /machine:ix86 /incremental:no /nologo /STACK:0x800000
# use following flags for debugging # use following flags for debugging
# CFLAGS=/nologo /Od /W3 /MDd /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DI386 /DNO_UNISTD_H # CFLAGS=/nologo /fp:precise /Od /W3 /Zi /I$(SchemeInclude) /I..\zlib /DUSE_ANSI_PROTOTYPES /DI386 /DWIN32 /D_CRT_SECURE_NO_WARNINGS
# LDFLAGS=/machine:ix86 /incremental:no /release /nologo /debug # MDCFLAGS=$(CFLAGS) /MDd
# MTCFLAGS=$(CFLAGS) /MTd
SystemLib=rpcrt4.lib ole32.lib advapi32.lib User32.lib SystemLib=rpcrt4.lib ole32.lib advapi32.lib User32.lib
MDZlibLib=..\zlib\zlib.lib MDZlibLib=..\zlib\zlib.lib

View File

@ -16,7 +16,7 @@
m = a6le m = a6le
Cpu = X86_64 Cpu = X86_64
mdclib = -lm -ldl $(LIBNCURSES) -lrt mdclib = -lm -ldl $(LIBNCURSES) -lrt -luuid
C = ${CC} ${CPPFLAGS} -m64 -msse2 -Wpointer-arith -Wall -Wextra -Werror -Wno-implicit-fallthrough -O2 ${CFLAGS} C = ${CC} ${CPPFLAGS} -m64 -msse2 -Wpointer-arith -Wall -Wextra -Werror -Wno-implicit-fallthrough -O2 ${CFLAGS}
o = o o = o
mdsrc = i3le.c mdsrc = i3le.c

View File

@ -27,6 +27,7 @@ include Mf-base
${Scheme}: make.bat ${Scheme}: make.bat
cmd.exe /c make.bat cmd.exe /c make.bat
cp ../bin/$m/scheme.exe ../bin/$m/petite.exe cp ../bin/$m/scheme.exe ../bin/$m/petite.exe
cp ../bin/$m/scheme.pdb ../bin/$m/petite.pdb
make.bat: vs.bat make.bat: vs.bat
echo '@echo off' > $@ echo '@echo off' > $@

View File

@ -16,7 +16,7 @@
m = arm32le m = arm32le
Cpu = ARMV6 Cpu = ARMV6
mdclib = -lm -ldl $(LIBNCURSES) -lrt mdclib = -lm -ldl $(LIBNCURSES) -lrt -luuid
C = ${CC} ${CPPFLAGS} -Wpointer-arith -Wextra -Werror -Wno-implicit-fallthrough -O2 ${CFLAGS} C = ${CC} ${CPPFLAGS} -Wpointer-arith -Wextra -Werror -Wno-implicit-fallthrough -O2 ${CFLAGS}
o = o o = o
mdsrc = arm32le.c mdsrc = arm32le.c

View File

@ -23,7 +23,7 @@ Main=../boot/$m/main.$o
Scheme=../bin/$m/scheme Scheme=../bin/$m/scheme
kernelsrc=statics.c segment.c alloc.c symbol.c intern.c gcwrapper.c gc-ocd.c gc-oce.c\ kernelsrc=statics.c segment.c alloc.c symbol.c intern.c gcwrapper.c gc-ocd.c gc-oce.c\
number.c schsig.c io.c new-io.c print.c fasl.c stats.c foreign.c prim.c prim5.c flushcache.c\ number.c schsig.c io.c new-io.c print.c fasl.c vfasl.c stats.c foreign.c prim.c prim5.c flushcache.c\
schlib.c thread.c expeditor.c scheme.c schlib.c thread.c expeditor.c scheme.c
kernelobj=${kernelsrc:%.c=%.$o} ${mdobj} kernelobj=${kernelsrc:%.c=%.$o} ${mdobj}

View File

@ -16,7 +16,7 @@
m = i3le m = i3le
Cpu = I386 Cpu = I386
mdclib = -lm -ldl $(LIBNCURSES) -lrt mdclib = -lm -ldl $(LIBNCURSES) -lrt -luuid
C = ${CC} ${CPPFLAGS} -m32 -msse2 -Wpointer-arith -Wall -Wextra -Werror -Wno-implicit-fallthrough -O2 -fno-stack-protector ${CFLAGS} C = ${CC} ${CPPFLAGS} -m32 -msse2 -Wpointer-arith -Wall -Wextra -Werror -Wno-implicit-fallthrough -O2 -fno-stack-protector ${CFLAGS}
o = o o = o
mdsrc = i3le.c mdsrc = i3le.c

View File

@ -27,6 +27,7 @@ include Mf-base
${Scheme}: make.bat ${Scheme}: make.bat
cmd.exe /c make.bat cmd.exe /c make.bat
cp ../bin/$m/scheme.exe ../bin/$m/petite.exe cp ../bin/$m/scheme.exe ../bin/$m/petite.exe
cp ../bin/$m/scheme.pdb ../bin/$m/petite.pdb
make.bat: vs.bat make.bat: vs.bat
echo '@echo off' > $@ echo '@echo off' > $@

View File

@ -16,7 +16,7 @@
m = ppc32le m = ppc32le
Cpu = PPC32 Cpu = PPC32
mdclib = -lm -ldl $(LIBNCURSES) -lrt mdclib = -lm -ldl $(LIBNCURSES) -lrt -luuid
C = ${CC} ${CPPFLAGS} -m32 -Wpointer-arith -Wextra -Werror -Wno-implicit-fallthrough -O2 ${CFLAGS} C = ${CC} ${CPPFLAGS} -m32 -Wpointer-arith -Wextra -Werror -Wno-implicit-fallthrough -O2 ${CFLAGS}
o = o o = o
mdsrc = ppc32.c mdsrc = ppc32.c

View File

@ -16,7 +16,7 @@
m = ta6le m = ta6le
Cpu = X86_64 Cpu = X86_64
mdclib = -lm -ldl $(LIBNCURSES) -lpthread -lrt mdclib = -lm -ldl $(LIBNCURSES) -lpthread -lrt -luuid
C = ${CC} ${CPPFLAGS} -m64 -msse2 -Wpointer-arith -Wall -Wextra -Werror -Wno-implicit-fallthrough -O2 -D_REENTRANT -pthread ${CFLAGS} C = ${CC} ${CPPFLAGS} -m64 -msse2 -Wpointer-arith -Wall -Wextra -Werror -Wno-implicit-fallthrough -O2 -D_REENTRANT -pthread ${CFLAGS}
o = o o = o
mdsrc = i3le.c mdsrc = i3le.c

View File

@ -27,6 +27,7 @@ include Mf-base
${Scheme}: make.bat ${Scheme}: make.bat
cmd.exe /c make.bat cmd.exe /c make.bat
cp ../bin/$m/scheme.exe ../bin/$m/petite.exe cp ../bin/$m/scheme.exe ../bin/$m/petite.exe
cp ../bin/$m/scheme.pdb ../bin/$m/petite.pdb
make.bat: vs.bat make.bat: vs.bat
echo '@echo off' > $@ echo '@echo off' > $@

View File

@ -16,7 +16,7 @@
m = ti3le m = ti3le
Cpu = I386 Cpu = I386
mdclib = -lm -ldl $(LIBNCURSES) -lpthread -lrt mdclib = -lm -ldl $(LIBNCURSES) -lpthread -lrt -luuid
C = ${CC} ${CPPFLAGS} -m32 -msse2 -Wpointer-arith -Wall -Wextra -Werror -Wno-implicit-fallthrough -O2 -D_REENTRANT -pthread ${CFLAGS} C = ${CC} ${CPPFLAGS} -m32 -msse2 -Wpointer-arith -Wall -Wextra -Werror -Wno-implicit-fallthrough -O2 -D_REENTRANT -pthread ${CFLAGS}
o = o o = o
mdsrc = i3le.c mdsrc = i3le.c

View File

@ -27,6 +27,7 @@ include Mf-base
${Scheme}: make.bat ${Scheme}: make.bat
cmd.exe /c make.bat cmd.exe /c make.bat
cp ../bin/$m/scheme.exe ../bin/$m/petite.exe cp ../bin/$m/scheme.exe ../bin/$m/petite.exe
cp ../bin/$m/scheme.pdb ../bin/$m/petite.pdb
make.bat: vs.bat make.bat: vs.bat
echo '@echo off' > $@ echo '@echo off' > $@

View File

@ -16,7 +16,7 @@
m = tppc32le m = tppc32le
Cpu = PPC32 Cpu = PPC32
mdclib = -lm -ldl $(LIBNCURSES) -lpthread -lrt mdclib = -lm -ldl $(LIBNCURSES) -lpthread -lrt -luuid
C = ${CC} ${CPPFLAGS} -m32 -Wpointer-arith -Wextra -Werror -Wno-implicit-fallthrough -O2 -D_REENTRANT -pthread ${CFLAGS} C = ${CC} ${CPPFLAGS} -m32 -Wpointer-arith -Wextra -Werror -Wno-implicit-fallthrough -O2 -D_REENTRANT -pthread ${CFLAGS}
o = o o = o
mdsrc = ppc32le.c mdsrc = ppc32le.c

View File

@ -150,14 +150,6 @@ ptr S_compute_bytes_allocated(xg, xs) ptr xg; ptr xs; {
return Sunsigned(n); return Sunsigned(n);
} }
ptr S_thread_get_more_room(t, n) iptr t; iptr n; {
ptr x;
tc_mutex_acquire()
find_room(space_new, 0, t, n, x);
tc_mutex_release()
return x;
}
static void maybe_fire_collector() { static void maybe_fire_collector() {
ISPC s; ISPC s;
uptr bytes, fudge; uptr bytes, fudge;
@ -369,24 +361,29 @@ void S_scan_remembered_set() {
void S_get_more_room() { void S_get_more_room() {
ptr tc = get_thread_context(); ptr tc = get_thread_context();
ptr xp; uptr ap, eap, real_eap, type, size; ptr xp; uptr ap, type, size;
tc_mutex_acquire()
ap = (uptr)AP(tc);
eap = (uptr)EAP(tc);
real_eap = (uptr)REAL_EAP(tc);
xp = XP(tc); xp = XP(tc);
if ((type = TYPEBITS(xp)) == 0) type = typemod; if ((type = TYPEBITS(xp)) == 0) type = typemod;
size = ap - (iptr)UNTYPE(xp,type); ap = (uptr)UNTYPE(xp, type);
ap -= size; size = (uptr)((iptr)AP(tc) - (iptr)ap);
XP(tc) = S_get_more_room_help(tc, ap, type, size);
}
ptr S_get_more_room_help(ptr tc, uptr ap, uptr type, uptr size) {
ptr x; uptr eap, real_eap;
eap = (uptr)EAP(tc);
real_eap = (uptr)REAL_EAP(tc);
tc_mutex_acquire()
S_scan_dirty((ptr **)eap, (ptr **)real_eap); S_scan_dirty((ptr **)eap, (ptr **)real_eap);
eap = real_eap; eap = real_eap;
if (eap - ap >= size) { if (eap - ap >= size) {
XP(tc) = TYPE(ap, type); x = TYPE(ap, type);
ap += size; ap += size;
if (eap - ap > alloc_waste_maximum) { if (eap - ap > alloc_waste_maximum) {
AP(tc) = (ptr)ap; AP(tc) = (ptr)ap;
@ -398,20 +395,22 @@ void S_get_more_room() {
} else if (eap - ap > alloc_waste_maximum) { } else if (eap - ap > alloc_waste_maximum) {
AP(tc) = (ptr)ap; AP(tc) = (ptr)ap;
EAP(tc) = (ptr)eap; EAP(tc) = (ptr)eap;
find_room(space_new, 0, type, size, XP(tc)); find_room(space_new, 0, type, size, x);
} else { } else {
S_G.bytes_of_space[space_new][0] -= eap - ap; S_G.bytes_of_space[space_new][0] -= eap - ap;
S_reset_allocation_pointer(tc); S_reset_allocation_pointer(tc);
ap = (uptr)AP(tc); ap = (uptr)AP(tc);
if (size + alloc_waste_maximum <= (uptr)EAP(tc) - ap) { if (size + alloc_waste_maximum <= (uptr)EAP(tc) - ap) {
XP(tc) = TYPE(ap, type); x = TYPE(ap, type);
AP(tc) = (ptr)(ap + size); AP(tc) = (ptr)(ap + size);
} else { } else {
find_room(space_new, 0, type, size, XP(tc)); find_room(space_new, 0, type, size, x);
} }
} }
tc_mutex_release() tc_mutex_release()
return x;
} }
/* S_cons_in is always called with mutex */ /* S_cons_in is always called with mutex */

View File

@ -59,6 +59,7 @@ extern void S_dirty_set PROTO((ptr *loc, ptr x));
extern void S_scan_dirty PROTO((ptr **p, ptr **endp)); extern void S_scan_dirty PROTO((ptr **p, ptr **endp));
extern void S_scan_remembered_set PROTO((void)); extern void S_scan_remembered_set PROTO((void));
extern void S_get_more_room PROTO((void)); extern void S_get_more_room PROTO((void));
extern ptr S_get_more_room_help PROTO((ptr tc, uptr ap, uptr type, uptr size));
extern ptr S_cons_in PROTO((ISPC s, IGEN g, ptr car, ptr cdr)); extern ptr S_cons_in PROTO((ISPC s, IGEN g, ptr car, ptr cdr));
extern ptr S_symbol PROTO((ptr name)); extern ptr S_symbol PROTO((ptr name));
extern ptr S_rational PROTO((ptr n, ptr d)); extern ptr S_rational PROTO((ptr n, ptr d));
@ -89,7 +90,6 @@ extern ptr S_string PROTO((const char *s, iptr n));
extern ptr S_bignum PROTO((iptr n, IBOOL sign)); extern ptr S_bignum PROTO((iptr n, IBOOL sign));
extern ptr S_code PROTO((ptr tc, iptr type, iptr n)); extern ptr S_code PROTO((ptr tc, iptr type, iptr n));
extern ptr S_relocation_table PROTO((iptr n)); extern ptr S_relocation_table PROTO((iptr n));
extern ptr S_thread_get_more_room PROTO((iptr t, iptr n));
/* fasl.c */ /* fasl.c */
extern void S_fasl_init PROTO((void)); extern void S_fasl_init PROTO((void));
@ -102,6 +102,13 @@ char *S_lookup_machine_type PROTO((uptr n));
extern void S_set_code_obj PROTO((char *who, IFASLCODE typ, ptr p, iptr n, extern void S_set_code_obj PROTO((char *who, IFASLCODE typ, ptr p, iptr n,
ptr x, iptr o)); ptr x, iptr o));
extern ptr S_get_code_obj PROTO((IFASLCODE typ, ptr p, iptr n, iptr o)); extern ptr S_get_code_obj PROTO((IFASLCODE typ, ptr p, iptr n, iptr o));
extern int S_fasl_stream_read PROTO((void *stream, octet *dest, iptr n));
extern int S_fasl_intern_rtd(ptr *x);
/* vfasl.c */
extern ptr S_to_vfasl PROTO((ptr v));
extern ptr S_vfasl PROTO((ptr bv, void *stream, iptr len));
extern ptr S_vfasl_to PROTO((ptr v));
/* flushcache.c */ /* flushcache.c */
extern void S_record_code_mod PROTO((ptr tc, uptr addr, uptr bytes)); extern void S_record_code_mod PROTO((ptr tc, uptr addr, uptr bytes));
@ -153,6 +160,7 @@ extern void S_resize_oblist PROTO((void));
extern ptr S_intern PROTO((const unsigned char *s)); extern ptr S_intern PROTO((const unsigned char *s));
extern ptr S_intern_sc PROTO((const string_char *s, iptr n, ptr name_str)); extern ptr S_intern_sc PROTO((const string_char *s, iptr n, ptr name_str));
extern ptr S_intern3 PROTO((const string_char *pname, iptr plen, const string_char *uname, iptr ulen, ptr pname_str, ptr uame_str)); extern ptr S_intern3 PROTO((const string_char *pname, iptr plen, const string_char *uname, iptr ulen, ptr pname_str, ptr uame_str));
extern ptr S_intern4 PROTO((ptr sym));
extern void S_intern_gensym PROTO((ptr g)); extern void S_intern_gensym PROTO((ptr g));
extern void S_retrofit_nonprocedure_code PROTO((void)); extern void S_retrofit_nonprocedure_code PROTO((void));

View File

@ -237,7 +237,7 @@ static void ppc32_set_jump PROTO((void *address, uptr item, IBOOL callp));
static uptr ppc32_get_jump PROTO((void *address)); static uptr ppc32_get_jump PROTO((void *address));
#endif /* PPC32 */ #endif /* PPC32 */
#ifdef X86_64 #ifdef X86_64
static void x86_64_set_jump PROTO((void *address, uptr item, IBOOL callp)); static void x86_64_set_jump PROTO((void *address, uptr item, IBOOL callp, IBOOL force_abs));
static uptr x86_64_get_jump PROTO((void *address)); static uptr x86_64_get_jump PROTO((void *address));
#endif /* X86_64 */ #endif /* X86_64 */
#ifdef SPARC64 #ifdef SPARC64
@ -374,6 +374,11 @@ static INT uf_read(unbufFaslFile uf, octet *s, iptr n) {
return 0; return 0;
} }
int S_fasl_stream_read(void *stream, octet *dest, iptr n)
{
return uf_read((unbufFaslFile)stream, dest, n);
}
static octet uf_bytein(unbufFaslFile uf) { static octet uf_bytein(unbufFaslFile uf) {
octet buf[1]; octet buf[1];
if (uf_read(uf, buf, 1) < 0) if (uf_read(uf, buf, 1) < 0)
@ -451,16 +456,21 @@ static ptr fasl_entry(ptr tc, unbufFaslFile uf) {
ty = uf_bytein(uf); ty = uf_bytein(uf);
} }
if (ty != fasl_type_fasl_size) if ((ty != fasl_type_fasl_size)
&& (ty != fasl_type_vfasl_size))
S_error1("", "malformed fasl-object header found in ~a", uf->path); S_error1("", "malformed fasl-object header found in ~a", uf->path);
ffo.size = uf_uptrin(uf); ffo.size = uf_uptrin(uf);
ffo.buf = buf; if (ty == fasl_type_vfasl_size) {
ffo.next = ffo.end = ffo.buf; x = S_vfasl((ptr)0, uf, ffo.size);
ffo.uf = uf; } else {
ffo.buf = buf;
faslin(tc, &x, S_G.null_vector, &strbuf, &ffo); ffo.next = ffo.end = ffo.buf;
ffo.uf = uf;
faslin(tc, &x, S_G.null_vector, &strbuf, &ffo);
}
S_flush_instruction_cache(tc); S_flush_instruction_cache(tc);
return x; return x;
@ -694,27 +704,10 @@ static void faslin(ptr tc, ptr *x, ptr t, ptr *pstrbuf, faslFile f) {
*x = rtd; *x = rtd;
return; return;
} case fasl_type_rtd: { } case fasl_type_rtd: {
ptr rtd, rtd_uid, plist, ls;
fasl_record(tc, x, t, pstrbuf, f); fasl_record(tc, x, t, pstrbuf, f);
rtd = *x; if (S_fasl_intern_rtd(x) < 0) {
rtd_uid = RECORDDESCUID(rtd); S_error2("", "incompatible record type ~s in ~a", RECORDDESCNAME(*x), f->uf->path);
/* see if uid's property list already registers an rtd */
plist = SYMSPLIST(rtd_uid);
for (ls = plist; ls != Snil; ls = Scdr(Scdr(ls))) {
if (Scar(ls) == S_G.rtd_key) {
ptr old_rtd = Scar(Scdr(ls));
/* if so, check new rtd against old rtd and return old rtd */
if (!rtd_equiv(rtd, old_rtd))
S_error2("", "incompatible record type ~s in ~a", RECORDDESCNAME(rtd), f->uf->path);
*x = old_rtd;
return;
}
} }
/* if not, register it */
SETSYMSPLIST(rtd_uid, Scons(S_G.rtd_key, Scons(rtd, plist)));
return; return;
} }
case fasl_type_record: { case fasl_type_record: {
@ -1106,6 +1099,33 @@ static void fasl_record(ptr tc, ptr *x, ptr t, ptr *pstrbuf, faslFile f) {
} }
} }
/* Result: 0 => interned; 1 => replaced; -1 => inconsistent */
int S_fasl_intern_rtd(ptr *x)
{
ptr rtd, rtd_uid, plist, ls;
rtd = *x;
rtd_uid = RECORDDESCUID(rtd);
/* see if uid's property list already registers an rtd */
plist = SYMSPLIST(rtd_uid);
for (ls = plist; ls != Snil; ls = Scdr(Scdr(ls))) {
if (Scar(ls) == S_G.rtd_key) {
ptr old_rtd = Scar(Scdr(ls));
/* if so, check new rtd against old rtd and return old rtd */
if (!rtd_equiv(rtd, old_rtd))
return -1;
else
*x = old_rtd;
return 1;
}
}
/* if not, register it */
SETSYMSPLIST(rtd_uid, Scons(S_G.rtd_key, Scons(rtd, plist)));
return 0;
}
/* limited version for checking rtd fields */ /* limited version for checking rtd fields */
static IBOOL equalp(x, y) ptr x, y; { static IBOOL equalp(x, y) ptr x, y; {
if (x == y) return 1; if (x == y) return 1;
@ -1121,7 +1141,10 @@ static IBOOL equalp(x, y) ptr x, y; {
} }
static IBOOL rtd_equiv(x, y) ptr x, y; { static IBOOL rtd_equiv(x, y) ptr x, y; {
return RECORDINSTTYPE(x) == RECORDINSTTYPE(y) && return ((RECORDINSTTYPE(x) == RECORDINSTTYPE(y))
/* recognize `base-rtd` shape: */
|| ((RECORDINSTTYPE(x) == x)
&& (RECORDINSTTYPE(y) == y))) &&
RECORDDESCPARENT(x) == RECORDDESCPARENT(y) && RECORDDESCPARENT(x) == RECORDDESCPARENT(y) &&
equalp(RECORDDESCPM(x), RECORDDESCPM(y)) && equalp(RECORDDESCPM(x), RECORDDESCPM(y)) &&
equalp(RECORDDESCMPM(x), RECORDDESCMPM(y)) && equalp(RECORDDESCMPM(x), RECORDDESCMPM(y)) &&
@ -1164,7 +1187,7 @@ void S_set_code_obj(who, typ, p, n, x, o) char *who; IFASLCODE typ; iptr n, o; p
address = (void *)((uptr)p + n); address = (void *)((uptr)p + n);
item = (uptr)x + o; item = (uptr)x + o;
switch (typ) { switch (typ & ~reloc_force_abs) {
case reloc_abs: case reloc_abs:
*(uptr *)address = item; *(uptr *)address = item;
break; break;
@ -1198,10 +1221,10 @@ void S_set_code_obj(who, typ, p, n, x, o) char *who; IFASLCODE typ; iptr n, o; p
#endif /* I386 */ #endif /* I386 */
#ifdef X86_64 #ifdef X86_64
case reloc_x86_64_jump: case reloc_x86_64_jump:
x86_64_set_jump(address, item, 0); x86_64_set_jump(address, item, 0, typ & reloc_force_abs);
break; break;
case reloc_x86_64_call: case reloc_x86_64_call:
x86_64_set_jump(address, item, 1); x86_64_set_jump(address, item, 1, typ & reloc_force_abs);
break; break;
#endif /* X86_64 */ #endif /* X86_64 */
#ifdef SPARC64 #ifdef SPARC64
@ -1241,7 +1264,7 @@ ptr S_get_code_obj(typ, p, n, o) IFASLCODE typ; iptr n, o; ptr p; {
void *address; uptr item; void *address; uptr item;
address = (void *)((uptr)p + n); address = (void *)((uptr)p + n);
switch (typ) { switch (typ & ~reloc_force_abs) {
case reloc_abs: case reloc_abs:
item = *(uptr *)address; item = *(uptr *)address;
break; break;
@ -1419,9 +1442,9 @@ static uptr ppc32_get_jump(void *address) {
#endif /* PPC32 */ #endif /* PPC32 */
#ifdef X86_64 #ifdef X86_64
static void x86_64_set_jump(void *address, uptr item, IBOOL callp) { static void x86_64_set_jump(void *address, uptr item, IBOOL callp, IBOOL force_abs) {
I64 disp = (I64)item - ((I64)address + 5); /* 5 = size of call instruction */ I64 disp = (I64)item - ((I64)address + 5); /* 5 = size of call instruction */
if ((I32)disp == disp) { if ((I32)disp == disp && !force_abs) {
*(octet *)address = callp ? 0xE8 : 0xE9; /* call or jmp disp32 opcode */ *(octet *)address = callp ? 0xE8 : 0xE9; /* call or jmp disp32 opcode */
*(I32 *)((uptr)address + 1) = (I32)disp; *(I32 *)((uptr)address + 1) = (I32)disp;
*((octet *)address + 5) = 0x90; /* nop */ *((octet *)address + 5) = 0x90; /* nop */

View File

@ -151,4 +151,9 @@ EXTERN struct {
ptr eqvp; ptr eqvp;
ptr equalp; ptr equalp;
ptr symboleqp; ptr symboleqp;
/* vfasl.c */
struct vfasl_hash_table *c_entries;
struct vfasl_hash_table *library_entries;
struct vfasl_hash_table *library_entry_codes;
} S_G; } S_G;

View File

@ -361,7 +361,7 @@ void S_intern_gensym(sym) ptr sym; {
tc_mutex_release() tc_mutex_release()
S_error1("intern-gensym", "unique name ~s already interned", uname_str); S_error1("intern-gensym", "unique name ~s already interned", uname_str);
} }
if (Sstring_ref(str, i) != uname[i]) break; if (STRIT(str, i) != uname[i]) break;
} }
} }
} }
@ -374,12 +374,58 @@ void S_intern_gensym(sym) ptr sym; {
tc_mutex_release() tc_mutex_release()
} }
/* must hold mutex */
ptr S_intern4(sym) ptr sym; {
ptr name = SYMNAME(sym);
if (name == Sfalse) {
/* gensym whose name wasn't generated, so far */
return sym;
} else {
ptr uname_str = (Sstringp(name) ? name : Scar(name));
if (uname_str == Sfalse) {
/* gensym that wasn't interned, so far */
return sym;
} else {
const string_char *uname = &STRIT(uname_str, 0);
iptr ulen = Sstring_length(uname_str);
iptr hc = UNFIX(SYMHASH(sym));
iptr idx = hc % S_G.oblist_length;
bucket *b;
b = S_G.oblist[idx];
while (b != NULL) {
ptr x = b->sym;
ptr x_name = SYMNAME(x);
if (Sstringp(name) == Sstringp(x_name)) {
ptr str = (Sstringp(x_name) ? x_name : Scar(x_name));
if (Sstring_length(str) == ulen) {
iptr i;
for (i = 0; ; i += 1) {
if (i == ulen) {
return x;
}
if (STRIT(str, i) != uname[i]) break;
}
}
}
b = b->next;
}
oblist_insert(sym, idx, GENERATION(sym));
return sym;
}
}
}
/* retrofit existing symbols once nonprocedure_code is available */ /* retrofit existing symbols once nonprocedure_code is available */
void S_retrofit_nonprocedure_code() { void S_retrofit_nonprocedure_code() {
ptr npc, sym, val; bucket_list *bl; ptr npc, sym, val; bucket_list *bl;
npc = S_G.nonprocedure_code; npc = S_G.nonprocedure_code;
/* FIXME */
/* assuming this happens early, before collector has been called, so need look only for generation 0 symbols */ /* assuming this happens early, before collector has been called, so need look only for generation 0 symbols */
for (bl = S_G.buckets_of_generation[0]; bl != NULL; bl = bl->cdr) { for (bl = S_G.buckets_of_generation[0]; bl != NULL; bl = bl->cdr) {
sym = bl->car->sym; sym = bl->car->sym;

View File

@ -1546,6 +1546,8 @@ void S_prim5_init() {
Sforeign_symbol("(cs)getpid", (void *)s_getpid); Sforeign_symbol("(cs)getpid", (void *)s_getpid);
Sforeign_symbol("(cs)fasl_read", (void *)S_fasl_read); Sforeign_symbol("(cs)fasl_read", (void *)S_fasl_read);
Sforeign_symbol("(cs)bv_fasl_read", (void *)S_bv_fasl_read); Sforeign_symbol("(cs)bv_fasl_read", (void *)S_bv_fasl_read);
Sforeign_symbol("(cs)to_vfasl", (void *)S_to_vfasl);
Sforeign_symbol("(cs)vfasl_to", (void *)S_vfasl_to);
Sforeign_symbol("(cs)s_decode_float", (void *)s_decode_float); Sforeign_symbol("(cs)s_decode_float", (void *)s_decode_float);
Sforeign_symbol("(cs)new_open_input_fd", (void *)S_new_open_input_fd); Sforeign_symbol("(cs)new_open_input_fd", (void *)S_new_open_input_fd);

View File

@ -228,7 +228,9 @@ static void initialize_seginfo(seginfo *si, ISPC s, IGEN g) {
si->space = s; si->space = s;
si->generation = g; si->generation = g;
si->sorted = 0;
si->min_dirty_byte = 0xff; si->min_dirty_byte = 0xff;
si->trigger_ephemerons = NULL;
for (d = 0; d < cards_per_segment; d += sizeof(ptr)) { for (d = 0; d < cards_per_segment; d += sizeof(ptr)) {
iptr *dp = (iptr *)(si->dirty_bytes + d); iptr *dp = (iptr *)(si->dirty_bytes + d);
/* fill sizeof(iptr) bytes at a time with 0xff */ /* fill sizeof(iptr) bytes at a time with 0xff */
@ -264,7 +266,6 @@ iptr S_find_segments(s, g, n) ISPC s; IGEN g; iptr n; {
chunk->nused_segs += 1; chunk->nused_segs += 1;
initialize_seginfo(si, s, g); initialize_seginfo(si, s, g);
si->sorted = 0;
si->next = S_G.occupied_segments[s][g]; si->next = S_G.occupied_segments[s][g];
S_G.occupied_segments[s][g] = si; S_G.occupied_segments[s][g] = si;
S_G.number_of_empty_segments -= 1; S_G.number_of_empty_segments -= 1;
@ -303,7 +304,6 @@ iptr S_find_segments(s, g, n) ISPC s; IGEN g; iptr n; {
S_G.occupied_segments[s][g] = si; S_G.occupied_segments[s][g] = si;
for (j = n, nextsi = si; j > 0; j -= 1, nextsi = nextsi->next) { for (j = n, nextsi = si; j > 0; j -= 1, nextsi = nextsi->next) {
initialize_seginfo(nextsi, s, g); initialize_seginfo(nextsi, s, g);
nextsi->sorted = 0;
} }
S_G.number_of_empty_segments -= n; S_G.number_of_empty_segments -= n;
return si->number; return si->number;

View File

@ -53,57 +53,33 @@ static long adjust_time_zone(ptr dtvec, struct tm *tmxp, ptr given_tzoff);
#include <rpc.h> #include <rpc.h>
ptr S_unique_id() { ptr S_unique_id() {
union {UUID uuid; INT foo[4];} u; union {UUID uuid; U32 foo[4];} u;
u.foo[0] = 0; u.foo[0] = 0;
u.foo[1] = 0; u.foo[1] = 0;
u.foo[2] = 0; u.foo[2] = 0;
u.foo[3] = 0; u.foo[3] = 0;
UuidCreate(&u.uuid);
UuidCreate(&u.uuid); return S_add(S_ash(Sunsigned32(u.foo[0]), Sinteger(8*3*sizeof(U32))),
return S_add(S_ash(Sunsigned(u.foo[0]), Sinteger(8*3*sizeof(INT))), S_add(S_ash(Sunsigned32(u.foo[1]), Sinteger(8*2*sizeof(U32))),
S_add(S_ash(Sunsigned(u.foo[1]), Sinteger(8*2*sizeof(INT))), S_add(S_ash(Sunsigned32(u.foo[2]), Sinteger(8*sizeof(U32))),
S_add(S_ash(Sunsigned(u.foo[2]), Sinteger(8*sizeof(INT))), Sunsigned32(u.foo[3]))));
Sunsigned(u.foo[3]))));
} }
#else /* WIN32 */ #else /* WIN32 */
#include <sys/param.h> #include <uuid/uuid.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
static INT gethostip(void) {
char hostname[MAXHOSTNAMELEN+1];
struct hostent *h;
char **p;
struct in_addr in;
if (gethostname(hostname, MAXHOSTNAMELEN)) return 0;
if ((h = gethostbyname(hostname)) == NULL) return 0;
p = h->h_addr_list;
if (*p == NULL) return 0;
memcpy(&in.s_addr, *p, sizeof (in.s_addr));
return in.s_addr;
}
ptr S_unique_id() { ptr S_unique_id() {
struct timeval tp; union {uuid_t uuid; U32 foo[4];} u;
time_t sec; u.foo[0] = 0;
pid_t pid; u.foo[1] = 0;
INT ip; u.foo[2] = 0;
u.foo[3] = 0;
(void) gettimeofday(&tp,NULL); uuid_generate(u.uuid);
return S_add(S_ash(Sunsigned32(u.foo[0]), Sinteger(8*3*sizeof(U32))),
pid = getpid(); S_add(S_ash(Sunsigned32(u.foo[1]), Sinteger(8*2*sizeof(U32))),
ip = gethostip(); S_add(S_ash(Sunsigned32(u.foo[2]), Sinteger(8*sizeof(U32))),
sec = tp.tv_sec; Sunsigned32(u.foo[3]))));
return S_add(S_ash(Sunsigned(pid), Sinteger(8*(sizeof(sec)+sizeof(ip)))),
S_add(S_ash(Sunsigned(ip), Sinteger(8*(sizeof(sec)))),
Sunsigned(sec)));
} }
#endif /* WIN32 */ #endif /* WIN32 */

View File

@ -96,7 +96,7 @@ typedef int IFASLCODE; /* fasl type codes */
ptr _tc = tc;\ ptr _tc = tc;\
uptr _ap = (uptr)AP(_tc);\ uptr _ap = (uptr)AP(_tc);\
if ((uptr)n > ((uptr)EAP(_tc) - _ap)) {\ if ((uptr)n > ((uptr)EAP(_tc) - _ap)) {\
(x) = S_thread_get_more_room(t, n);\ (x) = S_get_more_room_help(_tc, _ap, t, n);\
} else {\ } else {\
(x) = TYPE(_ap,t);\ (x) = TYPE(_ap,t);\
AP(_tc) = (ptr)(_ap + n);\ AP(_tc) = (ptr)(_ap + n);\

1388
c/vfasl.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -49,7 +49,7 @@ albeit scoped where the bindings of the \scheme{let-syntax} or
in a library or RNRS top-level program unless the in a library or RNRS top-level program unless the
\scheme{scheme} library is included in the library or \scheme{scheme} library is included in the library or
top-level programs imports. top-level programs imports.
These forms are described in Chatper~\ref{CHPTSYNTAX}. These forms are described in Chapter~\ref{CHPTSYNTAX}.
In Revised$^6$ Report Scheme, definitions can appear at the front of In Revised$^6$ Report Scheme, definitions can appear at the front of
a \scheme{lambda} or similar body (e.g., a \scheme{let} or \scheme{letrec} a \scheme{lambda} or similar body (e.g., a \scheme{let} or \scheme{letrec}
@ -66,8 +66,8 @@ procedure.
The macro expander uses the same two-pass algorithm for expanding The macro expander uses the same two-pass algorithm for expanding
top-level \scheme{begin} expressions as it uses for a \scheme{lambda}, top-level \scheme{begin} expressions as it uses for a \scheme{lambda},
\scheme{library}, or top-level program body. \scheme{library}, or top-level program body.
(This algorithm is described in Section~\ref{SECTSYNTAXDEFINITIONS} of {\TSPLFOUR}.) (This algorithm is described in Section~\ref{TSPL:SECTSYNTAXDEFINITIONS} of
As a result, {\TSPLFOUR}.) As a result,
\schemedisplay \schemedisplay
(begin (begin
@ -85,7 +85,7 @@ and
both result in the giving \scheme{x} the value 3, both result in the giving \scheme{x} the value 3,
even though an unbound variable reference to \scheme{a} would result if even though an unbound variable reference to \scheme{a} would result if
the two forms within the latter \scheme{begin} expression where run the two forms within the latter \scheme{begin} expression were run
independently at top level. independently at top level.
Similarly, the \scheme{begin} form produced by a use of Similarly, the \scheme{begin} form produced by a use of
@ -136,7 +136,7 @@ for internal variable definitions, for backward compatibility.
%---------------------------------------------------------------------------- %----------------------------------------------------------------------------
\noskipentryheader \noskipentryheader
\formdef{define-values}{\categorysyntax}{(define-values formals \var{expr})} \formdef{define-values}{\categorysyntax}{(define-values \var{formals} \var{expr})}
\listlibraries \listlibraries
\endnoskipentryheader \endnoskipentryheader

View File

@ -309,8 +309,8 @@ predicate \scheme{transcoder?}, which should be standard but is not.
\var{endianness} must be the symbol \scheme{big} or the symbol \var{endianness} must be the symbol \scheme{big} or the symbol
\scheme{little}. \scheme{little}.
The codec returned by \scheme{utf-16-codec} can be used to create The codec returned by \scheme{utf-16-codec} can be used to create and
process data written UFT-16 format. process data written UTF-16 format.
When called without the \var{endianness} argument or with \var{endianness} When called without the \var{endianness} argument or with \var{endianness}
\scheme{big}, \scheme{utf-16-codec} returns a codec for standard UTF-16 \scheme{big}, \scheme{utf-16-codec} returns a codec for standard UTF-16
data, i.e., one that defaults to big-endian format if no byte-order mark data, i.e., one that defaults to big-endian format if no byte-order mark
@ -1359,11 +1359,7 @@ If \var{?transcoder} is present and not \scheme{#f}, it must be a
transcoder, and this procedure returns a textual input port transcoder, and this procedure returns a textual input port
whose transcoder is \var{?transcoder}. whose transcoder is \var{?transcoder}.
Otherwise, this procedure returns a binary input port. Otherwise, this procedure returns a binary input port.
The buffer mode \var{b-mode} defaults to \scheme{block}, which differs from The buffer mode \var{b-mode} defaults to \scheme{block}.
\scheme{block} in {\ChezScheme} only for textual output ports.
See the lead-in to Section~\ref{TSPL:SECTOPENINGFILES} of {\TSPLFOUR}
for a description of the constraints on and effects of the other
arguments.
The Revised$^6$ Report version of this procedure does not accept the The Revised$^6$ Report version of this procedure does not accept the
optional \var{b-mode} and \var{?transcoder} arguments, which limits optional \var{b-mode} and \var{?transcoder} arguments, which limits
@ -1985,9 +1981,6 @@ whose transcoder is \var{?transcoder}.
Otherwise, this procedure returns a binary output port. Otherwise, this procedure returns a binary output port.
The buffer mode \var{b-mode} defaults to \scheme{line}, which differs from The buffer mode \var{b-mode} defaults to \scheme{line}, which differs from
\scheme{block} in {\ChezScheme} only for textual output ports. \scheme{block} in {\ChezScheme} only for textual output ports.
See the lead-in to Section~\ref{TSPL:SECTOPENINGFILES} of {\TSPLFOUR}
for a description of the constraints on and effects of the other
arguments.
The Revised$^6$ Report version of this procedure does not accept the The Revised$^6$ Report version of this procedure does not accept the
optional \var{b-mode} and \var{?transcoder} arguments, which limits optional \var{b-mode} and \var{?transcoder} arguments, which limits
@ -3687,9 +3680,9 @@ are involved.
\begin{tabular}{llllllll} \begin{tabular}{llllllll}
path & abs & first & rest & parent & last & root & ext \\ path & abs & first & rest & parent & last & root & ext \\
\scheme{c:} & \scheme{#t} & \scheme{c:} & \scheme{_} & \scheme{c:} & \scheme{_} & \scheme{c:} & \scheme{_} \\ \scheme{c:} & \scheme{#f} & \scheme{c:} & \scheme{_} & \scheme{c:} & \scheme{_} & \scheme{c:} & \scheme{_} \\
\scheme{c:/} & \scheme{#t} & \scheme{c:/} & \scheme{_} & \scheme{c:/} & \scheme{_} & \scheme{c:/} & \scheme{_} \\ \scheme{c:/} & \scheme{#t} & \scheme{c:/} & \scheme{_} & \scheme{c:/} & \scheme{_} & \scheme{c:/} & \scheme{_} \\
\scheme{c:a/b} & \scheme{#t} & \scheme{c:} & \scheme{a/b} & \scheme{c:a} & \scheme{b} & \scheme{c:a/b} & \scheme{_} \\ \scheme{c:a/b} & \scheme{#f} & \scheme{c:} & \scheme{a/b} & \scheme{c:a} & \scheme{b} & \scheme{c:a/b} & \scheme{_} \\
\scheme{//s/a/b.c} & \scheme{#t} & \scheme{//s} & \scheme{a/b.c} & \scheme{//s/a} & \scheme{b.c} & \scheme{//s/a/b} & \scheme{c} \\ \scheme{//s/a/b.c} & \scheme{#t} & \scheme{//s} & \scheme{a/b.c} & \scheme{//s/a} & \scheme{b.c} & \scheme{//s/a/b} & \scheme{c} \\
\scheme{//s.com} & \scheme{#t} & \scheme{//s.com} & \scheme{_} & \scheme{//s.com} & \scheme{_} & \scheme{//s.com} & \scheme{_} \\ \scheme{//s.com} & \scheme{#t} & \scheme{//s.com} & \scheme{_} & \scheme{//s.com} & \scheme{_} & \scheme{//s.com} & \scheme{_} \\
\end{tabular} \end{tabular}

View File

@ -1418,10 +1418,8 @@ The pretty name of a gensym is returned by the procedure
In both the first and second forms, the unique name is an In both the first and second forms, the unique name is an
automatically generated globally unique name. automatically generated globally unique name.
Globally unique names are constructed (lazily---see below) Globally unique names are constructed (lazily---see below) from the
from some combination of a unique machine identifier (such as the combination of a universally unique identifier and an internal
network address), the current process identifier (PID), and the
time at which the Scheme session began, along with an internal
counter. counter.
In the third form of gensym, the unique name of the new gensym is In the third form of gensym, the unique name of the new gensym is
\var{unique-name}, which must be a string. \var{unique-name}, which must be a string.

View File

@ -1887,7 +1887,7 @@ the annotation is returned.
\endentryheader \endentryheader
\var{sfd} must be a source-file descriptor. \var{sfd} must be a source-file descriptor.
\var{bfd} must be an exact nonnegative integer and should be the \var{bfp} must be an exact nonnegative integer and should be the
character position of the next character to be read from character position of the next character to be read from
\var{textual-input-port}. \var{textual-input-port}.

View File

@ -3170,7 +3170,7 @@ A \scheme{profile} form has the effect of accounting to the source
position identified by \var{source-object} the number of times the position identified by \var{source-object} the number of times the
\scheme{profile} form is executed. \scheme{profile} form is executed.
Profile forms are generated implicitly by the expander for source Profile forms are generated implicitly by the expander for source
expressions in annorated input, e.g., input read by the compiler or expressions in annotated input, e.g., input read by the compiler or
interpreter from a Scheme source file, so this form is typically interpreter from a Scheme source file, so this form is typically
useful only when unannotated source code is produced by the front useful only when unannotated source code is produced by the front
end for some language that targets Scheme. end for some language that targets Scheme.
@ -3307,7 +3307,7 @@ frequently executed code.
This value of this parameter must be a string or \scheme{#f}. This value of this parameter must be a string or \scheme{#f}.
If it is a string, the string should contain an HTML cascading style sheet (CSS) If it is a string, the string should contain an HTML cascading style sheet (CSS)
color specifier. color specifier.
If the parameter is set to string, \scheme{profile-dump-html} includes line numbers If the parameter is set to a string, \scheme{profile-dump-html} includes line numbers
in its html rendering of each source file, using the specified color. in its html rendering of each source file, using the specified color.
If the parameter is set to \scheme{#f}, no line numbers are included. If the parameter is set to \scheme{#f}, no line numbers are included.
@ -3324,7 +3324,7 @@ This procedure produces a dump of all
profile information present in \var{dump}, which defaults to profile information present in \var{dump}, which defaults to
the value returned by \scheme{profile-dump}. the value returned by \scheme{profile-dump}.
It returns a list of entries, each of which is itself a list containing the It returns a list of entries, each of which is itself a list containing the
following elements identify one block of code and how many times it following elements identifying one block of code and how many times it
has been executed. has been executed.
\begin{itemize} \begin{itemize}

View File

@ -23,6 +23,9 @@ build:
install: build install: build
$(MAKE) -f Mf-install $(MAKE) -f Mf-install
uninstall:
$(MAKE) -f Mf-install uninstall
test: build test: build
(cd mats ; $(MAKE) allx) (cd mats ; $(MAKE) allx)
@echo "test run complete. check $(PREFIX)mats/summary for errors." @echo "test run complete. check $(PREFIX)mats/summary for errors."

View File

@ -21,6 +21,9 @@ build:
install: install:
(cd $(workarea) && $(MAKE) install) (cd $(workarea) && $(MAKE) install)
uninstall:
(cd $(workarea) && $(MAKE) uninstall)
test: test:
(cd $(workarea) && $(MAKE) test PREFIX=$(workarea)/) (cd $(workarea) && $(MAKE) test PREFIX=$(workarea)/)

View File

@ -79,17 +79,12 @@ SchemeScriptPath=${Bin}/${InstallScriptName}
install: bininstall libbininstall maninstall liblibinstall install: bininstall libbininstall maninstall liblibinstall
uninstall: uninstall:
@echo To uninstall all machine types: rm -rf ${Lib}
@echo rm -rf ${Lib} rm -f ${PetitePath}
@echo rm -f ${PetitePath} rm -f ${SchemePath}
@echo rm -f ${SchemePath} rm -f ${SchemeScriptPath}
@echo rm -f ${Man}/${InstallPetiteName}.1'{,.gz}' rm -f ${Man}/${InstallPetiteName}.1{,.gz}
@echo rm -f ${Man}/${InstallSchemeName}.1'{,.gz}' rm -f ${Man}/${InstallSchemeName}.1{,.gz}
@echo ""
@echo To uninstall just machine-type $m
@echo rm -rf ${Lib}/$m
@echo rm -f ${PetitePath}
@echo rm -f ${SchemePath}
scheme.1 petite.1: scheme.1.in scheme.1 petite.1: scheme.1.in
sed -e "s;{InstallBin};${InstallBin};g" \ sed -e "s;{InstallBin};${InstallBin};g" \

View File

@ -1673,7 +1673,7 @@
(begin (define-record $acyclic ((immutable notme))) (record-reader '$acyclic (type-descriptor $acyclic))) (begin (define-record $acyclic ((immutable notme))) (record-reader '$acyclic (type-descriptor $acyclic)))
(xmat (xmat
"; Test error \"fasl object created by different release\"\n; This one is the list (a b c d) created by version 5.9b\n\n#@5.9babcd\f&\n" "; Test error \"fasl object created by different release\"\n; This one is the list (a b c d) created by version 5.9b\n\n#@\x2;\x4;\x0;\x0;\x0;5.9b\x0;\x4;\x0;\x0;\x0;\x2;\x1;\x0;\x0;\x0;a\x2;\x1;\x0;\x0;\x0;b\x2;\x1;\x0;\x0;\x0;c\x2;\x1;\x0;\x0;\x0;d\f&\x0;\x0;\x0;\n"
) )
(xmat (xmat
@ -2858,7 +2858,7 @@
(or (not (windows?)) (or (not (windows?))
(> (length (directory-list "\\\\?\\c:\\")) 0)) (> (length (directory-list "\\\\?\\c:\\")) 0))
(or (not (windows?)) (or (not (windows?))
(> (length (directory-list "\\\\?\\c:")) 0)) (> (length (directory-list "\\\\?\\C:\\")) 0))
(file-directory? "/") (file-directory? "/")
(file-directory? "/.") (file-directory? "/.")
(file-exists? ".") (file-exists? ".")
@ -2869,7 +2869,7 @@
(file-directory? "c:/.")) (file-directory? "c:/."))
(not (file-directory? "c:"))) (not (file-directory? "c:")))
(if (windows?) (if (windows?)
(and (file-directory? "\\\\?\\c:") (and (not (file-directory? "\\\\?\\c:"))
(file-directory? "\\\\?\\c:\\")) (file-directory? "\\\\?\\c:\\"))
(not (file-directory? "\\\\?\\c:"))) (not (file-directory? "\\\\?\\c:")))
(if (windows?) (if (windows?)
@ -2878,7 +2878,7 @@
(file-exists? "c:/.")) (file-exists? "c:/."))
(not (file-exists? "c:"))) (not (file-exists? "c:")))
(if (windows?) (if (windows?)
(and (file-exists? "\\\\?\\c:") (and (not (file-exists? "\\\\?\\c:"))
(file-exists? "\\\\?\\c:\\")) (file-exists? "\\\\?\\c:\\"))
(not (file-exists? "\\\\?\\c:"))) (not (file-exists? "\\\\?\\c:")))
(if (windows?) (if (windows?)
@ -2899,9 +2899,9 @@
(and (logtest m #o400) (and (logtest m #o400)
(not (logtest m #o111))))) (not (logtest m #o111)))))
(or (not (windows?)) (or (not (windows?))
(and (fixnum? (get-mode "c:")) (and (fixnum? (get-mode "c:/"))
(eqv? (get-mode "c:") (get-mode "c:/")) (eqv? (get-mode "c:/") (get-mode "C:\\"))
(eqv? (get-mode "c:") (get-mode "c:/.")))) (eqv? (get-mode "c:/") (get-mode "c:\\."))))
(if (or (windows?) (embedded?)) (if (or (windows?) (embedded?))
(fixnum? (get-mode "../mats")) (fixnum? (get-mode "../mats"))
(eqv? (logand (get-mode "../mats") #o700) #o700)) (eqv? (logand (get-mode "../mats") #o700) #o700))
@ -2930,9 +2930,9 @@
(time? (file-change-time "c:/")) (time? (file-change-time "c:/"))
(time? (file-modification-time "c:/")))) (time? (file-modification-time "c:/"))))
(or (not (windows?)) (or (not (windows?))
(and (time? (file-access-time "\\\\?\\c:")) (and (time? (file-access-time "\\\\?\\C:\\"))
(time? (file-change-time "\\\\?\\c:")) (time? (file-change-time "\\\\?\\C:\\"))
(time? (file-modification-time "\\\\?\\c:")))) (time? (file-modification-time "\\\\?\\C:\\"))))
(or (not (windows?)) (or (not (windows?))
(and (time? (file-access-time "\\\\?\\c:\\")) (and (time? (file-access-time "\\\\?\\c:\\"))
(time? (file-change-time "\\\\?\\c:\\")) (time? (file-change-time "\\\\?\\c:\\"))
@ -3120,9 +3120,7 @@
(eq? (path-absolute? "/abc") #t) (eq? (path-absolute? "/abc") #t)
(eq? (path-absolute? "foo") #f) (eq? (path-absolute? "foo") #f)
(eq? (path-absolute? "foo/bar/a.b") #f) (eq? (path-absolute? "foo/bar/a.b") #f)
(eq? (eq? (path-absolute? "c:abc") #f)
(path-absolute? "c:abc")
(and (windows?) #t))
(equal? (path-parent "") "") (equal? (path-parent "") "")
(equal? (path-parent "a") "") (equal? (path-parent "a") "")
@ -3275,17 +3273,17 @@
; windows ; windows
(if (windows?) (if (windows?)
(table (table
("c:" "t" "c:" "" "c:" "" "c:" "") ("c:" "f" "c:" "" "c:" "" "c:" "")
("c:/" "t" "c:/" "" "c:/" "" "c:/" "") ("c:/" "t" "c:/" "" "c:/" "" "c:/" "")
("c:.." "t" "c:" ".." "c:" ".." "c:.." "") ("c:.." "f" "c:" ".." "c:" ".." "c:.." "")
("c:../" "t" "c:" "../" "c:.." "" "c:../" "") ("c:../" "f" "c:" "../" "c:.." "" "c:../" "")
("c:../a" "t" "c:" "../a" "c:.." "a" "c:../a" "") ("c:../a" "f" "c:" "../a" "c:.." "a" "c:../a" "")
("c:." "t" "c:" "." "c:" "." "c:." "") ("c:." "f" "c:" "." "c:" "." "c:." "")
("c:./" "t" "c:" "./" "c:." "" "c:./" "") ("c:./" "f" "c:" "./" "c:." "" "c:./" "")
("c:./a" "t" "c:" "./a" "c:." "a" "c:./a" "") ("c:./a" "f" "c:" "./a" "c:." "a" "c:./a" "")
("c:/abc" "t" "c:/" "abc" "c:/" "abc" "c:/abc" "") ("c:/abc" "t" "c:/" "abc" "c:/" "abc" "c:/abc" "")
("c:abc" "t" "c:" "abc" "c:" "abc" "c:abc" "") ("c:abc" "f" "c:" "abc" "c:" "abc" "c:abc" "")
("c:abc/def" "t" "c:" "abc/def" "c:abc" "def" "c:abc/def" "") ("c:abc/def" "f" "c:" "abc/def" "c:abc" "def" "c:abc/def" "")
("c:/abc/def" "t" "c:/" "abc/def" "c:/abc" "def" "c:/abc/def" "") ("c:/abc/def" "t" "c:/" "abc/def" "c:/abc" "def" "c:/abc/def" "")
("//abc" "t" "//abc" "" "//abc" "" "//abc" "") ("//abc" "t" "//abc" "" "//abc" "" "//abc" "")
("//abc/" "t" "//abc" "" "//abc" "" "//abc/" "") ("//abc/" "t" "//abc" "" "//abc" "" "//abc/" "")

View File

@ -8977,7 +8977,47 @@
(eval '(lookup f g) (environment '(testfile-lr-l3) '(lookup))))]) (eval '(lookup f g) (environment '(testfile-lr-l3) '(lookup))))])
(eval '(lookup f g) (environment '(testfile-lr-l3) '(lookup)))))) (eval '(lookup f g) (environment '(testfile-lr-l3) '(lookup))))))
"Exception in h: user requested failure with (make-it-fail) parameter\nException in h: user requested failure with (make-it-fail) parameter\n") "Exception in h: user requested failure with (make-it-fail) parameter\nException in h: user requested failure with (make-it-fail) parameter\n")
)
;; re-arm import code if it complains about a library that is not visible
(begin
(with-output-to-file "testfile-lr-l4.ss"
(lambda ()
(pretty-print
'(library (testfile-lr-l4)
(export x)
(import (chezscheme))
(define x 123))))
'replace)
(with-output-to-file "testfile-lr-p4.ss"
(lambda ()
(for-each pretty-print
'((import (testfile-lr-l4) (scheme))
(define (run args)
(guard (c [#t (display-condition c) (newline)])
(pretty-print (top-level-value (car args) (environment (cdr args))))))
(when (> x 0) ;; reference export
(let ([args (map string->symbol (command-line-arguments))])
(if (= (length args) 2)
(begin
(run args)
(run args))
(error #f "expected 2 args")))))))
'replace)
(separate-eval
'(parameterize ([compile-imported-libraries #t] [generate-wpo-files #t])
(compile-program "testfile-lr-p4.ss")
(compile-whole-program "testfile-lr-p4.wpo" "testfile-lr-p4-visible" #t)
(compile-whole-program "testfile-lr-p4.wpo" "testfile-lr-p4-not-visible" #f)))
(equal?
(separate-eval
'(parameterize ([command-line-arguments '("x" "testfile-lr-l4")])
(load-program "testfile-lr-p4-visible")
(load-program "testfile-lr-p4-not-visible")))
(string-append
"123\n"
"123\n"
"Exception in visit: library (testfile-lr-l4) is not visible\n"
"Exception in visit: library (testfile-lr-l4) is not visible\n"))))
(mat cross-library-optimization (mat cross-library-optimization
(begin (begin

View File

@ -1,5 +1,5 @@
*** errors-compile-0-f-f-f 2018-07-24 22:17:12.000000000 -0600 *** errors-compile-0-f-f-f 2018-07-15 22:22:57.502803909 -0600
--- errors-compile-0-f-t-f 2018-07-24 21:07:12.000000000 -0600 --- errors-compile-0-f-t-f 2018-07-15 21:23:08.670931178 -0600
*************** ***************
*** 125,131 **** *** 125,131 ****
3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a". 3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a".
@ -58,7 +58,7 @@
3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17". 3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17".
3.mo:Expected error in mat mrvs: "returned two values to single value return context". 3.mo:Expected error in mat mrvs: "returned two values to single value return context".
*************** ***************
*** 3716,3722 **** *** 3697,3703 ****
misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"". 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 q".
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar".
@ -66,7 +66,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 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". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable a".
--- 3716,3722 ---- --- 3697,3703 ----
misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"". 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 q".
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar".
@ -75,7 +75,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". misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable a".
*************** ***************
*** 7180,7187 **** *** 7168,7175 ****
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 error: "a: hit me!". 7.mo:Expected error in mat error: "a: hit me!".
7.mo:Expected error in mat error: "f: n is 0". 7.mo:Expected error in mat error: "f: n is 0".
@ -84,7 +84,7 @@
record.mo:Expected error in mat record2: "invalid value 3 for foreign type double-float". 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 type fudge>". record.mo:Expected error in mat record2: "3 is not of type #<record type fudge>".
record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)".
--- 7180,7187 ---- --- 7168,7175 ----
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 error: "a: hit me!". 7.mo:Expected error in mat error: "a: hit me!".
7.mo:Expected error in mat error: "f: n is 0". 7.mo:Expected error in mat error: "f: n is 0".
@ -94,7 +94,7 @@
record.mo:Expected error in mat record2: "3 is not of type #<record type fudge>". record.mo:Expected error in mat record2: "3 is not of type #<record type fudge>".
record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)".
*************** ***************
*** 7189,7203 **** *** 7177,7191 ****
record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". 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 type-descriptor: "type-descriptor: unrecognized record car".
record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound".
@ -110,7 +110,7 @@
record.mo:Expected error in mat record9: "record-reader: invalid input #f". 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".
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".
--- 7189,7203 ---- --- 7177,7191 ----
record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". 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 type-descriptor: "type-descriptor: unrecognized record car".
record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound".
@ -127,7 +127,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".
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".
*************** ***************
*** 7210,7235 **** *** 7198,7223 ****
record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>". record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>".
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
@ -154,7 +154,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: 0 is not a positive fixnum".
record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum".
record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum".
--- 7210,7235 ---- --- 7198,7223 ----
record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>". record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>".
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
@ -182,7 +182,7 @@
record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum".
record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum".
*************** ***************
*** 7360,7398 **** *** 7348,7386 ****
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 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 #<record type foo>". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #<record type foo>".
@ -222,7 +222,7 @@
record.mo:Expected error in mat record?: "record?: 4 is not a record type descriptor". 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?: a is not a record type descriptor".
record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor".
--- 7360,7398 ---- --- 7348,7386 ----
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 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 #<record type foo>". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #<record type foo>".
@ -263,7 +263,7 @@
record.mo:Expected error in mat record?: "record?: a 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". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor".
*************** ***************
*** 7407,7463 **** *** 7395,7451 ****
record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam". record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam".
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure". record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure".
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam". record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam".
@ -321,7 +321,7 @@
record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent". record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent".
record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent". record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent".
record.mo:Expected error in mat r6rs-records-syntactic: "cannot extend define-record-type parent fratrat". record.mo:Expected error in mat r6rs-records-syntactic: "cannot extend define-record-type parent fratrat".
--- 7407,7463 ---- --- 7395,7451 ----
record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam". record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam".
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure". record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure".
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam". record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam".

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
*** errors-compile-0-f-f-f 2018-07-24 22:17:12.000000000 -0600 *** errors-compile-0-f-f-f 2018-07-15 22:22:57.502803909 -0600
--- errors-interpret-0-f-f-f 2018-07-24 21:35:45.000000000 -0600 --- errors-interpret-0-f-f-f 2018-07-15 21:46:11.227902570 -0600
*************** ***************
*** 1,7 **** *** 1,7 ****
primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure".
@ -196,7 +196,44 @@
3.mo:Expected error in mat mrvs: "returned two values to single value return context". 3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "cdr: a is not a pair". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
*************** ***************
*** 4088,4103 **** *** 3829,3845 ****
misc.mo:Expected error in mat arity-wrapper-procedure: "make-arity-wrapper-procedure: not-an-exact-integer is not an arity mask".
misc.mo:Expected error in mat arity-wrapper-procedure: "make-arity-wrapper-procedure: 1.0 is not an arity mask".
misc.mo:Expected error in mat arity-wrapper-procedure: "arity-wrapper-procedure-data: 1 is not an arity wrapper procedure".
! misc.mo:Expected error in mat arity-wrapper-procedure: "arity-wrapper-procedure-data: #<procedure> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "arity-wrapper-procedure-data: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure!)".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure! (make-arity-wrapper-procedure (lambda args args) 1 #f))".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: 1 is not an arity wrapper procedure".
! misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: #<procedure> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure-data!)".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure-data! (make-arity-wrapper-procedure (lambda args args) 1 #f))".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure-data!: 1 is not an arity wrapper procedure".
! misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure-data!: #<procedure> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
cp0.mo:Expected error in mat cp0-regression: "attempt to reference undefined variable x".
cp0.mo:Expected error in mat cp0-regression: "incorrect argument count in call (g)".
--- 3835,3851 ----
misc.mo:Expected error in mat arity-wrapper-procedure: "make-arity-wrapper-procedure: not-an-exact-integer is not an arity mask".
misc.mo:Expected error in mat arity-wrapper-procedure: "make-arity-wrapper-procedure: 1.0 is not an arity mask".
misc.mo:Expected error in mat arity-wrapper-procedure: "arity-wrapper-procedure-data: 1 is not an arity wrapper procedure".
! misc.mo:Expected error in mat arity-wrapper-procedure: "arity-wrapper-procedure-data: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "arity-wrapper-procedure-data: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure!)".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure! (make-arity-wrapper-procedure (lambda args args) 1 #f))".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: 1 is not an arity wrapper procedure".
! misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure-data!)".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure-data! (make-arity-wrapper-procedure (lambda args args) 1 #f))".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure-data!: 1 is not an arity wrapper procedure".
! misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure-data!: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
cp0.mo:Expected error in mat cp0-regression: "attempt to reference undefined variable x".
cp0.mo:Expected error in mat cp0-regression: "incorrect argument count in call (g)".
***************
*** 4076,4091 ****
6.mo:Expected error in mat pretty-print: "incorrect argument count in call (pretty-format (quote foo) (quote x) (quote x))". 6.mo:Expected error in mat pretty-print: "incorrect argument count in call (pretty-format (quote foo) (quote x) (quote x))".
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: 3 is not a symbol".
6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)". 6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)".
@ -213,9 +250,9 @@
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 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 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)". 6.mo:Expected error in mat print-parameters: "write: cycle detected; proceeding with (print-graph #t)".
--- 4094,4103 ---- --- 4082,4091 ----
*************** ***************
*** 7043,7049 **** *** 7031,7037 ****
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 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: 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 maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories
@ -223,7 +260,7 @@
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 eval: "compile: 7 is not an environment".
7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment".
--- 7043,7049 ---- --- 7031,7037 ----
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 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: 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 maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories
@ -232,7 +269,7 @@
7.mo:Expected error in mat eval: "compile: 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". 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment".
*************** ***************
*** 7371,7377 **** *** 7359,7365 ****
record.mo:Expected error in mat record25: "invalid value #\9 for foreign type uptr". 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 10 for foreign type float".
record.mo:Expected error in mat record25: "invalid value 11.0+0.0i for foreign type double". record.mo:Expected error in mat record25: "invalid value 11.0+0.0i for foreign type double".
@ -240,7 +277,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 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 13.0 for foreign type unsigned-long-long".
record.mo:Expected error in mat record25: "invalid value 3.0 for foreign type int". record.mo:Expected error in mat record25: "invalid value 3.0 for foreign type int".
--- 7371,7377 ---- --- 7359,7365 ----
record.mo:Expected error in mat record25: "invalid value #\9 for foreign type uptr". 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 10 for foreign type float".
record.mo:Expected error in mat record25: "invalid value 11.0+0.0i for foreign type double". record.mo:Expected error in mat record25: "invalid value 11.0+0.0i for foreign type double".
@ -249,7 +286,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 13.0 for foreign type unsigned-long-long".
record.mo:Expected error in mat record25: "invalid value 3.0 for foreign type int". record.mo:Expected error in mat record25: "invalid value 3.0 for foreign type int".
*************** ***************
*** 8588,8600 **** *** 8576,8588 ****
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 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". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".
@ -263,7 +300,7 @@
fx.mo:Expected error in mat r6rs:fx*: "fx*: <int> 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*: <-int> 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". fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum".
--- 8588,8600 ---- --- 8576,8588 ----
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 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". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".
@ -278,7 +315,7 @@
fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> 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". fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum".
*************** ***************
*** 9355,9379 **** *** 9343,9367 ****
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". 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".
@ -304,7 +341,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 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 argument type specifier integer-34".
foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure result type specifier chare". foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure result type specifier chare".
--- 9355,9379 ---- --- 9343,9367 ----
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". 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".
@ -331,7 +368,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 argument type specifier integer-34".
foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure result type specifier chare". foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure result type specifier chare".
*************** ***************
*** 9386,9417 **** *** 9374,9405 ****
foreign.mo:Expected error in mat foreign-sizeof: "incorrect argument count in call (foreign-sizeof (quote int) (quote int))". foreign.mo:Expected error in mat foreign-sizeof: "incorrect argument count in call (foreign-sizeof (quote int) (quote int))".
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 i-am-not-a-type".
foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1". foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1".
@ -364,7 +401,7 @@
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
--- 9386,9417 ---- --- 9374,9405 ----
foreign.mo:Expected error in mat foreign-sizeof: "incorrect argument count in call (foreign-sizeof (quote int) (quote int))". foreign.mo:Expected error in mat foreign-sizeof: "incorrect argument count in call (foreign-sizeof (quote int) (quote int))".
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 i-am-not-a-type".
foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1". foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1".
@ -398,7 +435,7 @@
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
*************** ***************
*** 9419,9444 **** *** 9407,9432 ****
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
@ -425,7 +462,7 @@
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
--- 9419,9444 ---- --- 9407,9432 ----
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>". foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
@ -453,7 +490,7 @@
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
*************** ***************
*** 9449,9483 **** *** 9437,9471 ****
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
@ -489,7 +526,7 @@
foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>".
foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>".
foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>".
--- 9449,9483 ---- --- 9437,9471 ----
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>". foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
@ -526,7 +563,7 @@
foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>".
foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>". foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>".
*************** ***************
*** 10084,10093 **** *** 10072,10081 ****
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 (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 (q ...)".
exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))".
@ -537,7 +574,7 @@
oop.mo:Expected error in mat oop: "m1: not applicable to 17". oop.mo:Expected error in mat oop: "m1: not applicable to 17".
oop.mo:Expected error in mat oop: "variable <a>-x1 is not bound". oop.mo:Expected error in mat oop: "variable <a>-x1 is not bound".
oop.mo:Expected error in mat oop: "variable <a>-x1-set! is not bound". oop.mo:Expected error in mat oop: "variable <a>-x1-set! is not bound".
--- 10084,10093 ---- --- 10072,10081 ----
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 (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 (q ...)".
exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))".

View File

@ -1,5 +1,5 @@
*** errors-compile-0-f-t-f 2018-07-24 21:07:12.000000000 -0600 *** errors-compile-0-f-t-f 2018-07-15 21:23:08.670931178 -0600
--- errors-interpret-0-f-t-f 2018-07-24 21:50:02.000000000 -0600 --- errors-interpret-0-f-t-f 2018-07-15 21:58:19.008974933 -0600
*************** ***************
*** 1,7 **** *** 1,7 ****
primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure". primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure".
@ -169,7 +169,44 @@
3.mo:Expected error in mat letrec: "variable f is not bound". 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". 3.mo:Expected error in mat letrec: "attempt to reference undefined variable a".
*************** ***************
*** 4088,4103 **** *** 3829,3845 ****
misc.mo:Expected error in mat arity-wrapper-procedure: "make-arity-wrapper-procedure: not-an-exact-integer is not an arity mask".
misc.mo:Expected error in mat arity-wrapper-procedure: "make-arity-wrapper-procedure: 1.0 is not an arity mask".
misc.mo:Expected error in mat arity-wrapper-procedure: "arity-wrapper-procedure-data: 1 is not an arity wrapper procedure".
! misc.mo:Expected error in mat arity-wrapper-procedure: "arity-wrapper-procedure-data: #<procedure> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "arity-wrapper-procedure-data: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure!)".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure! (make-arity-wrapper-procedure (lambda args args) 1 #f))".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: 1 is not an arity wrapper procedure".
! misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: #<procedure> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure-data!)".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure-data! (make-arity-wrapper-procedure (lambda args args) 1 #f))".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure-data!: 1 is not an arity wrapper procedure".
! misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure-data!: #<procedure> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
cp0.mo:Expected error in mat cp0-regression: "attempt to reference undefined variable x".
cp0.mo:Expected error in mat cp0-regression: "incorrect argument count in call (g)".
--- 3835,3851 ----
misc.mo:Expected error in mat arity-wrapper-procedure: "make-arity-wrapper-procedure: not-an-exact-integer is not an arity mask".
misc.mo:Expected error in mat arity-wrapper-procedure: "make-arity-wrapper-procedure: 1.0 is not an arity mask".
misc.mo:Expected error in mat arity-wrapper-procedure: "arity-wrapper-procedure-data: 1 is not an arity wrapper procedure".
! misc.mo:Expected error in mat arity-wrapper-procedure: "arity-wrapper-procedure-data: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "arity-wrapper-procedure-data: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure!)".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure! (make-arity-wrapper-procedure (lambda args args) 1 #f))".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: 1 is not an arity wrapper procedure".
! misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure-data!)".
misc.mo:Expected error in mat arity-wrapper-procedure: "incorrect argument count in call (set-arity-wrapper-procedure-data! (make-arity-wrapper-procedure (lambda args args) 1 #f))".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure-data!: 1 is not an arity wrapper procedure".
! misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure-data!: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
misc.mo:Expected error in mat arity-wrapper-procedure: "set-arity-wrapper-procedure!: #<procedure $arity-wrapper-apply> is not an arity wrapper procedure".
cp0.mo:Expected error in mat cp0-regression: "attempt to reference undefined variable x".
cp0.mo:Expected error in mat cp0-regression: "incorrect argument count in call (g)".
***************
*** 4076,4091 ****
6.mo:Expected error in mat pretty-print: "incorrect argument count in call (pretty-format (quote foo) (quote x) (quote x))". 6.mo:Expected error in mat pretty-print: "incorrect argument count in call (pretty-format (quote foo) (quote x) (quote x))".
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: 3 is not a symbol".
6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)". 6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)".
@ -186,9 +223,9 @@
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 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 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)". 6.mo:Expected error in mat print-parameters: "write: cycle detected; proceeding with (print-graph #t)".
--- 4094,4103 ---- --- 4082,4091 ----
*************** ***************
*** 7043,7049 **** *** 7031,7037 ****
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 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: 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 maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories
@ -196,7 +233,7 @@
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 eval: "compile: 7 is not an environment".
7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment". 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment".
--- 7043,7049 ---- --- 7031,7037 ----
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 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: 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 maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories
@ -205,7 +242,7 @@
7.mo:Expected error in mat eval: "compile: 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". 7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment".
*************** ***************
*** 7180,7187 **** *** 7168,7175 ****
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 error: "a: hit me!". 7.mo:Expected error in mat error: "a: hit me!".
7.mo:Expected error in mat error: "f: n is 0". 7.mo:Expected error in mat error: "f: n is 0".
@ -214,7 +251,7 @@
record.mo:Expected error in mat record2: "invalid value 3 for foreign type double-float". 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 type fudge>". record.mo:Expected error in mat record2: "3 is not of type #<record type fudge>".
record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)".
--- 7180,7187 ---- --- 7168,7175 ----
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 error: "a: hit me!". 7.mo:Expected error in mat error: "a: hit me!".
7.mo:Expected error in mat error: "f: n is 0". 7.mo:Expected error in mat error: "f: n is 0".
@ -224,7 +261,7 @@
record.mo:Expected error in mat record2: "3 is not of type #<record type fudge>". record.mo:Expected error in mat record2: "3 is not of type #<record type fudge>".
record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)". record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)".
*************** ***************
*** 7189,7203 **** *** 7177,7191 ****
record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". 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 type-descriptor: "type-descriptor: unrecognized record car".
record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound".
@ -240,7 +277,7 @@
record.mo:Expected error in mat record9: "record-reader: invalid input #f". 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".
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".
--- 7189,7203 ---- --- 7177,7191 ----
record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)". 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 type-descriptor: "type-descriptor: unrecognized record car".
record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound". record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound".
@ -257,7 +294,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".
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".
*************** ***************
*** 7210,7235 **** *** 7198,7223 ****
record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>". record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>".
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
@ -284,7 +321,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: 0 is not a positive fixnum".
record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum".
record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum".
--- 7210,7235 ---- --- 7198,7223 ----
record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>". record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>".
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>". record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
@ -312,7 +349,7 @@
record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum".
record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum". record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum".
*************** ***************
*** 7360,7398 **** *** 7348,7386 ****
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 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 #<record type foo>". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #<record type foo>".
@ -352,7 +389,7 @@
record.mo:Expected error in mat record?: "record?: 4 is not a record type descriptor". 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?: a is not a record type descriptor".
record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor".
--- 7360,7398 ---- --- 7348,7386 ----
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 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 #<record type foo>". record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #<record type foo>".
@ -393,7 +430,7 @@
record.mo:Expected error in mat record?: "record?: a 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". record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor".
*************** ***************
*** 7407,7463 **** *** 7395,7451 ****
record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam". record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam".
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure". record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure".
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam". record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam".
@ -451,7 +488,7 @@
record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent". record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent".
record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent". record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent".
record.mo:Expected error in mat r6rs-records-syntactic: "cannot extend define-record-type parent fratrat". record.mo:Expected error in mat r6rs-records-syntactic: "cannot extend define-record-type parent fratrat".
--- 7407,7463 ---- --- 7395,7451 ----
record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam". record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam".
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure". record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure".
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam". record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam".
@ -510,7 +547,7 @@
record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent". record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent".
record.mo:Expected error in mat r6rs-records-syntactic: "cannot extend define-record-type parent fratrat". record.mo:Expected error in mat r6rs-records-syntactic: "cannot extend define-record-type parent fratrat".
*************** ***************
*** 8588,8600 **** *** 8576,8588 ****
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 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". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".
@ -524,7 +561,7 @@
fx.mo:Expected error in mat r6rs:fx*: "fx*: <int> 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*: <-int> 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". fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum".
--- 8588,8600 ---- --- 8576,8588 ----
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 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". fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".
@ -539,7 +576,7 @@
fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> 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". fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum".
*************** ***************
*** 10084,10093 **** *** 10072,10081 ****
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 (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 (q ...)".
exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))".
@ -550,7 +587,7 @@
oop.mo:Expected error in mat oop: "m1: not applicable to 17". oop.mo:Expected error in mat oop: "m1: not applicable to 17".
oop.mo:Expected error in mat oop: "variable <a>-x1 is not bound". oop.mo:Expected error in mat oop: "variable <a>-x1 is not bound".
oop.mo:Expected error in mat oop: "variable <a>-x1-set! is not bound". oop.mo:Expected error in mat oop: "variable <a>-x1-set! is not bound".
--- 10084,10093 ---- --- 10072,10081 ----
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 (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 (q ...)".
exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))". exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))".

View File

@ -1621,6 +1621,26 @@ in fasl files does not generally make sense.
%----------------------------------------------------------------------------- %-----------------------------------------------------------------------------
\section{Bug Fixes}\label{section:bugfixes} \section{Bug Fixes}\label{section:bugfixes}
\subsection{Disk-relative filenames in Windows (9.5.1)}
In Windows, filenames that start with a disk designator but no
directory separator are now treated as relative paths. For example,
\scheme{(path-absolute? "C:")} now returns \scheme{#f}, and
\scheme{(directory-list "C:")} now lists the files in the current
directory on disk C instead of the files in the root directory of disk
C.
In addition, \scheme{file-access-time}, \scheme{file-change-time},
\scheme{file-directory?}, \scheme{file-exists?},
\scheme{file-modification-time}, and \scheme{get-mode} no longer
remove trailing directory separators on Windows.
\subsection{Globally unique names on non-Windows systems no longer contain the IP address (9.5.1)}
The globally unique names of gensyms no longer contain the IP address
on non-Windows systems. Windows systems already used a universally
unique identifier.
\subsection{Invalid memory reference from \protect\scheme{fxvector} calls (9.5)} \subsection{Invalid memory reference from \protect\scheme{fxvector} calls (9.5)}
A compiler bug that could result in an invalid memory reference or A compiler bug that could result in an invalid memory reference or

65
s/6.ss
View File

@ -128,15 +128,7 @@
(let ([x (fp path follow?)]) (let ([x (fp path follow?)])
(if (fixnum? x) (if (fixnum? x)
x x
(if-feature windows (err x)))]))))
(let ([y (let ([n (string-length path)])
(and (fx> n 0)
(fp (if (directory-separator? (string-ref path (fx- n 1)))
(substring path 0 (fx- n 1))
(string-append path "\\"))
follow?)))])
(if (fixnum? y) y (err x)))
(err x))))]))))
(let () (let ()
(define file-x-time (define file-x-time
@ -155,18 +147,7 @@
(let ([x (path-fp file follow?)]) (let ([x (path-fp file follow?)])
(if (pair? x) (if (pair? x)
(make-time 'time-utc (cdr x) (car x)) (make-time 'time-utc (cdr x) (car x))
(if-feature windows (path-err file x)))
(let ([y (let ([n (string-length file)])
(and (fx> n 0)
(path-fp
(if (directory-separator? (string-ref file (fx- n 1)))
(substring file 0 (fx- n 1))
(string-append file "\\"))
follow?)))])
(if (pair? y)
(make-time 'time-utc (cdr y) (car y))
(path-err file x)))
(path-err file x))))
(let ([x (fd-fp (port-file-descriptor file))]) (let ([x (fd-fp (port-file-descriptor file))])
(cond (cond
[(pair? x) (make-time 'time-utc (cdr x) (car x))] [(pair? x) (make-time 'time-utc (cdr x) (car x))]
@ -208,9 +189,9 @@
(and (not (char=? (string-ref path i) #\*)) (and (not (char=? (string-ref path i) #\*))
(nostars? (fx+ i 1)))))) (nostars? (fx+ i 1))))))
($oops who "invalid directory name ~s" path)) ($oops who "invalid directory name ~s" path))
(wl (if (directory-separator? (string-ref path (fx- n 1))) (wl (if (memv (string-ref path (fx- n 1)) '(#\\ #\/ #\:))
(format "~a*" path) (string-append path "*")
(format "~a\\*" path)))))) (string-append path "\\*"))))))
(foreign-procedure "(cs)directory_list" (string) scheme-object))]) (foreign-procedure "(cs)directory_list" (string) scheme-object))])
(lambda (path) (lambda (path)
(unless (string? path) ($oops who "~s is not a string" path)) (unless (string? path) ($oops who "~s is not a string" path))
@ -237,15 +218,7 @@
[(path) (file-exists? path #t)] [(path) (file-exists? path #t)]
[(path follow?) [(path follow?)
(unless (string? path) ($oops who "~s is not a string" path)) (unless (string? path) ($oops who "~s is not a string" path))
(if-feature windows (fp path follow?)]))))
(or (fp path follow?)
(let ([n (string-length path)])
(and (fx> n 0)
(fp (if (directory-separator? (string-ref path (fx- n 1)))
(substring path 0 (fx- n 1))
(string-append path "\\"))
follow?))))
(fp path follow?))]))))
(define-who #(r6rs: file-exists?) (define-who #(r6rs: file-exists?)
(lambda (path) (lambda (path)
@ -267,15 +240,7 @@
[(path) (file-directory? path #t)] [(path) (file-directory? path #t)]
[(path follow?) [(path follow?)
(unless (string? path) ($oops who "~s is not a string" path)) (unless (string? path) ($oops who "~s is not a string" path))
(if-feature windows (fp path follow?)]))))
(or (fp path follow?)
(let ([n (string-length path)])
(and (fx> n 0)
(fp (if (directory-separator? (string-ref path (fx- n 1)))
(substring path 0 (fx- n 1))
(string-append path "\\"))
follow?))))
(fp path follow?))]))))
(define-who file-symbolic-link? (define-who file-symbolic-link?
(let ([fp (foreign-procedure "(cs)file_symbolic_linkp" (string) boolean)]) (let ([fp (foreign-procedure "(cs)file_symbolic_linkp" (string) boolean)])
@ -376,7 +341,7 @@
(char=? (string-ref s 1) #\:) (char=? (string-ref s 1) #\:)
(let ([c (string-ref s 0)]) (let ([c (string-ref s 0)])
(or (char<=? #\a c #\z) (char<=? #\A c #\Z)))) (or (char<=? #\a c #\z) (char<=? #\A c #\Z))))
(if (and (>= n 3) (directory-separator? (string-ref s 2))) 3 2)] (if (and (fx>= n 3) (directory-separator? (string-ref s 2))) 3 2)]
[(and windows? [(and windows?
(fx>= n 4) (fx>= n 4)
(char=? (string-ref s 0) #\\) (char=? (string-ref s 0) #\\)
@ -388,7 +353,7 @@
(char=? (string-ref s 5) #\:) (char=? (string-ref s 5) #\:)
(let ([c (string-ref s 4)]) (let ([c (string-ref s 4)])
(or (char<=? #\a c #\z) (char<=? #\A c #\Z)))) (or (char<=? #\a c #\z) (char<=? #\A c #\Z))))
(if (and (>= n 7) (char=? (string-ref s 6) #\\)) 7 6)] (if (and (fx>= n 7) (char=? (string-ref s 6) #\\)) 7 6)]
[(and windows? [(and windows?
(fx>= n 8) (fx>= n 8)
(char-ci=? (string-ref s 4) #\U) (char-ci=? (string-ref s 4) #\U)
@ -427,22 +392,16 @@
(set-who! path-absolute? (set-who! path-absolute?
(lambda (s) (lambda (s)
(define directory-separator? (directory-separator-predicate s))
(unless (string? s) ($oops who "~s is not a string" s)) (unless (string? s) ($oops who "~s is not a string" s))
(let ([n (string-length s)]) (let ([n (string-length s)])
(or (and (fx>= n 1) (directory-separator? (string-ref s 0))) (or (and (fx>= n 1) (directory-separator? (string-ref s 0)))
(and (fx>= n 1) (char=? (string-ref s 0) #\~)) (and (fx>= n 1) (char=? (string-ref s 0) #\~))
(and windows? (and windows?
(fx>= n 2) (fx>= n 3)
(char=? (string-ref s 1) #\:) (char=? (string-ref s 1) #\:)
(let ([c (string-ref s 0)]) (let ([c (string-ref s 0)])
(or (char<=? #\a c #\z) (char<=? #\A c #\Z)))) (or (char<=? #\a c #\z) (char<=? #\A c #\Z)))
(and windows? (directory-separator? (string-ref s 2)))))))
(fx>= n 4)
(char=? (string-ref s 0) #\\)
(char=? (string-ref s 1) #\\)
(char=? (string-ref s 2) #\?)
(char=? (string-ref s 3) #\\))))))
(set-who! path-extension (set-who! path-extension
(lambda (s) (lambda (s)

View File

@ -126,6 +126,11 @@
(lambda (x) (lambda (x)
(and x #t)))) (and x #t))))
(define generate-vfasl
($make-thread-parameter #f
(lambda (x)
(and x #t))))
(define $enable-check-prelex-flags (define $enable-check-prelex-flags
($make-thread-parameter #f ($make-thread-parameter #f
(lambda (x) (lambda (x)

View File

@ -433,7 +433,7 @@
(define-constant fasl-type-graph-ref 18) (define-constant fasl-type-graph-ref 18)
(define-constant fasl-type-gensym 19) (define-constant fasl-type-gensym 19)
(define-constant fasl-type-exactnum 20) (define-constant fasl-type-exactnum 20)
; 21 (define-constant fasl-type-vfasl-size 21)
(define-constant fasl-type-fasl-size 22) (define-constant fasl-type-fasl-size 22)
(define-constant fasl-type-record 23) (define-constant fasl-type-record 23)
(define-constant fasl-type-rtd 24) (define-constant fasl-type-rtd 24)
@ -498,6 +498,8 @@
(arm32 reloc-arm32-abs reloc-arm32-call reloc-arm32-jump) (arm32 reloc-arm32-abs reloc-arm32-call reloc-arm32-jump)
(ppc32 reloc-ppc32-abs reloc-ppc32-call reloc-ppc32-jump)) (ppc32 reloc-ppc32-abs reloc-ppc32-call reloc-ppc32-jump))
(define-constant reloc-force-abs #x100) ; flag to add to other `reloc-` constants
(constant-case ptr-bits (constant-case ptr-bits
[(64) [(64)
(define-constant reloc-extended-format #x1) (define-constant reloc-extended-format #x1)

View File

@ -22,6 +22,7 @@
(define $c-make-code) (define $c-make-code)
(define make-boot-header) (define make-boot-header)
(define make-boot-file) (define make-boot-file)
(define vfasl-convert-file)
(let () (let ()
(import (nanopass)) (import (nanopass))
@ -440,10 +441,32 @@
[else (c-assembler-output-error x)]))) [else (c-assembler-output-error x)])))
(define (c-print-fasl x p) (define (c-print-fasl x p)
(let ([t ($fasl-table)] [a? (or (generate-inspector-information) (eq? ($compile-profile) 'source))]) (cond
(c-build-fasl x t a?) [(generate-vfasl) (c-print-vfasl x p)]
($fasl-start p t [else
(lambda (p) (c-faslobj x t p a?))))) (let ([t ($fasl-table)] [a? (or (generate-inspector-information) (eq? ($compile-profile) 'source))])
(c-build-fasl x t a?)
($fasl-start p t
(lambda (p) (c-faslobj x t p a?))))]))
(define (c-vfaslobj x)
(let f ([x x])
(record-case x
[(group) elt*
(apply vector (map c-vfaslobj elt*))]
[(visit-stuff) elt
(cons (constant visit-tag) (c-vfaslobj x))]
[(revisit-stuff) elt
(cons (constant revisit-tag) (c-vfaslobj x))]
[else (c-mkcode x)])))
(define c-print-vfasl
(let ([->vfasl (foreign-procedure "(cs)to_vfasl" (scheme-object) scheme-object)])
(lambda (x p)
(let ([bv (->vfasl (c-vfaslobj x))])
(put-u8 p (constant fasl-type-vfasl-size))
(put-uptr p (bytevector-length bv))
(put-bytevector p bv)))))
(define-record-type visit-chunk (define-record-type visit-chunk
(nongenerative) (nongenerative)
@ -635,7 +658,8 @@
(when (expand-output) (when (expand-output)
(when source-info-string (when source-info-string
(fprintf (expand-output) "~%;; expand output for ~a\n" source-info-string)) (fprintf (expand-output) "~%;; expand output for ~a\n" source-info-string))
(pretty-print ($uncprep x1) (expand-output))) (pretty-print ($uncprep x1) (expand-output))
(flush-output-port (expand-output)))
(let loop ([chunk* (expand-Lexpand x1)] [rx2b* '()] [rfinal* '()]) (let loop ([chunk* (expand-Lexpand x1)] [rx2b* '()] [rfinal* '()])
(define finish-compile (define finish-compile
(lambda (x1 f) (lambda (x1 f)
@ -683,7 +707,8 @@
[else (sorry! who "unrecognized stuff ~s" x2b)]) [else (sorry! who "unrecognized stuff ~s" x2b)])
(finish x2b))) (finish x2b)))
rx2b*)]) rx2b*)])
(pretty-print (if (fx= (length e*) 1) (car e*) `(begin ,@(reverse e*))) (expand/optimize-output)))) (pretty-print (if (fx= (length e*) 1) (car e*) `(begin ,@(reverse e*))) (expand/optimize-output))
(flush-output-port (expand/optimize-output))))
($pass-time 'pfasl (lambda () (c-print-fasl `(group ,@(reverse rfinal*)) op)))) ($pass-time 'pfasl (lambda () (c-print-fasl `(group ,@(reverse rfinal*)) op))))
(let ([x1 (car chunk*)]) (let ([x1 (car chunk*)])
(cond (cond
@ -1479,7 +1504,8 @@
(let* ([x1 (expand-Lexpand ($pass-time 'expand (lambda () (expand x0 env-spec #t))))] (let* ([x1 (expand-Lexpand ($pass-time 'expand (lambda () (expand x0 env-spec #t))))]
[waste ($uncprep x1 #t)] ; populate preinfo sexpr fields [waste ($uncprep x1 #t)] ; populate preinfo sexpr fields
[waste (when (and (expand-output) (not ($noexpand? x0))) [waste (when (and (expand-output) (not ($noexpand? x0)))
(pretty-print ($uncprep x1) (expand-output)))] (pretty-print ($uncprep x1) (expand-output))
(flush-output-port (expand-output)))]
[x2 ($pass-time 'cpvalid (lambda () ($cpvalid x1)))] [x2 ($pass-time 'cpvalid (lambda () ($cpvalid x1)))]
[x2a (let ([cpletrec-ran? #f]) [x2a (let ([cpletrec-ran? #f])
(let ([x ((run-cp0) (let ([x ((run-cp0)
@ -1492,7 +1518,8 @@
[x2b ($pass-time 'cpcheck (lambda () ($cpcheck x2a)))] [x2b ($pass-time 'cpcheck (lambda () ($cpcheck x2a)))]
[x2b ($pass-time 'cpcommonize (lambda () ($cpcommonize x2b)))]) [x2b ($pass-time 'cpcommonize (lambda () ($cpcommonize x2b)))])
(when (and (expand/optimize-output) (not ($noexpand? x0))) (when (and (expand/optimize-output) (not ($noexpand? x0)))
(pretty-print ($uncprep x2b) (expand/optimize-output))) (pretty-print ($uncprep x2b) (expand/optimize-output))
(flush-output-port (expand/optimize-output)))
(if (and (compile-interpret-simple) (if (and (compile-interpret-simple)
(not ($assembly-output)) (not ($assembly-output))
(cheat? x2b)) (cheat? x2b))
@ -1584,7 +1611,32 @@
(set-who! $make-boot-header (set-who! $make-boot-header
; create boot loader (invoke) for entry into Scheme from C ; create boot loader (invoke) for entry into Scheme from C
(lambda (out machine . bootfiles) (lambda (out machine . bootfiles)
(do-make-boot-header who out machine bootfiles)))) (do-make-boot-header who out machine bootfiles)))
(set-who! vfasl-convert-file
(let ([->vfasl (foreign-procedure "(cs)to_vfasl" (scheme-object) scheme-object)])
(lambda (in-file out-file bootfile*)
(let ([op ($open-file-output-port who out-file
(if (compile-compressed)
(file-options replace compressed)
(file-options replace)))])
(on-reset (delete-file out-file #f)
(on-reset (close-port op)
(when bootfile*
(emit-boot-header op (constant machine-type) bootfile*))
(let ([ip ($open-file-input-port who in-file (file-options compressed))])
(on-reset (close-port ip)
(let loop ()
(let ([x (fasl-read ip)])
(unless (eof-object? x)
(emit-header op (constant machine-type))
(let ([bv (->vfasl x)])
(put-u8 op (constant fasl-type-vfasl-size))
(put-uptr op (bytevector-length bv))
(put-bytevector op bv))
(loop))))
(close-port ip)))
(close-port op))))))))
(set-who! compile-port (set-who! compile-port
(rec compile-port (rec compile-port

View File

@ -962,6 +962,7 @@
(generate-interrupt-trap [sig [() -> (boolean)] [(ptr) -> (void)]] [flags unrestricted]) (generate-interrupt-trap [sig [() -> (boolean)] [(ptr) -> (void)]] [flags unrestricted])
(generate-procedure-source-information [sig [() -> (boolean)] [(ptr) -> (void)]] [flags unrestricted]) (generate-procedure-source-information [sig [() -> (boolean)] [(ptr) -> (void)]] [flags unrestricted])
(generate-profile-forms [sig [() -> (boolean)] [(ptr) -> (void)]] [flags unrestricted]) (generate-profile-forms [sig [() -> (boolean)] [(ptr) -> (void)]] [flags unrestricted])
(generate-vfasl [sig [() -> (boolean)] [(ptr) -> (void)]] [flags])
(generate-wpo-files [sig [() -> (boolean)] [(ptr) -> (void)]] [flags]) (generate-wpo-files [sig [() -> (boolean)] [(ptr) -> (void)]] [flags])
(gensym-count [sig [() -> (uint)] [(uint) -> (void)]] [flags]) (gensym-count [sig [() -> (uint)] [(uint) -> (void)]] [flags])
(gensym-prefix [sig [() -> (ptr)] [(ptr) -> (void)]] [flags unrestricted]) (gensym-prefix [sig [() -> (ptr)] [(ptr) -> (void)]] [flags unrestricted])
@ -1284,6 +1285,7 @@
(fasl-file [sig [(pathname pathname) -> (void)]] [flags true]) (fasl-file [sig [(pathname pathname) -> (void)]] [flags true])
(fasl-read [sig [(binary-input-port) -> (ptr)]] [flags true]) (fasl-read [sig [(binary-input-port) -> (ptr)]] [flags true])
(fasl-write [sig [(sub-ptr binary-output-port) -> (void)]] [flags true]) (fasl-write [sig [(sub-ptr binary-output-port) -> (void)]] [flags true])
(vfasl-convert-file [sig [(ptr ptr ptr) -> (void)]] [flags])
(file-access-time [sig [(pathname) (pathname ptr) -> (time)]] [flags discard]) (file-access-time [sig [(pathname) (pathname ptr) -> (time)]] [flags discard])
(file-change-time [sig [(pathname) (pathname ptr) -> (time)]] [flags discard]) (file-change-time [sig [(pathname) (pathname ptr) -> (time)]] [flags discard])
(file-directory? [sig [(pathname) (pathname ptr) -> (boolean)]] [flags discard]) (file-directory? [sig [(pathname) (pathname ptr) -> (boolean)]] [flags discard])

View File

@ -4076,7 +4076,7 @@
; (and <sub-version ref>*) ; (and <sub-version ref>*)
; (or <sub-version ref>*) ; (or <sub-version ref>*)
; (not <sub-version ref>) ; (not <sub-version ref>)
(define (determine-module-imports what mid tid) (define (determine-module-imports what who mid tid)
(let ([binding (lookup (id->label mid empty-wrap) r)]) (let ([binding (lookup (id->label mid empty-wrap) r)])
(case (binding-type binding) (case (binding-type binding)
[($module) [($module)
@ -4092,7 +4092,7 @@
(values mid tid (values mid tid
(make-import-interface x (make-import-interface x
(diff-marks (id-marks tid) (interface-marks (get-indirect-interface x))))))] (diff-marks (id-marks tid) (interface-marks (get-indirect-interface x))))))]
[else (syntax-error mid "unknown module")]))) [else (syntax-error who (format "unknown ~a" what))])))
(define (impset x) (define (impset x)
(syntax-case x () (syntax-case x ()
[(?only *x id ...) [(?only *x id ...)
@ -4227,13 +4227,13 @@
[else (f (cdr imps) o.n* (cons a new-imps))]))))))))] [else (f (cdr imps) o.n* (cons a new-imps))]))))))))]
[mid [mid
(and (not std?) (id? #'mid)) (and (not std?) (id? #'mid))
(determine-module-imports "module" #'mid #'mid)] (determine-module-imports "module" #'mid #'mid #'mid)]
[(?library-reference lr) [(?library-reference lr)
(sym-kwd? ?library-reference library-reference) (sym-kwd? ?library-reference library-reference)
(let-values ([(mid tid) (lookup-library #'lr)]) (let-values ([(mid tid) (lookup-library #'lr)])
(determine-module-imports "library" mid tid))] (determine-module-imports "library" #'lr mid tid))]
[lr (let-values ([(mid tid) (lookup-library #'lr)]) [lr (let-values ([(mid tid) (lookup-library #'lr)])
(determine-module-imports "library" mid tid))])) (determine-module-imports "library" #'lr mid tid))]))
(syntax-case impspec (for) (syntax-case impspec (for)
[(?for *x level ...) [(?for *x level ...)
(sym-kwd? ?for for) (sym-kwd? ?for for)
@ -5156,10 +5156,11 @@
(when (eq? p 'loading) (when (eq? p 'loading)
($oops #f "attempt to import library ~s while it is still being loaded" (libdesc-path desc))) ($oops #f "attempt to import library ~s while it is still being loaded" (libdesc-path desc)))
(libdesc-import-code-set! desc #f) (libdesc-import-code-set! desc #f)
(for-each (lambda (req) (import-library (libreq-uid req))) (libdesc-import-req* desc)) (on-reset (libdesc-import-code-set! desc p)
($install-library-clo-info (libdesc-clo* desc)) (for-each (lambda (req) (import-library (libreq-uid req))) (libdesc-import-req* desc))
(libdesc-clo*-set! desc '()) ($install-library-clo-info (libdesc-clo* desc))
(p))]))] (libdesc-clo*-set! desc '())
(p)))]))]
[else ($oops #f "library ~:s is not defined" uid)]))) [else ($oops #f "library ~:s is not defined" uid)])))
; invoking or visiting a possibly unloaded library occurs in two separate steps: ; invoking or visiting a possibly unloaded library occurs in two separate steps:

View File

@ -12,9 +12,15 @@
<Component Id="cmp0B0A70880E3C505B199705D415235AC7" Guid="*"> <Component Id="cmp0B0A70880E3C505B199705D415235AC7" Guid="*">
<File Id="fil69E98A18AB5AD3061617C9E68F536773" KeyPath="yes" Source="..\a6nt\bin\a6nt\csv951.lib" /> <File Id="fil69E98A18AB5AD3061617C9E68F536773" KeyPath="yes" Source="..\a6nt\bin\a6nt\csv951.lib" />
</Component> </Component>
<Component Id="cmp41C1093548579E6BE087DD4BE735B7C5" Guid="*">
<File Id="fil11683117A53DD772D9B6F0C11BE06C7C" KeyPath="yes" Source="..\a6nt\bin\a6nt\csv951.pdb" />
</Component>
<Component Id="cmpD50999EDF5C2480D6F6F6A04E6B127F3" Guid="*"> <Component Id="cmpD50999EDF5C2480D6F6F6A04E6B127F3" Guid="*">
<File Id="filE439E2DE55CFE1366273AF3E232D4519" KeyPath="yes" Source="..\a6nt\bin\a6nt\petite.exe" /> <File Id="filE439E2DE55CFE1366273AF3E232D4519" KeyPath="yes" Source="..\a6nt\bin\a6nt\petite.exe" />
</Component> </Component>
<Component Id="cmp5740FF469BE73A073AF9A5DB75C36C8F" Guid="*">
<File Id="filAFA637C0D30922D860F3EE6D92EEB420" KeyPath="yes" Source="..\a6nt\bin\a6nt\petite.pdb" />
</Component>
<Component Id="cmpDD19E9A8DE8058599CFC66AF8DB39487" Guid="*"> <Component Id="cmpDD19E9A8DE8058599CFC66AF8DB39487" Guid="*">
<File Id="filA4D665DE511690E448BF115110B44A21" KeyPath="yes" Source="..\a6nt\bin\a6nt\scheme.exe"> <File Id="filA4D665DE511690E448BF115110B44A21" KeyPath="yes" Source="..\a6nt\bin\a6nt\scheme.exe">
<Shortcut Id="cs_a6nt_shortcut" <Shortcut Id="cs_a6nt_shortcut"
@ -26,6 +32,9 @@
WorkingDirectory="APPLICATIONFOLDER"/> WorkingDirectory="APPLICATIONFOLDER"/>
</File> </File>
</Component> </Component>
<Component Id="cmp6BB67EB735F0C8C23D4B94F0096A19BF" Guid="*">
<File Id="fil7A6708590A224BCB853A13A84ABACC69" KeyPath="yes" Source="..\a6nt\bin\a6nt\scheme.pdb" />
</Component>
</Directory> </Directory>
</DirectoryRef> </DirectoryRef>
<DirectoryRef Id="D_boot"> <DirectoryRef Id="D_boot">
@ -60,8 +69,11 @@
<ComponentRef Id="cmp9E121291956F53F264990A9F6E93E67D" /> <ComponentRef Id="cmp9E121291956F53F264990A9F6E93E67D" />
<ComponentRef Id="cmpDB181AE3BD838D4F431CAE12DB40B70A" /> <ComponentRef Id="cmpDB181AE3BD838D4F431CAE12DB40B70A" />
<ComponentRef Id="cmp0B0A70880E3C505B199705D415235AC7" /> <ComponentRef Id="cmp0B0A70880E3C505B199705D415235AC7" />
<ComponentRef Id="cmp41C1093548579E6BE087DD4BE735B7C5" />
<ComponentRef Id="cmpD50999EDF5C2480D6F6F6A04E6B127F3" /> <ComponentRef Id="cmpD50999EDF5C2480D6F6F6A04E6B127F3" />
<ComponentRef Id="cmp5740FF469BE73A073AF9A5DB75C36C8F" />
<ComponentRef Id="cmpDD19E9A8DE8058599CFC66AF8DB39487" /> <ComponentRef Id="cmpDD19E9A8DE8058599CFC66AF8DB39487" />
<ComponentRef Id="cmp6BB67EB735F0C8C23D4B94F0096A19BF" />
<ComponentRef Id="cmpB8AFC5E7298C4FB423F21E474D718248" /> <ComponentRef Id="cmpB8AFC5E7298C4FB423F21E474D718248" />
<ComponentRef Id="cmp41A0F324C636C03565EFAB5DC1197958" /> <ComponentRef Id="cmp41A0F324C636C03565EFAB5DC1197958" />
<ComponentRef Id="cmp08025CB77BA01465D21171D27231AE6A" /> <ComponentRef Id="cmp08025CB77BA01465D21171D27231AE6A" />

View File

@ -12,9 +12,15 @@
<Component Id="cmp905F254ECBC3BCB861BBBF60B0F34D73" Guid="*"> <Component Id="cmp905F254ECBC3BCB861BBBF60B0F34D73" Guid="*">
<File Id="fil811C8A53860477F59CD4D11BF7C36A5E" KeyPath="yes" Source="..\i3nt\bin\i3nt\csv951.lib" /> <File Id="fil811C8A53860477F59CD4D11BF7C36A5E" KeyPath="yes" Source="..\i3nt\bin\i3nt\csv951.lib" />
</Component> </Component>
<Component Id="cmp43EE1BA94E7D15B5F9721D32B41CDFF1" Guid="*">
<File Id="fil3475AECC40E6C77A1E5A74C81205D246" KeyPath="yes" Source="..\i3nt\bin\i3nt\csv951.pdb" />
</Component>
<Component Id="cmp2660425B08191D07FD2B8E4D12C25CAF" Guid="*"> <Component Id="cmp2660425B08191D07FD2B8E4D12C25CAF" Guid="*">
<File Id="fil6C14AF587FDAABD1440BADC640EEF64E" KeyPath="yes" Source="..\i3nt\bin\i3nt\petite.exe" /> <File Id="fil6C14AF587FDAABD1440BADC640EEF64E" KeyPath="yes" Source="..\i3nt\bin\i3nt\petite.exe" />
</Component> </Component>
<Component Id="cmpAC1ABACB8A49AE94049D935A4287537A" Guid="*">
<File Id="filC15378730032D4E1DF3C49336189B52D" KeyPath="yes" Source="..\i3nt\bin\i3nt\petite.pdb" />
</Component>
<Component Id="cmpE28E1FD7F26C181DE59FFBF90644FC76" Guid="*"> <Component Id="cmpE28E1FD7F26C181DE59FFBF90644FC76" Guid="*">
<File Id="filC9140B162E813FF1382AAFCAD00F39F7" KeyPath="yes" Source="..\i3nt\bin\i3nt\scheme.exe"> <File Id="filC9140B162E813FF1382AAFCAD00F39F7" KeyPath="yes" Source="..\i3nt\bin\i3nt\scheme.exe">
<Shortcut Id="cs_i3nt_shortcut" <Shortcut Id="cs_i3nt_shortcut"
@ -26,6 +32,9 @@
WorkingDirectory="APPLICATIONFOLDER"/> WorkingDirectory="APPLICATIONFOLDER"/>
</File> </File>
</Component> </Component>
<Component Id="cmp96EA6B2AB750C71AA1E52C818D83CAA4">
<File Id="filADC31C50E441F5FCF3FD24F2A89DEB6C" Source="..\i3nt\bin\i3nt\scheme.pdb" />
</Component>
</Directory> </Directory>
</DirectoryRef> </DirectoryRef>
<DirectoryRef Id="D_boot"> <DirectoryRef Id="D_boot">
@ -60,8 +69,11 @@
<ComponentRef Id="cmp3EAD5F342D86023E323C2F3E96A596B9" /> <ComponentRef Id="cmp3EAD5F342D86023E323C2F3E96A596B9" />
<ComponentRef Id="cmpF2410A7AF5FB7C10A33DA57476B0E56B" /> <ComponentRef Id="cmpF2410A7AF5FB7C10A33DA57476B0E56B" />
<ComponentRef Id="cmp905F254ECBC3BCB861BBBF60B0F34D73" /> <ComponentRef Id="cmp905F254ECBC3BCB861BBBF60B0F34D73" />
<ComponentRef Id="cmp43EE1BA94E7D15B5F9721D32B41CDFF1" />
<ComponentRef Id="cmp2660425B08191D07FD2B8E4D12C25CAF" /> <ComponentRef Id="cmp2660425B08191D07FD2B8E4D12C25CAF" />
<ComponentRef Id="cmpAC1ABACB8A49AE94049D935A4287537A" />
<ComponentRef Id="cmpE28E1FD7F26C181DE59FFBF90644FC76" /> <ComponentRef Id="cmpE28E1FD7F26C181DE59FFBF90644FC76" />
<ComponentRef Id="cmp96EA6B2AB750C71AA1E52C818D83CAA4" />
<ComponentRef Id="cmp47E339F22F1D268C3D889C89DC04B1EC" /> <ComponentRef Id="cmp47E339F22F1D268C3D889C89DC04B1EC" />
<ComponentRef Id="cmp97E86E3E78EC5C1E35333413F9D239A9" /> <ComponentRef Id="cmp97E86E3E78EC5C1E35333413F9D239A9" />
<ComponentRef Id="cmp4EC08D9AF0D6DADE3077A7EB099476B4" /> <ComponentRef Id="cmp4EC08D9AF0D6DADE3077A7EB099476B4" />

View File

@ -12,9 +12,15 @@
<Component Id="cmp372F759C97C3C69E4C336B81D807E4F5" Guid="*"> <Component Id="cmp372F759C97C3C69E4C336B81D807E4F5" Guid="*">
<File Id="fil602A8BBB83416294672AA22507E6452A" KeyPath="yes" Source="..\ta6nt\bin\ta6nt\csv951.lib" /> <File Id="fil602A8BBB83416294672AA22507E6452A" KeyPath="yes" Source="..\ta6nt\bin\ta6nt\csv951.lib" />
</Component> </Component>
<Component Id="cmp009F56824D2716FAAC978FE17A4D947D" Guid="*">
<File Id="filDD0E7D06D27FC4C00388CB48E4B2818C" KeyPath="yes" Source="..\ta6nt\bin\ta6nt\csv951.pdb" />
</Component>
<Component Id="cmp50972D99EC9DDA63E4BC6E29DAA592D0" Guid="*"> <Component Id="cmp50972D99EC9DDA63E4BC6E29DAA592D0" Guid="*">
<File Id="fil8A260A0B8935F8F9011AA2EDB9147BDE" KeyPath="yes" Source="..\ta6nt\bin\ta6nt\petite.exe" /> <File Id="fil8A260A0B8935F8F9011AA2EDB9147BDE" KeyPath="yes" Source="..\ta6nt\bin\ta6nt\petite.exe" />
</Component> </Component>
<Component Id="cmp06CB93AA8B342FF0F33E91AAD7442833" Guid="*">
<File Id="fil28785B1496AE7F6C41D003949FC2B161" KeyPath="yes" Source="..\ta6nt\bin\ta6nt\petite.pdb" />
</Component>
<Component Id="cmpDEB15B7CB19176296C92E8032592FDB4" Guid="*"> <Component Id="cmpDEB15B7CB19176296C92E8032592FDB4" Guid="*">
<File Id="fil25DA5700F745B21085322BA7CBBEFEB7" KeyPath="yes" Source="..\ta6nt\bin\ta6nt\scheme.exe"> <File Id="fil25DA5700F745B21085322BA7CBBEFEB7" KeyPath="yes" Source="..\ta6nt\bin\ta6nt\scheme.exe">
<Shortcut Id="cs_ta6nt_shortcut" <Shortcut Id="cs_ta6nt_shortcut"
@ -26,6 +32,9 @@
WorkingDirectory="APPLICATIONFOLDER"/> WorkingDirectory="APPLICATIONFOLDER"/>
</File> </File>
</Component> </Component>
<Component Id="cmp11A1080D3E8EBF95EED2BE17CA4E3140" Guid="*">
<File Id="filB463198F2BD7379A7E3A758313DBEF30" KeyPath="yes" Source="..\ta6nt\bin\ta6nt\scheme.pdb" />
</Component>
</Directory> </Directory>
</DirectoryRef> </DirectoryRef>
<DirectoryRef Id="D_boot"> <DirectoryRef Id="D_boot">
@ -60,8 +69,11 @@
<ComponentRef Id="cmpA67EF6318D00B4209BFCD0BFDCDF781C" /> <ComponentRef Id="cmpA67EF6318D00B4209BFCD0BFDCDF781C" />
<ComponentRef Id="cmpF41FF9DE554F79FB6FBD85E5B80A5221" /> <ComponentRef Id="cmpF41FF9DE554F79FB6FBD85E5B80A5221" />
<ComponentRef Id="cmp372F759C97C3C69E4C336B81D807E4F5" /> <ComponentRef Id="cmp372F759C97C3C69E4C336B81D807E4F5" />
<ComponentRef Id="cmp009F56824D2716FAAC978FE17A4D947D" />
<ComponentRef Id="cmp50972D99EC9DDA63E4BC6E29DAA592D0" /> <ComponentRef Id="cmp50972D99EC9DDA63E4BC6E29DAA592D0" />
<ComponentRef Id="cmp06CB93AA8B342FF0F33E91AAD7442833" />
<ComponentRef Id="cmpDEB15B7CB19176296C92E8032592FDB4" /> <ComponentRef Id="cmpDEB15B7CB19176296C92E8032592FDB4" />
<ComponentRef Id="cmp11A1080D3E8EBF95EED2BE17CA4E3140" />
<ComponentRef Id="cmpCBDB945622604667783C3C57A0427DF5" /> <ComponentRef Id="cmpCBDB945622604667783C3C57A0427DF5" />
<ComponentRef Id="cmpD7880184C113065E511275EFD531D589" /> <ComponentRef Id="cmpD7880184C113065E511275EFD531D589" />
<ComponentRef Id="cmp5211817ED85951CDAF2FD5E2419BD211" /> <ComponentRef Id="cmp5211817ED85951CDAF2FD5E2419BD211" />

View File

@ -12,9 +12,15 @@
<Component Id="cmpCA1F1C55C49A3A332E60F8D0D78363C2" Guid="*"> <Component Id="cmpCA1F1C55C49A3A332E60F8D0D78363C2" Guid="*">
<File Id="filB8607D2BF295249DD6F51070A687E14B" KeyPath="yes" Source="..\ti3nt\bin\ti3nt\csv951.lib" /> <File Id="filB8607D2BF295249DD6F51070A687E14B" KeyPath="yes" Source="..\ti3nt\bin\ti3nt\csv951.lib" />
</Component> </Component>
<Component Id="cmp01D266C0ECE540BE4BF6E6AE14AFFCBB" Guid="*">
<File Id="filE99735E84B4934FC41AAA6BBF547F1C5" KeyPath="yes" Source="..\ti3nt\bin\ti3nt\csv951.pdb" />
</Component>
<Component Id="cmpC00FD9C7415A1D2D22EA38F5259CAAA4" Guid="*"> <Component Id="cmpC00FD9C7415A1D2D22EA38F5259CAAA4" Guid="*">
<File Id="fil80D2F31CB0D3B8F98E3C8CCAF9DA6F29" KeyPath="yes" Source="..\ti3nt\bin\ti3nt\petite.exe" /> <File Id="fil80D2F31CB0D3B8F98E3C8CCAF9DA6F29" KeyPath="yes" Source="..\ti3nt\bin\ti3nt\petite.exe" />
</Component> </Component>
<Component Id="cmp0949B35B6635F6A272D3653F0A7E1C06" Guid="*">
<File Id="fil00202A504AF867AFC9C6D2FD59A70835" KeyPath="yes" Source="..\ti3nt\bin\ti3nt\petite.pdb" />
</Component>
<Component Id="cmp10BA4CB7C0EB863E5ADE7BC00B949622" Guid="*"> <Component Id="cmp10BA4CB7C0EB863E5ADE7BC00B949622" Guid="*">
<File Id="filE30343224C6DDDA38B98EFAFC66A3E13" KeyPath="yes" Source="..\ti3nt\bin\ti3nt\scheme.exe"> <File Id="filE30343224C6DDDA38B98EFAFC66A3E13" KeyPath="yes" Source="..\ti3nt\bin\ti3nt\scheme.exe">
<Shortcut Id="cs_ti3nt_shortcut" <Shortcut Id="cs_ti3nt_shortcut"
@ -26,6 +32,9 @@
WorkingDirectory="APPLICATIONFOLDER"/> WorkingDirectory="APPLICATIONFOLDER"/>
</File> </File>
</Component> </Component>
<Component Id="cmp13CD3D77D4FA3BAC5500D6A9D0C6F7DB">
<File Id="fil38418D3FE9E8C3F883F39363313BB74F" Source="..\ti3nt\bin\ti3nt\scheme.pdb" />
</Component>
</Directory> </Directory>
</DirectoryRef> </DirectoryRef>
<DirectoryRef Id="D_boot"> <DirectoryRef Id="D_boot">
@ -62,8 +71,11 @@
<ComponentRef Id="cmp3E51840FF941B7410025EFB2215EAB58" /> <ComponentRef Id="cmp3E51840FF941B7410025EFB2215EAB58" />
<ComponentRef Id="cmp68BA21E76800BFFA057D33973E89D8F4" /> <ComponentRef Id="cmp68BA21E76800BFFA057D33973E89D8F4" />
<ComponentRef Id="cmpCA1F1C55C49A3A332E60F8D0D78363C2" /> <ComponentRef Id="cmpCA1F1C55C49A3A332E60F8D0D78363C2" />
<ComponentRef Id="cmp01D266C0ECE540BE4BF6E6AE14AFFCBB" />
<ComponentRef Id="cmpC00FD9C7415A1D2D22EA38F5259CAAA4" /> <ComponentRef Id="cmpC00FD9C7415A1D2D22EA38F5259CAAA4" />
<ComponentRef Id="cmp0949B35B6635F6A272D3653F0A7E1C06" />
<ComponentRef Id="cmp10BA4CB7C0EB863E5ADE7BC00B949622" /> <ComponentRef Id="cmp10BA4CB7C0EB863E5ADE7BC00B949622" />
<ComponentRef Id="cmp13CD3D77D4FA3BAC5500D6A9D0C6F7DB" />
<ComponentRef Id="cmp7099C9EB3F487AAFE3A880CED21FA9C2" /> <ComponentRef Id="cmp7099C9EB3F487AAFE3A880CED21FA9C2" />
<ComponentRef Id="cmpF3038779EA05930E72A29C15DC2D64B2" /> <ComponentRef Id="cmpF3038779EA05930E72A29C15DC2D64B2" />
<ComponentRef Id="cmp9DDE0523EFC5EEA983DE3CFA0F493908" /> <ComponentRef Id="cmp9DDE0523EFC5EEA983DE3CFA0F493908" />