Code Monkey home page Code Monkey logo

grift's People

Contributors

akuhlens avatar deyaaeldeen avatar newuser1001 avatar rfindler avatar temurson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

grift's Issues

Prerequisite software for installing grift?

Hello, I've been trying to install grift via raco (on Racket 7.4) on Ubuntu 18.04. What other pieces of software are prerequisites to installing grift? I've attached a log of the output when trying to install. It's a fresh installation, so many packages could be missing.
grift-output.txt

Inline code for functions that have exactly one calling site.

I think we should inline functions that have exactly one calling site and can be rewritten iteratively instead of recursively. Some functions come to mind as potential candidates: coerce_tuple, coerce_tuple_in_place, mk_fn_crcn, and mk_tuple_crcn.

Indeterminate build?

I am unsure whether or not grift successfully built, but it looks like the answer is "no".

Here's the first run of `raco pkg install grift`.
$ raco pkg install grift
Resolving "grift" via https://download.racket-lang.org/releases/7.1/catalog/
Resolving "grift" via https://pkgs.racket-lang.org
Downloading repository https://github.com/Gradual-Typing/Grift.git
raco setup: version: 7.1
raco setup: platform: x86_64-macosx [3m]
raco setup: installation name: 7.1
raco setup: variants: 3m
raco setup: main collects: /Applications/Racket v7.1/collects
raco setup: collects paths: 
raco setup:   /Users/mgree/Library/Racket/7.1/collects
raco setup:   /Applications/Racket v7.1/collects
raco setup: main pkgs: /Applications/Racket v7.1/share/pkgs
raco setup: pkgs paths: 
raco setup:   /Applications/Racket v7.1/share/pkgs
raco setup:   /Users/mgree/Library/Racket/7.1/pkgs
raco setup: links files: 
raco setup:   /Applications/Racket v7.1/share/links.rktd
raco setup:   /Users/mgree/Library/Racket/7.1/links.rktd
raco setup: main docs: /Applications/Racket v7.1/doc
raco setup: --- updating info-domain tables ---
raco setup: updating: /Users/mgree/Library/Racket/7.1/share/info-cache.rktd
raco setup: --- pre-installing collections ---
raco setup: --- installing foreign libraries ---
raco setup: --- installing shared files ---
raco setup: --- compiling collections ---
raco setup: --- parallel build using 8 jobs ---
raco setup: 7 making: <pkgs>/grift
raco setup: 7 making: <pkgs>/grift/benchmark
raco setup: 7 making: <pkgs>/grift/src
raco setup: 7 making: <pkgs>/grift/src/backend-c
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/Mac_files
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/cord
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/extra
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/include
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/include/extra
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/include/private
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops/pkgconfig
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops/src
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops/src/atomic_ops
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/armcc
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/hpc
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/ibmc
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/icc
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/msftc
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/sunc
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/libatomic_ops/tests
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/m4
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/schml_compiled
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/schml_compiled/include
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/schml_compiled/include/gc
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/schml_compiled/lib
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/schml_compiled/lib/pkgconfig
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/schml_compiled/share
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/schml_compiled/share/gc
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/boehm-gc/tests
raco setup: 7 making: <pkgs>/grift/src/backend-c/runtime/tests
raco setup: 7 making: <pkgs>/grift/src/casts
raco setup: 7 making: <pkgs>/grift/src/data
raco setup: 7 making: <pkgs>/grift/src/grift
raco setup: 7 making: <pkgs>/grift/src/language
raco setup: 7 making: <pkgs>/grift/src/lib
raco setup: 7 making: <pkgs>/grift/tests
raco setup: 7 making: <pkgs>/grift/tests/suite
raco setup: 7 making: <pkgs>/grift/tests/suite/boxes
raco setup: 7 making: <pkgs>/grift/tests/suite/core
raco setup: 7 making: <pkgs>/grift/tests/suite/core/binding
raco setup: 7 making: <pkgs>/grift/tests/suite/large
raco setup: 7 making: <pkgs>/grift/tests/suite/monoboxes
raco setup: 7 making: <pkgs>/grift/tests/suite/monovectors
raco setup: 7 making: <pkgs>/grift/tests/suite/mu
raco setup: 7 making: <pkgs>/grift/tests/suite/program
raco setup: 7 making: <pkgs>/grift/tests/suite/static
raco setup: 7 making: <pkgs>/grift/tests/suite/static/binding
raco setup: 7 making: <pkgs>/grift/tests/suite/static/floats
raco setup: 7 making: <pkgs>/grift/tests/suite/tools
raco setup: 7 making: <pkgs>/grift/tests/suite/tuples
raco setup: 7 making: <pkgs>/grift/tests/suite/vectors
raco setup: --- creating launchers ---
raco setup: launcher: /Users/mgree/Library/Racket/7.1/bin/grift
raco setup: launcher: /Users/mgree/Library/Racket/7.1/bin/grift-bench
raco setup: launcher: /Users/mgree/Library/Racket/7.1/bin/grift-configs
raco setup: --- installing man pages ---
raco setup: --- building documentation ---
raco setup: --- installing collections ---
raco setup: --- post-installing collections ---
raco setup: post-installing: <pkgs>/grift
PWD=`pwd`; cd boehm-gc; ./configure --prefix=/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 nonegc.c -c -o nonegc.o
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 io.c -c -o io.o
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 assoc_stack.c -c -o assoc_stack.o
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 hashcons.c -c -o hashcons.o
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 suspended_cast.c -c -o suspended_cast.o
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 cast_queue.c -c -o cast_queue.o
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 castprofiler.c -c -o castprofiler.o
checking build system type... cast_queue.c:2:10: fatal error: 'boehm-gc-install/include/gc/gc.h' file not found
#include "boehm-gc-install/include/gc/gc.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hashcons.c:6:10: fatal error: 'boehm-gc-install/include/gc/gc.h' file not found
#include "boehm-gc-install/include/gc/gc.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [cast_queue.o] Error 1
make: *** Waiting for unfinished jobs....
1 error generated.
In file included from assoc_stack.c:4:
./runtime.h:13:10: fatal error: In file included from io.c:'boehm-gc-install/include/gc/gc.h' 1file:
 not found./runtime.h
:13:10: fatal error: 'boehm-gc-install/include/gc/gc.h' file not found
#include "boehm-gc-install/include/gc/gc.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include "boehm-gc-install/include/gc/gc.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [hashcons.o] Error 1
1 error generated.
1 error generated.
make: *** [assoc_stack.o] Error 1
make: *** [io.o] Error 1
x86_64-apple-darwin17.7.0
checking host system type... x86_64-apple-darwin17.7.0
checking target system type... x86_64-apple-darwin17.7.0
checking GC version numbers... major=7 minor=2 
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking dependency style of gcc... gcc3
checking for thread model used by GCC... posix
checking for inline... inline
checking for pthread_self in -lpthread... yes
configure: WARNING: "Explicit GC_INIT() calls may be required."
checking for xlc... no
checking whether gcc supports -fno-strict-aliasing... yes
checking whether to build shared libraries... yes
checking which machine-dependent code should be used... 
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-apple-darwin17.7.0 file names to x86_64-apple-darwin17.7.0 format... func_convert_file_noop
checking how to convert x86_64-apple-darwin17.7.0 file names to toolchain format... func_convert_file_noop
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin17.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking whether the g++ linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fno-common -DPIC
checking if g++ PIC flag -fno-common -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin17.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether Solaris gcc optimization fix is necessary... no
checking sys/dg_sys_info.h usability... no
checking sys/dg_sys_info.h presence... no
checking for sys/dg_sys_info.h... no
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for ATOMIC_OPS... no
checking which libatomic_ops to use... internal
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating bdw-gc.pc
config.status: creating include/private/config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default commands
=== configuring in libatomic_ops (/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime/boehm-gc/libatomic_ops)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install'  'PKG_CONFIG_PATH=/Users/mgree/.opam/4.10.0/lib/pkgconfig' --cache-file=/dev/null --srcdir=.
checking build system type... x86_64-apple-darwin17.7.0
checking host system type... x86_64-apple-darwin17.7.0
checking target system type... x86_64-apple-darwin17.7.0
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for ranlib... ranlib
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... yes
checking for ANSI C header files... (cached) yes
checking for PIC compiler flag... -fPIC
checking whether gcc -fPIC causes __PIC__ definition... yes
checking for pthread_self in -lpthread... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating pkgconfig/atomic_ops.pc
config.status: creating pkgconfig/atomic_ops-uninstalled.pc
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating src/atomic_ops/Makefile
config.status: creating src/atomic_ops/sysdeps/Makefile
config.status: creating tests/Makefile
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing default commands
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C boehm-gc
depbase=`echo allchblk.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT allchblk.lo -MD -MP -MF $depbase.Tpo -c -o allchblk.lo allchblk.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo alloc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT alloc.lo -MD -MP -MF $depbase.Tpo -c -o alloc.lo alloc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo blacklst.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT blacklst.lo -MD -MP -MF $depbase.Tpo -c -o blacklst.lo blacklst.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo checksums.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT checksums.lo -MD -MP -MF $depbase.Tpo -c -o checksums.lo checksums.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo dbg_mlc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT dbg_mlc.lo -MD -MP -MF $depbase.Tpo -c -o dbg_mlc.lo dbg_mlc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo dyn_load.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT dyn_load.lo -MD -MP -MF $depbase.Tpo -c -o dyn_load.lo dyn_load.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo finalize.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT finalize.lo -MD -MP -MF $depbase.Tpo -c -o finalize.lo finalize.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo gc_dlopen.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT gc_dlopen.lo -MD -MP -MF $depbase.Tpo -c -o gc_dlopen.lo gc_dlopen.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT dyn_load.lo -MD -MP -MF .deps/dyn_load.Tpo -c dyn_load.c  -fno-common -DPIC -o .libs/dyn_load.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT blacklst.lo -MD -MP -MF .deps/blacklst.Tpo -c blacklst.c  -fno-common -DPIC -o .libs/blacklst.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT alloc.lo -MD -MP -MF .deps/alloc.Tpo -c alloc.c  -fno-common -DPIC -o .libs/alloc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT checksums.lo -MD -MP -MF .deps/checksums.Tpo -c checksums.c  -fno-common -DPIC -o .libs/checksums.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT dbg_mlc.lo -MD -MP -MF .deps/dbg_mlc.Tpo -c dbg_mlc.c  -fno-common -DPIC -o .libs/dbg_mlc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT allchblk.lo -MD -MP -MF .deps/allchblk.Tpo -c allchblk.c  -fno-common -DPIC -o .libs/allchblk.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT gc_dlopen.lo -MD -MP -MF .deps/gc_dlopen.Tpo -c gc_dlopen.c  -fno-common -DPIC -o .libs/gc_dlopen.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT finalize.lo -MD -MP -MF .deps/finalize.Tpo -c finalize.c  -fno-common -DPIC -o .libs/finalize.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT gc_dlopen.lo -MD -MP -MF .deps/gc_dlopen.Tpo -c gc_dlopen.c -o gc_dlopen.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT checksums.lo -MD -MP -MF .deps/checksums.Tpo -c checksums.c -o checksums.o >/dev/null 2>&1
dyn_load.c:1396:37: warning: incompatible pointer types passing 'void (const struct mach_header_64 *, intptr_t)' (aka
      'void (const struct mach_header_64 *, long)') to parameter of type 'void (*)(const struct mach_header *, intptr_t)' (aka
      'void (*)(const struct mach_header *, long)') [-Wincompatible-pointer-types]
  _dyld_register_func_for_add_image(GC_dyld_image_add);
                                    ^~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach-o/dyld.h:61:54: note: passing argument to parameter 'func' here
extern void _dyld_register_func_for_add_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide))    __OSX_AVAILABLE_STARTING...
                                                     ^
dyn_load.c:1397:40: warning: incompatible pointer types passing 'void (const struct mach_header_64 *, intptr_t)' (aka
      'void (const struct mach_header_64 *, long)') to parameter of type 'void (*)(const struct mach_header *, intptr_t)' (aka
      'void (*)(const struct mach_header *, long)') [-Wincompatible-pointer-types]
  _dyld_register_func_for_remove_image(GC_dyld_image_remove);
                                       ^~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach-o/dyld.h:62:57: note: passing argument to parameter 'func' here
extern void _dyld_register_func_for_remove_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide)) __OSX_AVAILABLE_STARTING...
                                                        ^
dyn_load.c:1420:12: warning: '_dyld_bind_fully_image_containing_address' is deprecated: first deprecated in macOS 10.5 - dlopen(RTLD_NOW)
      [-Wdeprecated-declarations]
      if (!_dyld_bind_fully_image_containing_address(
           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach-o/dyld.h:244:13: note: '_dyld_bind_fully_image_containing_address' has been
      explicitly marked deprecated here
extern bool _dyld_bind_fully_image_containing_address(const void* address)                   __API_UNAVAILABLE(ios, tvos, watchos)  __OSX_DE...
            ^
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT blacklst.lo -MD -MP -MF .deps/blacklst.Tpo -c blacklst.c -o blacklst.o >/dev/null 2>&1
3 warnings generated.
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT dyn_load.lo -MD -MP -MF .deps/dyn_load.Tpo -c dyn_load.c -o dyn_load.o >/dev/null 2>&1
depbase=`echo gcj_mlc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT gcj_mlc.lo -MD -MP -MF $depbase.Tpo -c -o gcj_mlc.lo gcj_mlc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo headers.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT headers.lo -MD -MP -MF $depbase.Tpo -c -o headers.lo headers.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT gcj_mlc.lo -MD -MP -MF .deps/gcj_mlc.Tpo -c gcj_mlc.c  -fno-common -DPIC -o .libs/gcj_mlc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT headers.lo -MD -MP -MF .deps/headers.Tpo -c headers.c  -fno-common -DPIC -o .libs/headers.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT allchblk.lo -MD -MP -MF .deps/allchblk.Tpo -c allchblk.c -o allchblk.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT dbg_mlc.lo -MD -MP -MF .deps/dbg_mlc.Tpo -c dbg_mlc.c -o dbg_mlc.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT finalize.lo -MD -MP -MF .deps/finalize.Tpo -c finalize.c -o finalize.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT alloc.lo -MD -MP -MF .deps/alloc.Tpo -c alloc.c -o alloc.o >/dev/null 2>&1
depbase=`echo malloc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT malloc.lo -MD -MP -MF $depbase.Tpo -c -o malloc.lo malloc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo mallocx.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT mallocx.lo -MD -MP -MF $depbase.Tpo -c -o mallocx.lo mallocx.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT malloc.lo -MD -MP -MF .deps/malloc.Tpo -c malloc.c  -fno-common -DPIC -o .libs/malloc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT gcj_mlc.lo -MD -MP -MF .deps/gcj_mlc.Tpo -c gcj_mlc.c -o gcj_mlc.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mallocx.lo -MD -MP -MF .deps/mallocx.Tpo -c mallocx.c  -fno-common -DPIC -o .libs/mallocx.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT headers.lo -MD -MP -MF .deps/headers.Tpo -c headers.c -o headers.o >/dev/null 2>&1
depbase=`echo mark.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT mark.lo -MD -MP -MF $depbase.Tpo -c -o mark.lo mark.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo mark_rts.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT mark_rts.lo -MD -MP -MF $depbase.Tpo -c -o mark_rts.lo mark_rts.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT malloc.lo -MD -MP -MF .deps/malloc.Tpo -c malloc.c -o malloc.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mark.lo -MD -MP -MF .deps/mark.Tpo -c mark.c  -fno-common -DPIC -o .libs/mark.o
depbase=`echo misc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT misc.lo -MD -MP -MF $depbase.Tpo -c -o misc.lo misc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mark_rts.lo -MD -MP -MF .deps/mark_rts.Tpo -c mark_rts.c  -fno-common -DPIC -o .libs/mark_rts.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mallocx.lo -MD -MP -MF .deps/mallocx.Tpo -c mallocx.c -o mallocx.o >/dev/null 2>&1
depbase=`echo new_hblk.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT new_hblk.lo -MD -MP -MF $depbase.Tpo -c -o new_hblk.lo new_hblk.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT misc.lo -MD -MP -MF .deps/misc.Tpo -c misc.c  -fno-common -DPIC -o .libs/misc.o
depbase=`echo obj_map.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT obj_map.lo -MD -MP -MF $depbase.Tpo -c -o obj_map.lo obj_map.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT new_hblk.lo -MD -MP -MF .deps/new_hblk.Tpo -c new_hblk.c  -fno-common -DPIC -o .libs/new_hblk.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT obj_map.lo -MD -MP -MF .deps/obj_map.Tpo -c obj_map.c  -fno-common -DPIC -o .libs/obj_map.o
depbase=`echo os_dep.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT os_dep.lo -MD -MP -MF $depbase.Tpo -c -o os_dep.lo os_dep.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo pcr_interface.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT pcr_interface.lo -MD -MP -MF $depbase.Tpo -c -o pcr_interface.lo pcr_interface.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT obj_map.lo -MD -MP -MF .deps/obj_map.Tpo -c obj_map.c -o obj_map.o >/dev/null 2>&1
depbase=`echo ptr_chck.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT ptr_chck.lo -MD -MP -MF $depbase.Tpo -c -o ptr_chck.lo ptr_chck.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT os_dep.lo -MD -MP -MF .deps/os_dep.Tpo -c os_dep.c  -fno-common -DPIC -o .libs/os_dep.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pcr_interface.lo -MD -MP -MF .deps/pcr_interface.Tpo -c pcr_interface.c  -fno-common -DPIC -o .libs/pcr_interface.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT new_hblk.lo -MD -MP -MF .deps/new_hblk.Tpo -c new_hblk.c -o new_hblk.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mark_rts.lo -MD -MP -MF .deps/mark_rts.Tpo -c mark_rts.c -o mark_rts.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT ptr_chck.lo -MD -MP -MF .deps/ptr_chck.Tpo -c ptr_chck.c  -fno-common -DPIC -o .libs/ptr_chck.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pcr_interface.lo -MD -MP -MF .deps/pcr_interface.Tpo -c pcr_interface.c -o pcr_interface.o >/dev/null 2>&1
depbase=`echo real_malloc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT real_malloc.lo -MD -MP -MF $depbase.Tpo -c -o real_malloc.lo real_malloc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT ptr_chck.lo -MD -MP -MF .deps/ptr_chck.Tpo -c ptr_chck.c -o ptr_chck.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT real_malloc.lo -MD -MP -MF .deps/real_malloc.Tpo -c real_malloc.c  -fno-common -DPIC -o .libs/real_malloc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT misc.lo -MD -MP -MF .deps/misc.Tpo -c misc.c -o misc.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT real_malloc.lo -MD -MP -MF .deps/real_malloc.Tpo -c real_malloc.c -o real_malloc.o >/dev/null 2>&1
depbase=`echo reclaim.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT reclaim.lo -MD -MP -MF $depbase.Tpo -c -o reclaim.lo reclaim.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo specific.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT specific.lo -MD -MP -MF $depbase.Tpo -c -o specific.lo specific.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo stubborn.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT stubborn.lo -MD -MP -MF $depbase.Tpo -c -o stubborn.lo stubborn.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo typd_mlc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT typd_mlc.lo -MD -MP -MF $depbase.Tpo -c -o typd_mlc.lo typd_mlc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT reclaim.lo -MD -MP -MF .deps/reclaim.Tpo -c reclaim.c  -fno-common -DPIC -o .libs/reclaim.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT specific.lo -MD -MP -MF .deps/specific.Tpo -c specific.c  -fno-common -DPIC -o .libs/specific.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mark.lo -MD -MP -MF .deps/mark.Tpo -c mark.c -o mark.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT stubborn.lo -MD -MP -MF .deps/stubborn.Tpo -c stubborn.c  -fno-common -DPIC -o .libs/stubborn.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT typd_mlc.lo -MD -MP -MF .deps/typd_mlc.Tpo -c typd_mlc.c  -fno-common -DPIC -o .libs/typd_mlc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT os_dep.lo -MD -MP -MF .deps/os_dep.Tpo -c os_dep.c -o os_dep.o >/dev/null 2>&1
depbase=`echo backgraph.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT backgraph.lo -MD -MP -MF $depbase.Tpo -c -o backgraph.lo backgraph.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT specific.lo -MD -MP -MF .deps/specific.Tpo -c specific.c -o specific.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT backgraph.lo -MD -MP -MF .deps/backgraph.Tpo -c backgraph.c  -fno-common -DPIC -o .libs/backgraph.o
typd_mlc.c:363:37: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
                            (((word)WORDS_TO_BYTES(-1)) | GC_DS_PER_OBJECT),
                                    ^~~~~~~~~~~~~~~~~~
./include/private/gc_priv.h:567:35: note: expanded from macro 'WORDS_TO_BYTES'
#  define WORDS_TO_BYTES(x)   ((x)<<3)
                               ~~~^
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT stubborn.lo -MD -MP -MF .deps/stubborn.Tpo -c stubborn.c -o stubborn.o >/dev/null 2>&1
depbase=`echo thread_local_alloc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT thread_local_alloc.lo -MD -MP -MF $depbase.Tpo -c -o thread_local_alloc.lo thread_local_alloc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT backgraph.lo -MD -MP -MF .deps/backgraph.Tpo -c backgraph.c -o backgraph.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT reclaim.lo -MD -MP -MF .deps/reclaim.Tpo -c reclaim.c -o reclaim.o >/dev/null 2>&1
depbase=`echo pthread_start.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_start.lo -MD -MP -MF $depbase.Tpo -c -o pthread_start.lo pthread_start.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT thread_local_alloc.lo -MD -MP -MF .deps/thread_local_alloc.Tpo -c thread_local_alloc.c  -fno-common -DPIC -o .libs/thread_local_alloc.o
1 warning generated.
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT typd_mlc.lo -MD -MP -MF .deps/typd_mlc.Tpo -c typd_mlc.c -o typd_mlc.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_start.lo -MD -MP -MF .deps/pthread_start.Tpo -c pthread_start.c  -fno-common -DPIC -o .libs/pthread_start.o
depbase=`echo pthread_support.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_support.lo -MD -MP -MF $depbase.Tpo -c -o pthread_support.lo pthread_support.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo pthread_stop_world.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_stop_world.lo -MD -MP -MF $depbase.Tpo -c -o pthread_stop_world.lo pthread_stop_world.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo darwin_stop_world.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT darwin_stop_world.lo -MD -MP -MF $depbase.Tpo -c -o darwin_stop_world.lo darwin_stop_world.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_stop_world.lo -MD -MP -MF .deps/pthread_stop_world.Tpo -c pthread_stop_world.c  -fno-common -DPIC -o .libs/pthread_stop_world.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_support.lo -MD -MP -MF .deps/pthread_support.Tpo -c pthread_support.c  -fno-common -DPIC -o .libs/pthread_support.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT darwin_stop_world.lo -MD -MP -MF .deps/darwin_stop_world.Tpo -c darwin_stop_world.c  -fno-common -DPIC -o .libs/darwin_stop_world.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT thread_local_alloc.lo -MD -MP -MF .deps/thread_local_alloc.Tpo -c thread_local_alloc.c -o thread_local_alloc.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_start.lo -MD -MP -MF .deps/pthread_start.Tpo -c pthread_start.c -o pthread_start.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_stop_world.lo -MD -MP -MF .deps/pthread_stop_world.Tpo -c pthread_stop_world.c -o pthread_stop_world.o >/dev/null 2>&1
depbase=`echo mach_dep.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT mach_dep.lo -MD -MP -MF $depbase.Tpo -c -o mach_dep.lo mach_dep.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo libatomic_ops/src/atomic_ops.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT libatomic_ops/src/atomic_ops.lo -MD -MP -MF $depbase.Tpo -c -o libatomic_ops/src/atomic_ops.lo libatomic_ops/src/atomic_ops.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo cord/cordbscs.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordbscs.lo -MD -MP -MF $depbase.Tpo -c -o cord/cordbscs.lo cord/cordbscs.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mach_dep.lo -MD -MP -MF .deps/mach_dep.Tpo -c mach_dep.c  -fno-common -DPIC -o .libs/mach_dep.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT libatomic_ops/src/atomic_ops.lo -MD -MP -MF libatomic_ops/src/.deps/atomic_ops.Tpo -c libatomic_ops/src/atomic_ops.c  -fno-common -DPIC -o libatomic_ops/src/.libs/atomic_ops.o
depbase=`echo cord/cordprnt.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordprnt.lo -MD -MP -MF $depbase.Tpo -c -o cord/cordprnt.lo cord/cordprnt.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT darwin_stop_world.lo -MD -MP -MF .deps/darwin_stop_world.Tpo -c darwin_stop_world.c -o darwin_stop_world.o >/dev/null 2>&1
depbase=`echo cord/cordtest.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordtest.lo -MD -MP -MF $depbase.Tpo -c -o cord/cordtest.lo cord/cordtest.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordbscs.lo -MD -MP -MF cord/.deps/cordbscs.Tpo -c cord/cordbscs.c  -fno-common -DPIC -o cord/.libs/cordbscs.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordprnt.lo -MD -MP -MF cord/.deps/cordprnt.Tpo -c cord/cordprnt.c  -fno-common -DPIC -o cord/.libs/cordprnt.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordtest.lo -MD -MP -MF cord/.deps/cordtest.Tpo -c cord/cordtest.c  -fno-common -DPIC -o cord/.libs/cordtest.o
depbase=`echo cord/cordxtra.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordxtra.lo -MD -MP -MF $depbase.Tpo -c -o cord/cordxtra.lo cord/cordxtra.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mach_dep.lo -MD -MP -MF .deps/mach_dep.Tpo -c mach_dep.c -o mach_dep.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordxtra.lo -MD -MP -MF cord/.deps/cordxtra.Tpo -c cord/cordxtra.c  -fno-common -DPIC -o cord/.libs/cordxtra.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_support.lo -MD -MP -MF .deps/pthread_support.Tpo -c pthread_support.c -o pthread_support.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT libatomic_ops/src/atomic_ops.lo -MD -MP -MF libatomic_ops/src/.deps/atomic_ops.Tpo -c libatomic_ops/src/atomic_ops.c -o libatomic_ops/src/atomic_ops.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordtest.lo -MD -MP -MF cord/.deps/cordtest.Tpo -c cord/cordtest.c -o cord/cordtest.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordprnt.lo -MD -MP -MF cord/.deps/cordprnt.Tpo -c cord/cordprnt.c -o cord/cordprnt.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordbscs.lo -MD -MP -MF cord/.deps/cordbscs.Tpo -c cord/cordbscs.c -o cord/cordbscs.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordxtra.lo -MD -MP -MF cord/.deps/cordxtra.Tpo -c cord/cordxtra.c -o cord/cordxtra.o >/dev/null 2>&1
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing -Wl,-single_module -version-info 1:3:0 -no-undefined  -o libgc.la -rpath /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib allchblk.lo alloc.lo blacklst.lo checksums.lo dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo headers.lo malloc.lo mallocx.lo mark.lo mark_rts.lo misc.lo new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo ptr_chck.lo real_malloc.lo reclaim.lo specific.lo stubborn.lo typd_mlc.lo backgraph.lo thread_local_alloc.lo pthread_start.lo pthread_support.lo pthread_stop_world.lo darwin_stop_world.lo  libatomic_ops/src/atomic_ops.lo mach_dep.lo -lpthread   
libtool: link: gcc -dynamiclib  -o .libs/libgc.1.dylib  .libs/allchblk.o .libs/alloc.o .libs/blacklst.o .libs/checksums.o .libs/dbg_mlc.o .libs/dyn_load.o .libs/finalize.o .libs/gc_dlopen.o .libs/gcj_mlc.o .libs/headers.o .libs/malloc.o .libs/mallocx.o .libs/mark.o .libs/mark_rts.o .libs/misc.o .libs/new_hblk.o .libs/obj_map.o .libs/os_dep.o .libs/pcr_interface.o .libs/ptr_chck.o .libs/real_malloc.o .libs/reclaim.o .libs/specific.o .libs/stubborn.o .libs/typd_mlc.o .libs/backgraph.o .libs/thread_local_alloc.o .libs/pthread_start.o .libs/pthread_support.o .libs/pthread_stop_world.o .libs/darwin_stop_world.o libatomic_ops/src/.libs/atomic_ops.o .libs/mach_dep.o   -lpthread  -O2 -Wl,-single_module   -install_name  /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.1.dylib -compatibility_version 2 -current_version 2.3 -Wl,-single_module
libtool: link: (cd ".libs" && rm -f "libgc.dylib" && ln -s "libgc.1.dylib" "libgc.dylib")
libtool: link: ar cru .libs/libgc.a  allchblk.o alloc.o blacklst.o checksums.o dbg_mlc.o dyn_load.o finalize.o gc_dlopen.o gcj_mlc.o headers.o malloc.o mallocx.o mark.o mark_rts.o misc.o new_hblk.o obj_map.o os_dep.o pcr_interface.o ptr_chck.o real_malloc.o reclaim.o specific.o stubborn.o typd_mlc.o backgraph.o thread_local_alloc.o pthread_start.o pthread_support.o pthread_stop_world.o darwin_stop_world.o libatomic_ops/src/atomic_ops.o mach_dep.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(checksums.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(gc_dlopen.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(pcr_interface.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(real_malloc.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(specific.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(backgraph.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(pthread_stop_world.o) has no symbols
libtool: link: ranlib .libs/libgc.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(checksums.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(gc_dlopen.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(pcr_interface.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(real_malloc.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(specific.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(backgraph.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(pthread_stop_world.o) has no symbols
libtool: link: ( cd ".libs" && rm -f "libgc.la" && ln -s "../libgc.la" "libgc.la" )
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing -version-info 1:3:0 -no-undefined  -o libcord.la -rpath /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib cord/cordbscs.lo cord/cordprnt.lo cord/cordtest.lo cord/cordxtra.lo ./libgc.la 
libtool: link: gcc -dynamiclib  -o .libs/libcord.1.dylib  cord/.libs/cordbscs.o cord/.libs/cordprnt.o cord/.libs/cordtest.o cord/.libs/cordxtra.o   ./.libs/libgc.dylib  -O2   -install_name  /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libcord.1.dylib -compatibility_version 2 -current_version 2.3 -Wl,-single_module
libtool: link: (cd ".libs" && rm -f "libcord.dylib" && ln -s "libcord.1.dylib" "libcord.dylib")
libtool: link: ar cru .libs/libcord.a  cord/cordbscs.o cord/cordprnt.o cord/cordtest.o cord/cordxtra.o
libtool: link: ranlib .libs/libcord.a
libtool: link: ( cd ".libs" && rm -f "libcord.la" && ln -s "../libcord.la" "libcord.la" )
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C boehm-gc check
/Applications/Xcode.app/Contents/Developer/usr/bin/make  libstaticrootslib.la gctest leaktest middletest smashtest hugetest realloc_test staticrootstest  threadleaktest threadkey_test initsecondarythread_test 
depbase=`echo tests/staticrootslib.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/staticrootslib.lo -MD -MP -MF $depbase.Tpo -c -o tests/staticrootslib.lo tests/staticrootslib.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo tests/test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/test.o -MD -MP -MF $depbase.Tpo -c -o tests/test.o tests/test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/leak_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/leak_test.o -MD -MP -MF $depbase.Tpo -c -o tests/leak_test.o tests/leak_test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/middle.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/middle.o -MD -MP -MF $depbase.Tpo -c -o tests/middle.o tests/middle.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/smash_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/smash_test.o -MD -MP -MF $depbase.Tpo -c -o tests/smash_test.o tests/smash_test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/huge_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/huge_test.o -MD -MP -MF $depbase.Tpo -c -o tests/huge_test.o tests/huge_test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/realloc_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/realloc_test.o -MD -MP -MF $depbase.Tpo -c -o tests/realloc_test.o tests/realloc_test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/staticrootstest.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/staticrootstest.o -MD -MP -MF $depbase.Tpo -c -o tests/staticrootstest.o tests/staticrootstest.c &&\
	mv -f $depbase.Tpo $depbase.Po
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT tests/staticrootslib.lo -MD -MP -MF tests/.deps/staticrootslib.Tpo -c tests/staticrootslib.c  -fno-common -DPIC -o tests/.libs/staticrootslib.o
depbase=`echo tests/thread_leak_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/thread_leak_test.o -MD -MP -MF $depbase.Tpo -c -o tests/thread_leak_test.o tests/thread_leak_test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/threadkey_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/threadkey_test.o -MD -MP -MF $depbase.Tpo -c -o tests/threadkey_test.o tests/threadkey_test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/initsecondarythread.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/initsecondarythread.o -MD -MP -MF $depbase.Tpo -c -o tests/initsecondarythread.o tests/initsecondarythread.c &&\
	mv -f $depbase.Tpo $depbase.Po
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o middletest tests/middle.o ./libgc.la  
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o smashtest tests/smash_test.o ./libgc.la  
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o hugetest tests/huge_test.o ./libgc.la  
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT tests/staticrootslib.lo -MD -MP -MF tests/.deps/staticrootslib.Tpo -c tests/staticrootslib.c -o tests/staticrootslib.o >/dev/null 2>&1
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o realloc_test tests/realloc_test.o ./libgc.la  
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o threadkey_test tests/threadkey_test.o ./libgc.la  -lpthread 
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o initsecondarythread_test tests/initsecondarythread.o ./libgc.la  -lpthread 
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing -version-info 1:3:0 -no-undefined -rpath /nowhere  -o libstaticrootslib.la  tests/staticrootslib.lo ./libgc.la  
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/middletest tests/middle.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/smashtest tests/smash_test.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/hugetest tests/huge_test.o  ./.libs/libgc.dylib -lpthread
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o leaktest tests/leak_test.o ./libgc.la  
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o threadleaktest tests/thread_leak_test.o ./libgc.la  -lpthread 
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/realloc_test tests/realloc_test.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/threadkey_test tests/threadkey_test.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/initsecondarythread_test tests/initsecondarythread.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -dynamiclib  -o .libs/libstaticrootslib.1.dylib  tests/.libs/staticrootslib.o   ./.libs/libgc.dylib  -O2   -install_name  /nowhere/libstaticrootslib.1.dylib -compatibility_version 2 -current_version 2.3 -Wl,-single_module
libtool: link: (cd ".libs" && rm -f "libstaticrootslib.dylib" && ln -s "libstaticrootslib.1.dylib" "libstaticrootslib.dylib")
libtool: link: ar cru .libs/libstaticrootslib.a  tests/staticrootslib.o
libtool: link: ranlib .libs/libstaticrootslib.a
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/leaktest tests/leak_test.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/threadleaktest tests/thread_leak_test.o  ./.libs/libgc.dylib -lpthread
libtool: link: ( cd ".libs" && rm -f "libstaticrootslib.la" && ln -s "../libstaticrootslib.la" "libstaticrootslib.la" )
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o gctest tests/test.o ./libgc.la  -lpthread 
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o staticrootstest tests/staticrootstest.o ./libgc.la  libstaticrootslib.la 
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/gctest tests/test.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/staticrootstest tests/staticrootstest.o  ./.libs/libgc.dylib ./.libs/libstaticrootslib.dylib /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime/boehm-gc/.libs/libgc.dylib -lpthread
/Applications/Xcode.app/Contents/Developer/usr/bin/make  check-TESTS
PASS: hugetest
PASS: leaktest
PASS: threadleaktest
PASS: smashtest
PASS: staticrootstest
PASS: initsecondarythread_test
PASS: threadkey_test
PASS: middletest
PASS: realloc_test
PASS: gctest
make[6]: Nothing to be done for `all-am'.
============================================================================
Testsuite summary for gc 7.2
============================================================================
# TOTAL: 10
# PASS:  10
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C boehm-gc install
 /usr/local/bin/gmkdir -p '/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib'
 /bin/sh ./libtool   --mode=install /usr/local/bin/ginstall -c   libgc.la libcord.la '/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib'
 /usr/local/bin/gmkdir -p '/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/include'
 /usr/local/bin/gmkdir -p '/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/share/gc'
 /usr/local/bin/gmkdir -p '/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/pkgconfig'
 /usr/local/bin/gmkdir -p '/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/include/gc'
 /usr/local/bin/ginstall -c -m 644 include/extra/gc.h '/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/include'
 /usr/local/bin/ginstall -c -m 644 doc/barrett_diagram doc/debugging.html doc/gc.man doc/gcdescr.html doc/README doc/README.amiga doc/README.arm.cross doc/README.autoconf doc/README.changes doc/README.cmake doc/README.contributors doc/README.cords doc/README.DGUX386 doc/README.dj doc/README.environment doc/README.ews4800 doc/README.hp doc/README.linux doc/README.Mac doc/README.MacOSX doc/README.macros doc/README.OS2 doc/README.rs6000 doc/README.sgi doc/README.solaris2 doc/README.uts doc/README.win32 doc/README.win64 doc/overview.html doc/tree.html doc/leak.html doc/gcinterface.html doc/scale.html doc/README.darwin doc/simple_example.html doc/porting.html '/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/share/gc'
 /usr/local/bin/ginstall -c -m 644 bdw-gc.pc '/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/pkgconfig'
 /usr/local/bin/ginstall -c -m 644 include/gc.h include/gc_typed.h include/gc_inline.h include/gc_mark.h include/weakpointer.h include/new_gc_alloc.h include/gc_allocator.h include/gc_backptr.h include/gc_gcj.h include/leak_detector.h include/gc_amiga_redirects.h include/gc_pthread_redirects.h include/gc_config_macros.h include/gc_tiny_fl.h include/gc_version.h include/cord.h include/private/cord_pos.h include/ec.h '/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/include/gc'
libtool: install: /usr/local/bin/ginstall -c .libs/libgc.1.dylib /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.1.dylib
libtool: install: (cd /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib && { ln -s -f libgc.1.dylib libgc.dylib || { rm -f libgc.dylib && ln -s libgc.1.dylib libgc.dylib; }; })
libtool: install: /usr/local/bin/ginstall -c .libs/libgc.lai /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.la
libtool: install: /usr/local/bin/ginstall -c .libs/libcord.1.dylib /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libcord.1.dylib
libtool: install: (cd /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib && { ln -s -f libcord.1.dylib libcord.dylib || { rm -f libcord.dylib && ln -s libcord.1.dylib libcord.dylib; }; })
libtool: install: /usr/local/bin/ginstall -c .libs/libcord.lai /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libcord.la
libtool: install: /usr/local/bin/ginstall -c .libs/libgc.a /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.a
libtool: install: chmod 644 /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.a
libtool: install: ranlib /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.a(checksums.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.a(gc_dlopen.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.a(pcr_interface.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.a(real_malloc.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.a(specific.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.a(backgraph.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libgc.a(pthread_stop_world.o) has no symbols
libtool: install: /usr/local/bin/ginstall -c .libs/libcord.a /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libcord.a
libtool: install: chmod 644 /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libcord.a
libtool: install: ranlib /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime//boehm-gc-install/lib/libcord.a
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C boehm-gc/libatomic_ops -k distclean
Making distclean in src
Making distclean in atomic_ops
Making distclean in sysdeps
test -z "" || rm -f 
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f 
rm -f Makefile
test -z "" || rm -f 
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f 
rm -f Makefile
test -z "libatomic_ops.a libatomic_ops_gpl.a" || rm -f libatomic_ops.a libatomic_ops_gpl.a
rm -f *.o
rm -f *.tab.c
test -z "" || rm -f 
rm -f config.h stamp-h1
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f 
rm -rf ./.deps
rm -f Makefile
Making distclean in doc
test -z "" || rm -f 
test . = "." || test -z "" || rm -f 
rm -f Makefile
Making distclean in tests
test -z "test_atomic test_atomic_pthreads test_stack test_malloc" || rm -f test_atomic test_atomic_pthreads test_stack test_malloc
test -z "list_atomic.i" || rm -f list_atomic.i
rm -f *.o
test -z "test_atomic.log test_atomic_pthreads.log test_stack.log test_malloc.log" || rm -f test_atomic.log test_atomic_pthreads.log test_stack.log test_malloc.log
rm -f *.tab.c
test -z "" || rm -f 
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f 
test -z "test_atomic.trs test_atomic_pthreads.trs test_stack.trs test_malloc.trs" || rm -f test_atomic.trs test_atomic_pthreads.trs test_stack.trs test_malloc.trs
test -z "test-suite.log" || rm -f test-suite.log
rm -rf ./.deps
rm -f Makefile
test -z "pkgconfig/atomic_ops.pc pkgconfig/atomic_ops-uninstalled.pc" || rm -f pkgconfig/atomic_ops.pc pkgconfig/atomic_ops-uninstalled.pc
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
rm -f cscope.out cscope.in.out cscope.po.out cscope.files
test . = "." || test -z "" || rm -f 
rm -f config.status config.cache config.log configure.lineno config.status.lineno
rm -f Makefile
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C boehm-gc -k distclean
Makefile:1331: libatomic_ops/src/.deps/atomic_ops.Plo: No such file or directory
Makefile:1332: libatomic_ops/src/.deps/atomic_ops_sysdeps.Plo: No such file or directory
make[1]: *** No rule to make target `libatomic_ops/src/.deps/atomic_ops_sysdeps.Plo'.
make[1]: *** No rule to make target `libatomic_ops/src/.deps/atomic_ops.Plo'.
make[1]: Failed to remake makefile `libatomic_ops/src/.deps/atomic_ops_sysdeps.Plo'.
make[1]: Failed to remake makefile `libatomic_ops/src/.deps/atomic_ops.Plo'.
Makefile:1331: libatomic_ops/src/.deps/atomic_ops.Plo: No such file or directory
Makefile:1332: libatomic_ops/src/.deps/atomic_ops_sysdeps.Plo: No such file or directory
make[2]: *** No rule to make target `libatomic_ops/src/.deps/atomic_ops_sysdeps.Plo'.
make[2]: *** No rule to make target `libatomic_ops/src/.deps/atomic_ops.Plo'.
make[2]: Failed to remake makefile `libatomic_ops/src/.deps/atomic_ops_sysdeps.Plo'.
make[2]: Failed to remake makefile `libatomic_ops/src/.deps/atomic_ops.Plo'.
test -z "libstaticrootslib.la" || rm -f libstaticrootslib.la
test -z "libgc.la  libcord.la" || rm -f libgc.la  libcord.la
rm -rf .libs _libs
rm -f *.o
test -z "gctest.log leaktest.log middletest.log smashtest.log hugetest.log realloc_test.log staticrootstest.log threadleaktest.log threadkey_test.log initsecondarythread_test.log" || rm -f gctest.log leaktest.log middletest.log smashtest.log hugetest.log realloc_test.log staticrootstest.log threadleaktest.log threadkey_test.log initsecondarythread_test.log
rm -f *.lo
 rm -f gctest leaktest middletest smashtest hugetest realloc_test staticrootstest threadleaktest threadkey_test initsecondarythread_test
rm -f *.tab.c
test -z "bdw-gc.pc" || rm -f bdw-gc.pc
rm -f include/private/config.h include/private/stamp-h1
rm -f ./so_locations
rm -f ./so_locations
test . = "." || test -z "" || rm -f 
test -z "gctest.trs leaktest.trs middletest.trs smashtest.trs hugetest.trs realloc_test.trs staticrootstest.trs threadleaktest.trs threadkey_test.trs initsecondarythread_test.trs" || rm -f gctest.trs leaktest.trs middletest.trs smashtest.trs hugetest.trs realloc_test.trs staticrootstest.trs threadleaktest.trs threadkey_test.trs initsecondarythread_test.trs
rm -f cord/*.o
rm -rf cord/.libs cord/_libs
rm -f cord/.deps/.dirstamp
rm -f libtool config.lt
rm -f cord/.dirstamp
rm -rf libatomic_ops/src/.libs libatomic_ops/src/_libs
rm -f cord/*.lo
rm -f libatomic_ops/src/.deps/.dirstamp
test -z "test-suite.log" || rm -f test-suite.log
rm -rf tests/.libs tests/_libs
rm -f libatomic_ops/src/.dirstamp
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
rm -f libatomic_ops/src/*.o
rm -f tests/.deps/.dirstamp
rm -f cscope.out cscope.in.out cscope.po.out cscope.files
rm -f tests/.dirstamp
rm -f libatomic_ops/src/*.lo
rm -f tests/*.o
rm -f tests/*.lo
make[1]: *** [distclean-recursive] Error 1
make[1]: Target `distclean' not remade because of errors.
make: [boehm-gc-install/lib/libgc.a] Error 2 (ignored)

Having looked at #85, I tried running make test

Here's that run.
$ make test
racket -v
Welcome to Racket v7.1.
raco make -v -j 4 main.rkt
 3 making main.rkt
 2 making <collects>/racket/system.rkt
 1 making <collects>/racket/runtime-path.rkt
 0 making <collects>/racket/match.rkt
 2 made <collects>/racket/system.rkt
 2 making /Users/mgree/grift/src/backend-c/runtime-location.rkt
 1 made <collects>/racket/runtime-path.rkt
 1 making <collects>/racket/cmdline.rkt
 1 made <collects>/racket/cmdline.rkt
 0 made <collects>/racket/match.rkt
 0 making <collects>/racket/logging.rkt
 1 making /Users/mgree/grift/src/./backend-c/code-generator.rkt
 0 made <collects>/racket/logging.rkt
 0 making /Users/mgree/grift/src/./logging.rkt
 2 made /Users/mgree/grift/src/backend-c/runtime-location.rkt
 2 making /Users/mgree/grift/src/backend-c/../casts/cast-profiler.rkt
 0 made /Users/mgree/grift/src/./logging.rkt
 0 making /Users/mgree/grift/src/language/../errors.rkt
 0 made /Users/mgree/grift/src/language/../errors.rkt
 0 making <pkgs>/option-contract-lib/racket/contract/option.rkt
 0 made <pkgs>/option-contract-lib/racket/contract/option.rkt
 0 making <collects>/racket/function.rkt
 0 made <collects>/racket/function.rkt
 0 making <collects>/racket/list.rkt
 0 made <collects>/racket/list.rkt
 0 making /Users/mgree/grift/src/grift/../language/pprint.rkt
 0 made /Users/mgree/grift/src/grift/../language/pprint.rkt
 0 making /Users/mgree/grift/src/language/./forms.rkt
 0 made /Users/mgree/grift/src/language/./forms.rkt
 0 making /Users/mgree/grift/src/grift/../language/primitives.rkt
 2 made /Users/mgree/grift/src/backend-c/../casts/cast-profiler.rkt
 2 making /Users/mgree/grift/src/grift/../language/grift.rkt
 0 made /Users/mgree/grift/src/grift/../language/primitives.rkt
 0 making /Users/mgree/grift/src/language/./primitives.rkt
 0 made /Users/mgree/grift/src/language/./primitives.rkt
 0 making /Users/mgree/grift/src/language/./contracts.rkt
 0 made /Users/mgree/grift/src/language/./contracts.rkt
 0 making /Users/mgree/grift/src/grift/../configuration.rkt
 0 made /Users/mgree/grift/src/grift/../configuration.rkt
 0 making /Users/mgree/grift/src/grift/../errors.rkt
 0 made /Users/mgree/grift/src/grift/../errors.rkt
 0 making /Users/mgree/grift/src/grift/../language/forms.rkt
 0 made /Users/mgree/grift/src/grift/../language/forms.rkt
 0 making /Users/mgree/grift/src/grift/../logging.rkt
 0 made /Users/mgree/grift/src/grift/../logging.rkt
 0 making /Users/mgree/grift/src/grift/./read.rkt
 2 made /Users/mgree/grift/src/grift/../language/grift.rkt
 2 making <collects>/racket/exn.rkt
 2 made <collects>/racket/exn.rkt
 2 making <collects>/racket/path.rkt
 2 made <collects>/racket/path.rkt
 2 making /Users/mgree/grift/src/grift/./syntax-to-grift0.rkt
 0 made /Users/mgree/grift/src/grift/./read.rkt
 0 making /Users/mgree/grift/src/grift/./type-check.rkt
 1 made /Users/mgree/grift/src/./backend-c/code-generator.rkt
 1 making /Users/mgree/grift/src/language/forms.rkt
 1 made /Users/mgree/grift/src/language/forms.rkt
 1 making <collects>/syntax/parse.rkt
 1 made <collects>/syntax/parse.rkt
 1 making /Users/mgree/grift/src/grift/../unique-counter.rkt
 1 made /Users/mgree/grift/src/grift/../unique-counter.rkt
 1 making /Users/mgree/grift/src/grift/../language/make-begin.rkt
 1 made /Users/mgree/grift/src/grift/../language/make-begin.rkt
 1 making /Users/mgree/grift/src/grift/../language/contracts.rkt
 1 made /Users/mgree/grift/src/grift/../language/contracts.rkt
 1 making /Users/mgree/grift/src/language/../logging.rkt
 1 made /Users/mgree/grift/src/language/../logging.rkt
 1 making <collects>/racket/contract/base.rkt
 1 made <collects>/racket/contract/base.rkt
 1 making <collects>/racket/set.rkt
 1 made <collects>/racket/set.rkt
 1 making /Users/mgree/grift/src/language/../configuration.rkt
 1 made /Users/mgree/grift/src/language/../configuration.rkt
 1 making /Users/mgree/grift/src/language/../backend-c/runtime-location.rkt
 1 made /Users/mgree/grift/src/language/../backend-c/runtime-location.rkt
 1 making /Users/mgree/grift/src/casts/../language/syntax.rkt
 1 made /Users/mgree/grift/src/casts/../language/syntax.rkt
 1 making /Users/mgree/grift/src/casts/../language/forms.rkt
 1 made /Users/mgree/grift/src/casts/../language/forms.rkt
 1 making /Users/mgree/grift/src/backend-c/../configuration.rkt
 1 made /Users/mgree/grift/src/backend-c/../configuration.rkt
 1 making /Users/mgree/grift/src/backend-c/../language/forms.rkt
 1 made /Users/mgree/grift/src/backend-c/../language/forms.rkt
 1 making /Users/mgree/grift/src/backend-c/../macros.rkt
 1 made /Users/mgree/grift/src/backend-c/../macros.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/utils/utils.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/utils/utils.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/utils/any-wrap.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/utils/any-wrap.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/utils/struct-type-c.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/utils/struct-type-c.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/utils/prefab-c.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/utils/prefab-c.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/utils/opaque-object.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/utils/opaque-object.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/utils/evt-contract.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/utils/evt-contract.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/utils/hash-contract.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/utils/hash-contract.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/utils/vector-contract.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/utils/vector-contract.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/utils/sealing-contract.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/utils/sealing-contract.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/utils/promise-not-name-contract.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/utils/promise-not-name-contract.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/utils/simple-result-arrow.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/utils/simple-result-arrow.rkt
 1 making <collects>/racket/sequence.rkt
 1 made <collects>/racket/sequence.rkt
 1 making <collects>/racket/contract/parametric.rkt
 1 made <collects>/racket/contract/parametric.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/env/type-name-env.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/env/type-name-env.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/env/global-env.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/env/global-env.rkt
 1 making <pkgs>/typed-racket-lib/typed-racket/env/type-alias-env.rkt
 0 made /Users/mgree/grift/src/grift/./type-check.rkt
 0 making <pkgs>/typed-racket-lib/typed-racket/types/struct-table.rkt
 0 made <pkgs>/typed-racket-lib/typed-racket/types/struct-table.rkt
 0 making <pkgs>/typed-racket-lib/typed-racket/types/abbrev.rkt
 1 made <pkgs>/typed-racket-lib/typed-racket/env/type-alias-env.rkt
 1 making /Users/mgree/grift/src/backend-c/./generate-c.rkt
 0 made <pkgs>/typed-racket-lib/typed-racket/types/abbrev.rkt
 0 making <collects>/racket/port.rkt
 0 made <collects>/racket/port.rkt
 0 making <collects>/syntax/srcloc.rkt
 0 made <collects>/syntax/srcloc.rkt
 0 making <collects>/syntax/location.rkt
 1 made /Users/mgree/grift/src/backend-c/./generate-c.rkt
 1 making /Users/mgree/grift/src/helpers.rkt
 0 made <collects>/syntax/location.rkt
 0 making /Users/mgree/grift/src/./grift/reduce-to-cast-calculus.rkt
 1 made /Users/mgree/grift/src/helpers.rkt
 1 making /Users/mgree/grift/src/./casts/impose-cast-semantics.rkt
 2 made /Users/mgree/grift/src/grift/./syntax-to-grift0.rkt
 2 making /Users/mgree/grift/src/language/../helpers-untyped.rkt
 2 made /Users/mgree/grift/src/language/../helpers-untyped.rkt
 2 making /Users/mgree/grift/src/grift/../language/forms-equal.rkt
 2 made /Users/mgree/grift/src/grift/../language/forms-equal.rkt
 2 making <collects>/racket/struct.rkt
 2 made <collects>/racket/struct.rkt
 2 making /Users/mgree/grift/src/casts/../errors.rkt
 2 made /Users/mgree/grift/src/casts/../errors.rkt
 2 making /Users/mgree/grift/src/casts/../language/form-map.rkt
 2 made /Users/mgree/grift/src/casts/../language/form-map.rkt
 2 making /Users/mgree/grift/src/casts/../logging.rkt
 2 made /Users/mgree/grift/src/casts/../logging.rkt
 2 making /Users/mgree/grift/src/casts/../type-equality.rkt
 0 made /Users/mgree/grift/src/./grift/reduce-to-cast-calculus.rkt
 0 making /Users/mgree/grift/src/casts/./hoist-types-and-coercions.rkt
 2 made /Users/mgree/grift/src/casts/../type-equality.rkt
 2 making /Users/mgree/grift/src/casts/../growable-vector.rkt
 2 made /Users/mgree/grift/src/casts/../growable-vector.rkt
 2 making /Users/mgree/grift/src/casts/../unique-counter.rkt
 2 made /Users/mgree/grift/src/casts/../unique-counter.rkt
 2 making /Users/mgree/grift/src/casts/../language/primitives.rkt
 2 made /Users/mgree/grift/src/casts/../language/primitives.rkt
 2 making /Users/mgree/grift/src/casts/define-to-let.rkt
 2 made /Users/mgree/grift/src/casts/define-to-let.rkt
 2 making /Users/mgree/grift/src/casts/interpret-casts.rkt
 0 made /Users/mgree/grift/src/casts/./hoist-types-and-coercions.rkt
 0 making /Users/mgree/grift/src/casts/../configuration.rkt
 0 made /Users/mgree/grift/src/casts/../configuration.rkt
 0 making /Users/mgree/grift/src/casts/../unique-identifiers.rkt
 0 made /Users/mgree/grift/src/casts/../unique-identifiers.rkt
 0 making /Users/mgree/grift/src/casts/./interpret-casts-common.rkt
 0 made /Users/mgree/grift/src/casts/./interpret-casts-common.rkt
 0 making /Users/mgree/grift/src/casts/memory-layout-helpers.rkt
 0 made /Users/mgree/grift/src/casts/memory-layout-helpers.rkt
 0 making /Users/mgree/grift/src/casts/./cast-profiler.rkt
 0 made /Users/mgree/grift/src/casts/./cast-profiler.rkt
 0 making /Users/mgree/grift/src/casts/./constants-and-codes.rkt
 0 made /Users/mgree/grift/src/casts/./constants-and-codes.rkt
 0 making /Users/mgree/grift/src/casts/./interpret-casts-with-type-based-casts.rkt
 0 made /Users/mgree/grift/src/casts/./interpret-casts-with-type-based-casts.rkt
 0 making /Users/mgree/grift/src/casts/./interpret-casts-with-coercions.rkt
 0 made /Users/mgree/grift/src/casts/./interpret-casts-with-coercions.rkt
 0 making /Users/mgree/grift/src/language/../casts/constants-and-codes.rkt
 0 made /Users/mgree/grift/src/language/../casts/constants-and-codes.rkt
 0 making /Users/mgree/grift/src/casts/../language/syntax-with-constants.rkt
 0 made /Users/mgree/grift/src/casts/../language/syntax-with-constants.rkt
 0 making /Users/mgree/grift/src/casts/../lib/option-set.rkt
 0 made /Users/mgree/grift/src/casts/../lib/option-set.rkt
 0 making /Users/mgree/grift/src/casts/./interpret-casts-with-hyper-coercions.rkt
 0 made /Users/mgree/grift/src/casts/./interpret-casts-with-hyper-coercions.rkt
 0 making /Users/mgree/grift/src/casts/./interpret-casts-with-error.rkt
 0 made /Users/mgree/grift/src/casts/./interpret-casts-with-error.rkt
 0 making /Users/mgree/grift/src/casts/label-lambdas.rkt
 2 made /Users/mgree/grift/src/casts/interpret-casts.rkt
 2 making /Users/mgree/grift/src/casts/../helpers.rkt
 2 made /Users/mgree/grift/src/casts/../helpers.rkt
 2 making /Users/mgree/grift/src/casts/convert-closures.rkt
 0 made /Users/mgree/grift/src/casts/label-lambdas.rkt
 0 making /Users/mgree/grift/src/casts/specify-representation.rkt
 0 made /Users/mgree/grift/src/casts/specify-representation.rkt
 0 making /Users/mgree/grift/src/casts/./memory-layout-helpers.rkt
 0 made /Users/mgree/grift/src/casts/./memory-layout-helpers.rkt
 0 making /Users/mgree/grift/src/casts/../lib/function.rkt
 0 made /Users/mgree/grift/src/casts/../lib/function.rkt
 0 making /Users/mgree/grift/src/casts/../lib/dgraph.rkt
 0 made /Users/mgree/grift/src/casts/../lib/dgraph.rkt
 0 making /Users/mgree/grift/src/casts/../lib/mutable-set.rkt
 0 made /Users/mgree/grift/src/casts/../lib/mutable-set.rkt
 0 making /Users/mgree/grift/src/./data/convert-representation.rkt
 2 made /Users/mgree/grift/src/casts/convert-closures.rkt
 2 making <pkgs>/typed-racket-lib/typed/racket/unsafe.rkt
 2 made <pkgs>/typed-racket-lib/typed/racket/unsafe.rkt
 2 making /Users/mgree/grift/src/data/../helpers.rkt
 2 made /Users/mgree/grift/src/data/../helpers.rkt
 2 making /Users/mgree/grift/src/data/../lib/mutable-set.rkt
 2 made /Users/mgree/grift/src/data/../lib/mutable-set.rkt
 2 making /Users/mgree/grift/src/data/../language/form-map.rkt
 2 made /Users/mgree/grift/src/data/../language/form-map.rkt
 2 making /Users/mgree/grift/src/data/../errors.rkt
 2 made /Users/mgree/grift/src/data/../errors.rkt
 2 making /Users/mgree/grift/src/data/../configuration.rkt
 2 made /Users/mgree/grift/src/data/../configuration.rkt
 2 making /Users/mgree/grift/src/data/../language/forms.rkt
 2 made /Users/mgree/grift/src/data/../language/forms.rkt
 2 making /Users/mgree/grift/src/data/../language/primitives.rkt
 2 made /Users/mgree/grift/src/data/../language/primitives.rkt
 2 making /Users/mgree/grift/src/data/../casts/constants-and-codes.rkt
 2 made /Users/mgree/grift/src/data/../casts/constants-and-codes.rkt
 2 making /Users/mgree/grift/src/data/../language/make-begin.rkt
 2 made /Users/mgree/grift/src/data/../language/make-begin.rkt
 2 making /Users/mgree/grift/src/data/./uncover-locals.rkt
 2 made /Users/mgree/grift/src/data/./uncover-locals.rkt
 2 making /Users/mgree/grift/src/data/./remove-complex-opera.rkt
 1 made /Users/mgree/grift/src/./casts/impose-cast-semantics.rkt
 1 making /Users/mgree/grift/src/data/./flatten-values.rkt
 2 made /Users/mgree/grift/src/data/./remove-complex-opera.rkt
 2 making /Users/mgree/grift/src/data/./simplify-predicates.rkt
 1 made /Users/mgree/grift/src/data/./flatten-values.rkt
 2 made /Users/mgree/grift/src/data/./simplify-predicates.rkt
 0 made /Users/mgree/grift/src/./data/convert-representation.rkt
 3 made main.rkt
cd src/backend-c/runtime/; make
PWD=`pwd`; cd boehm-gc; ./configure --prefix=/Users/mgree/grift/src/backend-c/runtime/boehm-gc-install
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 nonegc.c -c -o nonegc.o
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 io.c -c -o io.o
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 assoc_stack.c -c -o assoc_stack.o
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 hashcons.c -c -o hashcons.o
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 suspended_cast.c -c -o suspended_cast.o
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 cast_queue.c -c -o cast_queue.o
cc -D NDEBUG -Iboehm-gc-install/include -std=c99 castprofiler.c -c -o castprofiler.o
cast_queue.c:2:10: fatal error: 'boehm-gc-install/include/gc/gc.h' file not found
#include "boehm-gc-install/include/gc/gc.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[1]: *** [cast_queue.o] Error 1
make[1]: *** Waiting for unfinished jobs....
hashcons.c:6:10: fatal error: 'boehm-gc-install/include/gc/gc.h' file not found
#include "boehm-gc-install/include/gc/gc.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
In file included from assoc_stack.c:4:
./runtime.h:13:10: fatal error: 'boehm-gc-install/include/gc/gc.h' file not found
#include "boehm-gc-install/include/gc/gc.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from io.c:1:
./runtime.h:13:10: fatal error: 'boehm-gc-install/include/gc/gc.h' file not found
#include "boehm-gc-install/include/gc/gc.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [hashcons.o] Error 1
1 error generated.
1 error generated.
make[1]: *** [assoc_stack.o] Error 1
make[1]: *** [io.o] Error 1
checking build system type... x86_64-apple-darwin17.7.0
checking host system type... x86_64-apple-darwin17.7.0
checking target system type... x86_64-apple-darwin17.7.0
checking GC version numbers... major=7 minor=2 
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking dependency style of gcc... gcc3
checking for thread model used by GCC... posix
checking for inline... inline
checking for pthread_self in -lpthread... yes
configure: WARNING: "Explicit GC_INIT() calls may be required."
checking for xlc... no
checking whether gcc supports -fno-strict-aliasing... yes
checking whether to build shared libraries... yes
checking which machine-dependent code should be used... 
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-apple-darwin17.7.0 file names to x86_64-apple-darwin17.7.0 format... func_convert_file_noop
checking how to convert x86_64-apple-darwin17.7.0 file names to toolchain format... func_convert_file_noop
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin17.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking whether the g++ linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fno-common -DPIC
checking if g++ PIC flag -fno-common -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin17.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether Solaris gcc optimization fix is necessary... no
checking sys/dg_sys_info.h usability... no
checking sys/dg_sys_info.h presence... no
checking for sys/dg_sys_info.h... no
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for ATOMIC_OPS... no
checking which libatomic_ops to use... internal
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating bdw-gc.pc
config.status: creating include/private/config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default commands
=== configuring in libatomic_ops (/Users/mgree/grift/src/backend-c/runtime/boehm-gc/libatomic_ops)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/Users/mgree/grift/src/backend-c/runtime/boehm-gc-install'  'PKG_CONFIG_PATH=/Users/mgree/.opam/4.10.0/lib/pkgconfig' --cache-file=/dev/null --srcdir=.
checking build system type... x86_64-apple-darwin17.7.0
checking host system type... x86_64-apple-darwin17.7.0
checking target system type... x86_64-apple-darwin17.7.0
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for ranlib... ranlib
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... yes
checking for ANSI C header files... (cached) yes
checking for PIC compiler flag... -fPIC
checking whether gcc -fPIC causes __PIC__ definition... yes
checking for pthread_self in -lpthread... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating pkgconfig/atomic_ops.pc
config.status: creating pkgconfig/atomic_ops-uninstalled.pc
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating src/atomic_ops/Makefile
config.status: creating src/atomic_ops/sysdeps/Makefile
config.status: creating tests/Makefile
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing default commands
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C boehm-gc
depbase=`echo allchblk.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT allchblk.lo -MD -MP -MF $depbase.Tpo -c -o allchblk.lo allchblk.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo alloc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT alloc.lo -MD -MP -MF $depbase.Tpo -c -o alloc.lo alloc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo blacklst.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT blacklst.lo -MD -MP -MF $depbase.Tpo -c -o blacklst.lo blacklst.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo checksums.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT checksums.lo -MD -MP -MF $depbase.Tpo -c -o checksums.lo checksums.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo dbg_mlc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT dbg_mlc.lo -MD -MP -MF $depbase.Tpo -c -o dbg_mlc.lo dbg_mlc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo dyn_load.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT dyn_load.lo -MD -MP -MF $depbase.Tpo -c -o dyn_load.lo dyn_load.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo finalize.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT finalize.lo -MD -MP -MF $depbase.Tpo -c -o finalize.lo finalize.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo gc_dlopen.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT gc_dlopen.lo -MD -MP -MF $depbase.Tpo -c -o gc_dlopen.lo gc_dlopen.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT allchblk.lo -MD -MP -MF .deps/allchblk.Tpo -c allchblk.c  -fno-common -DPIC -o .libs/allchblk.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT blacklst.lo -MD -MP -MF .deps/blacklst.Tpo -c blacklst.c  -fno-common -DPIC -o .libs/blacklst.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT checksums.lo -MD -MP -MF .deps/checksums.Tpo -c checksums.c  -fno-common -DPIC -o .libs/checksums.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT dyn_load.lo -MD -MP -MF .deps/dyn_load.Tpo -c dyn_load.c  -fno-common -DPIC -o .libs/dyn_load.o
libtool: compile:  gcc -libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT dbg_mlc.lo -MD -MP -MF .deps/dbg_mlc.Tpo -c dbg_mlc.c  -fno-common -DPIC -o .libs/dbg_mlc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT alloc.lo -MD -MP -MF .deps/alloc.Tpo -c alloc.c  -fno-common -DPIC -o .libs/alloc.o
DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT finalize.lo -MD -MP -MF .deps/finalize.Tpo -c finalize.c  -fno-common -DPIC -o .libs/finalize.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT gc_dlopen.lo -MD -MP -MF .deps/gc_dlopen.Tpo -c gc_dlopen.c  -fno-common -DPIC -o .libs/gc_dlopen.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT checksums.lo -MD -MP -MF .deps/checksums.Tpo -c checksums.c -o checksums.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT gc_dlopen.lo -MD -MP -MF .deps/gc_dlopen.Tpo -c gc_dlopen.c -o gc_dlopen.o >/dev/null 2>&1
dyn_load.c:1396:37: warning: incompatible pointer types passing 'void (const struct mach_header_64 *, intptr_t)' (aka
      'void (const struct mach_header_64 *, long)') to parameter of type 'void (*)(const struct mach_header *, intptr_t)' (aka
      'void (*)(const struct mach_header *, long)') [-Wincompatible-pointer-types]
  _dyld_register_func_for_add_image(GC_dyld_image_add);
                                    ^~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach-o/dyld.h:61:54: note: passing argument to parameter 'func' here
extern void _dyld_register_func_for_add_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide))    __OSX_AVAILABLE_STARTING...
                                                     ^
dyn_load.c:1397:40: warning: incompatible pointer types passing 'void (const struct mach_header_64 *, intptr_t)' (aka
      'void (const struct mach_header_64 *, long)') to parameter of type 'void (*)(const struct mach_header *, intptr_t)' (aka
      'void (*)(const struct mach_header *, long)') [-Wincompatible-pointer-types]
  _dyld_register_func_for_remove_image(GC_dyld_image_remove);
                                       ^~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach-o/dyld.h:62:57: note: passing argument to parameter 'func' here
extern void _dyld_register_func_for_remove_image(void (*func)(const struct mach_header* mh, intptr_t vmaddr_slide)) __OSX_AVAILABLE_STARTING...
                                                        ^
dyn_load.c:1420:12: warning: '_dyld_bind_fully_image_containing_address' is deprecated: first deprecated in macOS 10.5 - dlopen(RTLD_NOW)
      [-Wdeprecated-declarations]
      if (!_dyld_bind_fully_image_containing_address(
           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach-o/dyld.h:244:13: note: '_dyld_bind_fully_image_containing_address' has been
      explicitly marked deprecated here
extern bool _dyld_bind_fully_image_containing_address(const void* address)                   __API_UNAVAILABLE(ios, tvos, watchos)  __OSX_DE...
            ^
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT blacklst.lo -MD -MP -MF .deps/blacklst.Tpo -c blacklst.c -o blacklst.o >/dev/null 2>&1
3 warnings generated.
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT dyn_load.lo -MD -MP -MF .deps/dyn_load.Tpo -c dyn_load.c -o dyn_load.o >/dev/null 2>&1
depbase=`echo gcj_mlc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT gcj_mlc.lo -MD -MP -MF $depbase.Tpo -c -o gcj_mlc.lo gcj_mlc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo headers.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT headers.lo -MD -MP -MF $depbase.Tpo -c -o headers.lo headers.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT gcj_mlc.lo -MD -MP -MF .deps/gcj_mlc.Tpo -c gcj_mlc.c  -fno-common -DPIC -o .libs/gcj_mlc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT headers.lo -MD -MP -MF .deps/headers.Tpo -c headers.c  -fno-common -DPIC -o .libs/headers.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT allchblk.lo -MD -MP -MF .deps/allchblk.Tpo -c allchblk.c -o allchblk.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT alloc.lo -MD -MP -MF .deps/alloc.Tpo -c alloc.c -o alloc.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT dbg_mlc.lo -MD -MP -MF .deps/dbg_mlc.Tpo -c dbg_mlc.c -o dbg_mlc.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT finalize.lo -MD -MP -MF .deps/finalize.Tpo -c finalize.c -o finalize.o >/dev/null 2>&1
depbase=`echo malloc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT malloc.lo -MD -MP -MF $depbase.Tpo -c -o malloc.lo malloc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo mallocx.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT mallocx.lo -MD -MP -MF $depbase.Tpo -c -o mallocx.lo mallocx.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT malloc.lo -MD -MP -MF .deps/malloc.Tpo -c malloc.c  -fno-common -DPIC -o .libs/malloc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mallocx.lo -MD -MP -MF .deps/mallocx.Tpo -c mallocx.c  -fno-common -DPIC -o .libs/mallocx.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT gcj_mlc.lo -MD -MP -MF .deps/gcj_mlc.Tpo -c gcj_mlc.c -o gcj_mlc.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT headers.lo -MD -MP -MF .deps/headers.Tpo -c headers.c -o headers.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT malloc.lo -MD -MP -MF .deps/malloc.Tpo -c malloc.c -o malloc.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mallocx.lo -MD -MP -MF .deps/mallocx.Tpo -c mallocx.c -o mallocx.o >/dev/null 2>&1
depbase=`echo mark.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT mark.lo -MD -MP -MF $depbase.Tpo -c -o mark.lo mark.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo mark_rts.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT mark_rts.lo -MD -MP -MF $depbase.Tpo -c -o mark_rts.lo mark_rts.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo misc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT misc.lo -MD -MP -MF $depbase.Tpo -c -o misc.lo misc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo new_hblk.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT new_hblk.lo -MD -MP -MF $depbase.Tpo -c -o new_hblk.lo new_hblk.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mark_rts.lo -MD -MP -MF .deps/mark_rts.Tpo -c mark_rts.c  -fno-common -DPIC -o .libs/mark_rts.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mark.lo -MD -MP -MF .deps/mark.Tpo -c mark.c  -fno-common -DPIC -o .libs/mark.o
depbase=`echo obj_map.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT obj_map.lo -MD -MP -MF $depbase.Tpo -c -o obj_map.lo obj_map.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT misc.lo -MD -MP -MF .deps/misc.Tpo -c misc.c  -fno-common -DPIC -o .libs/misc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT new_hblk.lo -MD -MP -MF .deps/new_hblk.Tpo -c new_hblk.c  -fno-common -DPIC -o .libs/new_hblk.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT obj_map.lo -MD -MP -MF .deps/obj_map.Tpo -c obj_map.c  -fno-common -DPIC -o .libs/obj_map.o
depbase=`echo os_dep.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT os_dep.lo -MD -MP -MF $depbase.Tpo -c -o os_dep.lo os_dep.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo pcr_interface.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT pcr_interface.lo -MD -MP -MF $depbase.Tpo -c -o pcr_interface.lo pcr_interface.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo ptr_chck.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT ptr_chck.lo -MD -MP -MF $depbase.Tpo -c -o ptr_chck.lo ptr_chck.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT os_dep.lo -MD -MP -MF .deps/os_dep.Tpo -c os_dep.c  -fno-common -DPIC -o .libs/os_dep.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT obj_map.lo -MD -MP -MF .deps/obj_map.Tpo -c obj_map.c -o obj_map.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pcr_interface.lo -MD -MP -MF .deps/pcr_interface.Tpo -c pcr_interface.c  -fno-common -DPIC -o .libs/pcr_interface.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT ptr_chck.lo -MD -MP -MF .deps/ptr_chck.Tpo -c ptr_chck.c  -fno-common -DPIC -o .libs/ptr_chck.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT new_hblk.lo -MD -MP -MF .deps/new_hblk.Tpo -c new_hblk.c -o new_hblk.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mark_rts.lo -MD -MP -MF .deps/mark_rts.Tpo -c mark_rts.c -o mark_rts.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pcr_interface.lo -MD -MP -MF .deps/pcr_interface.Tpo -c pcr_interface.c -o pcr_interface.o >/dev/null 2>&1
depbase=`echo real_malloc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT real_malloc.lo -MD -MP -MF $depbase.Tpo -c -o real_malloc.lo real_malloc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT ptr_chck.lo -MD -MP -MF .deps/ptr_chck.Tpo -c ptr_chck.c -o ptr_chck.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT real_malloc.lo -MD -MP -MF .deps/real_malloc.Tpo -c real_malloc.c  -fno-common -DPIC -o .libs/real_malloc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT misc.lo -MD -MP -MF .deps/misc.Tpo -c misc.c -o misc.o >/dev/null 2>&1
depbase=`echo reclaim.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT reclaim.lo -MD -MP -MF $depbase.Tpo -c -o reclaim.lo reclaim.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT real_malloc.lo -MD -MP -MF .deps/real_malloc.Tpo -c real_malloc.c -o real_malloc.o >/dev/null 2>&1
depbase=`echo specific.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT specific.lo -MD -MP -MF $depbase.Tpo -c -o specific.lo specific.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT reclaim.lo -MD -MP -MF .deps/reclaim.Tpo -c reclaim.c  -fno-common -DPIC -o .libs/reclaim.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT os_dep.lo -MD -MP -MF .deps/os_dep.Tpo -c os_dep.c -o os_dep.o >/dev/null 2>&1
depbase=`echo stubborn.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT stubborn.lo -MD -MP -MF $depbase.Tpo -c -o stubborn.lo stubborn.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT specific.lo -MD -MP -MF .deps/specific.Tpo -c specific.c  -fno-common -DPIC -o .libs/specific.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mark.lo -MD -MP -MF .deps/mark.Tpo -c mark.c -o mark.o >/dev/null 2>&1
depbase=`echo typd_mlc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT typd_mlc.lo -MD -MP -MF $depbase.Tpo -c -o typd_mlc.lo typd_mlc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo backgraph.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT backgraph.lo -MD -MP -MF $depbase.Tpo -c -o backgraph.lo backgraph.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT stubborn.lo -MD -MP -MF .deps/stubborn.Tpo -c stubborn.c  -fno-common -DPIC -o .libs/stubborn.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT typd_mlc.lo -MD -MP -MF .deps/typd_mlc.Tpo -c typd_mlc.c  -fno-common -DPIC -o .libs/typd_mlc.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT backgraph.lo -MD -MP -MF .deps/backgraph.Tpo -c backgraph.c  -fno-common -DPIC -o .libs/backgraph.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT specific.lo -MD -MP -MF .deps/specific.Tpo -c specific.c -o specific.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT stubborn.lo -MD -MP -MF .deps/stubborn.Tpo -c stubborn.c -o stubborn.o >/dev/null 2>&1
typd_mlc.c:363:37: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
                            (((word)WORDS_TO_BYTES(-1)) | GC_DS_PER_OBJECT),
                                    ^~~~~~~~~~~~~~~~~~
./include/private/gc_priv.h:567:35: note: expanded from macro 'WORDS_TO_BYTES'
#  define WORDS_TO_BYTES(x)   ((x)<<3)
                               ~~~^
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT backgraph.lo -MD -MP -MF .deps/backgraph.Tpo -c backgraph.c -o backgraph.o >/dev/null 2>&1
depbase=`echo thread_local_alloc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT thread_local_alloc.lo -MD -MP -MF $depbase.Tpo -c -o thread_local_alloc.lo thread_local_alloc.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT reclaim.lo -MD -MP -MF .deps/reclaim.Tpo -c reclaim.c -o reclaim.o >/dev/null 2>&1
depbase=`echo pthread_start.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_start.lo -MD -MP -MF $depbase.Tpo -c -o pthread_start.lo pthread_start.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo pthread_support.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_support.lo -MD -MP -MF $depbase.Tpo -c -o pthread_support.lo pthread_support.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT thread_local_alloc.lo -MD -MP -MF .deps/thread_local_alloc.Tpo -c thread_local_alloc.c  -fno-common -DPIC -o .libs/thread_local_alloc.o
depbase=`echo pthread_stop_world.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_stop_world.lo -MD -MP -MF $depbase.Tpo -c -o pthread_stop_world.lo pthread_stop_world.c &&\
	mv -f $depbase.Tpo $depbase.Plo
1 warning generated.
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT typd_mlc.lo -MD -MP -MF .deps/typd_mlc.Tpo -c typd_mlc.c -o typd_mlc.o >/dev/null 2>&1
depbase=`echo darwin_stop_world.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT darwin_stop_world.lo -MD -MP -MF $depbase.Tpo -c -o darwin_stop_world.lo darwin_stop_world.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_start.lo -MD -MP -MF .deps/pthread_start.Tpo -c pthread_start.c  -fno-common -DPIC -o .libs/pthread_start.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_support.lo -MD -MP -MF .deps/pthread_support.Tpo -c pthread_support.c  -fno-common -DPIC -o .libs/pthread_support.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_stop_world.lo -MD -MP -MF .deps/pthread_stop_world.Tpo -c pthread_stop_world.c  -fno-common -DPIC -o .libs/pthread_stop_world.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT darwin_stop_world.lo -MD -MP -MF .deps/darwin_stop_world.Tpo -c darwin_stop_world.c  -fno-common -DPIC -o .libs/darwin_stop_world.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT thread_local_alloc.lo -MD -MP -MF .deps/thread_local_alloc.Tpo -c thread_local_alloc.c -o thread_local_alloc.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_stop_world.lo -MD -MP -MF .deps/pthread_stop_world.Tpo -c pthread_stop_world.c -o pthread_stop_world.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_start.lo -MD -MP -MF .deps/pthread_start.Tpo -c pthread_start.c -o pthread_start.o >/dev/null 2>&1
depbase=`echo mach_dep.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT mach_dep.lo -MD -MP -MF $depbase.Tpo -c -o mach_dep.lo mach_dep.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo libatomic_ops/src/atomic_ops.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT libatomic_ops/src/atomic_ops.lo -MD -MP -MF $depbase.Tpo -c -o libatomic_ops/src/atomic_ops.lo libatomic_ops/src/atomic_ops.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo cord/cordbscs.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordbscs.lo -MD -MP -MF $depbase.Tpo -c -o cord/cordbscs.lo cord/cordbscs.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mach_dep.lo -MD -MP -MF .deps/mach_dep.Tpo -c mach_dep.c  -fno-common -DPIC -o .libs/mach_dep.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT darwin_stop_world.lo -MD -MP -MF .deps/darwin_stop_world.Tpo -c darwin_stop_world.c -o darwin_stop_world.o >/dev/null 2>&1
depbase=`echo cord/cordprnt.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordprnt.lo -MD -MP -MF $depbase.Tpo -c -o cord/cordprnt.lo cord/cordprnt.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT libatomic_ops/src/atomic_ops.lo -MD -MP -MF libatomic_ops/src/.deps/atomic_ops.Tpo -c libatomic_ops/src/atomic_ops.c  -fno-common -DPIC -o libatomic_ops/src/.libs/atomic_ops.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordbscs.lo -MD -MP -MF cord/.deps/cordbscs.Tpo -c cord/cordbscs.c  -fno-common -DPIC -o cord/.libs/cordbscs.o
depbase=`echo cord/cordtest.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordtest.lo -MD -MP -MF $depbase.Tpo -c -o cord/cordtest.lo cord/cordtest.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo cord/cordxtra.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordxtra.lo -MD -MP -MF $depbase.Tpo -c -o cord/cordxtra.lo cord/cordxtra.c &&\
	mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordprnt.lo -MD -MP -MF cord/.deps/cordprnt.Tpo -c cord/cordprnt.c  -fno-common -DPIC -o cord/.libs/cordprnt.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordtest.lo -MD -MP -MF cord/.deps/cordtest.Tpo -c cord/cordtest.c  -fno-common -DPIC -o cord/.libs/cordtest.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordxtra.lo -MD -MP -MF cord/.deps/cordxtra.Tpo -c cord/cordxtra.c  -fno-common -DPIC -o cord/.libs/cordxtra.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT mach_dep.lo -MD -MP -MF .deps/mach_dep.Tpo -c mach_dep.c -o mach_dep.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT pthread_support.lo -MD -MP -MF .deps/pthread_support.Tpo -c pthread_support.c -o pthread_support.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT libatomic_ops/src/atomic_ops.lo -MD -MP -MF libatomic_ops/src/.deps/atomic_ops.Tpo -c libatomic_ops/src/atomic_ops.c -o libatomic_ops/src/atomic_ops.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordtest.lo -MD -MP -MF cord/.deps/cordtest.Tpo -c cord/cordtest.c -o cord/cordtest.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordprnt.lo -MD -MP -MF cord/.deps/cordprnt.Tpo -c cord/cordprnt.c -o cord/cordprnt.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordxtra.lo -MD -MP -MF cord/.deps/cordxtra.Tpo -c cord/cordxtra.c -o cord/cordxtra.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT cord/cordbscs.lo -MD -MP -MF cord/.deps/cordbscs.Tpo -c cord/cordbscs.c -o cord/cordbscs.o >/dev/null 2>&1
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing -Wl,-single_module -version-info 1:3:0 -no-undefined  -o libgc.la -rpath /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib allchblk.lo alloc.lo blacklst.lo checksums.lo dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo headers.lo malloc.lo mallocx.lo mark.lo mark_rts.lo misc.lo new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo ptr_chck.lo real_malloc.lo reclaim.lo specific.lo stubborn.lo typd_mlc.lo backgraph.lo thread_local_alloc.lo pthread_start.lo pthread_support.lo pthread_stop_world.lo darwin_stop_world.lo  libatomic_ops/src/atomic_ops.lo mach_dep.lo -lpthread   
libtool: link: gcc -dynamiclib  -o .libs/libgc.1.dylib  .libs/allchblk.o .libs/alloc.o .libs/blacklst.o .libs/checksums.o .libs/dbg_mlc.o .libs/dyn_load.o .libs/finalize.o .libs/gc_dlopen.o .libs/gcj_mlc.o .libs/headers.o .libs/malloc.o .libs/mallocx.o .libs/mark.o .libs/mark_rts.o .libs/misc.o .libs/new_hblk.o .libs/obj_map.o .libs/os_dep.o .libs/pcr_interface.o .libs/ptr_chck.o .libs/real_malloc.o .libs/reclaim.o .libs/specific.o .libs/stubborn.o .libs/typd_mlc.o .libs/backgraph.o .libs/thread_local_alloc.o .libs/pthread_start.o .libs/pthread_support.o .libs/pthread_stop_world.o .libs/darwin_stop_world.o libatomic_ops/src/.libs/atomic_ops.o .libs/mach_dep.o   -lpthread  -O2 -Wl,-single_module   -install_name  /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.1.dylib -compatibility_version 2 -current_version 2.3 -Wl,-single_module
libtool: link: (cd ".libs" && rm -f "libgc.dylib" && ln -s "libgc.1.dylib" "libgc.dylib")
libtool: link: ar cru .libs/libgc.a  allchblk.o alloc.o blacklst.o checksums.o dbg_mlc.o dyn_load.o finalize.o gc_dlopen.o gcj_mlc.o headers.o malloc.o mallocx.o mark.o mark_rts.o misc.o new_hblk.o obj_map.o os_dep.o pcr_interface.o ptr_chck.o real_malloc.o reclaim.o specific.o stubborn.o typd_mlc.o backgraph.o thread_local_alloc.o pthread_start.o pthread_support.o pthread_stop_world.o darwin_stop_world.o libatomic_ops/src/atomic_ops.o mach_dep.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(checksums.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(gc_dlopen.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(pcr_interface.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(real_malloc.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(specific.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(backgraph.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(pthread_stop_world.o) has no symbols
libtool: link: ranlib .libs/libgc.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(checksums.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(gc_dlopen.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(pcr_interface.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(real_malloc.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(specific.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(backgraph.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgc.a(pthread_stop_world.o) has no symbols
libtool: link: ( cd ".libs" && rm -f "libgc.la" && ln -s "../libgc.la" "libgc.la" )
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing -version-info 1:3:0 -no-undefined  -o libcord.la -rpath /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib cord/cordbscs.lo cord/cordprnt.lo cord/cordtest.lo cord/cordxtra.lo ./libgc.la 
libtool: link: gcc -dynamiclib  -o .libs/libcord.1.dylib  cord/.libs/cordbscs.o cord/.libs/cordprnt.o cord/.libs/cordtest.o cord/.libs/cordxtra.o   ./.libs/libgc.dylib  -O2   -install_name  /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libcord.1.dylib -compatibility_version 2 -current_version 2.3 -Wl,-single_module
libtool: link: (cd ".libs" && rm -f "libcord.dylib" && ln -s "libcord.1.dylib" "libcord.dylib")
libtool: link: ar cru .libs/libcord.a  cord/cordbscs.o cord/cordprnt.o cord/cordtest.o cord/cordxtra.o
libtool: link: ranlib .libs/libcord.a
libtool: link: ( cd ".libs" && rm -f "libcord.la" && ln -s "../libcord.la" "libcord.la" )
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C boehm-gc check
/Applications/Xcode.app/Contents/Developer/usr/bin/make  libstaticrootslib.la gctest leaktest middletest smashtest hugetest realloc_test staticrootstest  threadleaktest threadkey_test initsecondarythread_test 
depbase=`echo tests/staticrootslib.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
	/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/staticrootslib.lo -MD -MP -MF $depbase.Tpo -c -o tests/staticrootslib.lo tests/staticrootslib.c &&\
	mv -f $depbase.Tpo $depbase.Plo
depbase=`echo tests/test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/test.o -MD -MP -MF $depbase.Tpo -c -o tests/test.o tests/test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/leak_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/leak_test.o -MD -MP -MF $depbase.Tpo -c -o tests/leak_test.o tests/leak_test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/middle.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/middle.o -MD -MP -MF $depbase.Tpo -c -o tests/middle.o tests/middle.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/smash_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/smash_test.o -MD -MP -MF $depbase.Tpo -c -o tests/smash_test.o tests/smash_test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/huge_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/huge_test.o -MD -MP -MF $depbase.Tpo -c -o tests/huge_test.o tests/huge_test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/realloc_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/realloc_test.o -MD -MP -MF $depbase.Tpo -c -o tests/realloc_test.o tests/realloc_test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/staticrootstest.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/staticrootstest.o -MD -MP -MF $depbase.Tpo -c -o tests/staticrootstest.o tests/staticrootstest.c &&\
	mv -f $depbase.Tpo $depbase.Po
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT tests/staticrootslib.lo -MD -MP -MF tests/.deps/staticrootslib.Tpo -c tests/staticrootslib.c  -fno-common -DPIC -o tests/.libs/staticrootslib.o
depbase=`echo tests/thread_leak_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/thread_leak_test.o -MD -MP -MF $depbase.Tpo -c -o tests/thread_leak_test.o tests/thread_leak_test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/threadkey_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/threadkey_test.o -MD -MP -MF $depbase.Tpo -c -o tests/threadkey_test.o tests/threadkey_test.c &&\
	mv -f $depbase.Tpo $depbase.Po
depbase=`echo tests/initsecondarythread.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	gcc -DHAVE_CONFIG_H   -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src  -fexceptions -g -O2 -fno-strict-aliasing -MT tests/initsecondarythread.o -MD -MP -MF $depbase.Tpo -c -o tests/initsecondarythread.o tests/initsecondarythread.c &&\
	mv -f $depbase.Tpo $depbase.Po
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o leaktest tests/leak_test.o ./libgc.la  
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o middletest tests/middle.o ./libgc.la  
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o smashtest tests/smash_test.o ./libgc.la  
libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -g -O2 -fno-strict-aliasing -MT tests/staticrootslib.lo -MD -MP -MF tests/.deps/staticrootslib.Tpo -c tests/staticrootslib.c -o tests/staticrootslib.o >/dev/null 2>&1
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o hugetest tests/huge_test.o ./libgc.la  
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o realloc_test tests/realloc_test.o ./libgc.la  
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o threadkey_test tests/threadkey_test.o ./libgc.la  -lpthread 
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o initsecondarythread_test tests/initsecondarythread.o ./libgc.la  -lpthread 
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/middletest tests/middle.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/leaktest tests/leak_test.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/smashtest tests/smash_test.o  ./.libs/libgc.dylib -lpthread
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing -version-info 1:3:0 -no-undefined -rpath /nowhere  -o libstaticrootslib.la  tests/staticrootslib.lo ./libgc.la  
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o threadleaktest tests/thread_leak_test.o ./libgc.la  -lpthread 
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/hugetest tests/huge_test.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/realloc_test tests/realloc_test.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/threadkey_test tests/threadkey_test.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/initsecondarythread_test tests/initsecondarythread.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/threadleaktest tests/thread_leak_test.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -dynamiclib  -o .libs/libstaticrootslib.1.dylib  tests/.libs/staticrootslib.o   ./.libs/libgc.dylib  -O2   -install_name  /nowhere/libstaticrootslib.1.dylib -compatibility_version 2 -current_version 2.3 -Wl,-single_module
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o gctest tests/test.o ./libgc.la  -lpthread 
libtool: link: (cd ".libs" && rm -f "libstaticrootslib.dylib" && ln -s "libstaticrootslib.1.dylib" "libstaticrootslib.dylib")
libtool: link: ar cru .libs/libstaticrootslib.a  tests/staticrootslib.o
libtool: link: ranlib .libs/libstaticrootslib.a
libtool: link: ( cd ".libs" && rm -f "libstaticrootslib.la" && ln -s "../libstaticrootslib.la" "libstaticrootslib.la" )
/bin/sh ./libtool  --tag=CC   --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing   -o staticrootstest tests/staticrootstest.o ./libgc.la  libstaticrootslib.la 
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/gctest tests/test.o  ./.libs/libgc.dylib -lpthread
libtool: link: gcc -fexceptions -g -O2 -fno-strict-aliasing -o .libs/staticrootstest tests/staticrootstest.o  ./.libs/libgc.dylib ./.libs/libstaticrootslib.dylib /Users/mgree/grift/src/backend-c/runtime/boehm-gc/.libs/libgc.dylib -lpthread
/Applications/Xcode.app/Contents/Developer/usr/bin/make  check-TESTS
PASS: leaktest
PASS: hugetest
PASS: smashtest
PASS: threadleaktest
PASS: staticrootstest
PASS: initsecondarythread_test
PASS: threadkey_test
PASS: middletest
PASS: realloc_test
PASS: gctest
make[7]: Nothing to be done for `all-am'.
============================================================================
Testsuite summary for gc 7.2
============================================================================
# TOTAL: 10
# PASS:  10
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C boehm-gc install
 /usr/local/bin/gmkdir -p '/Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib'
 /usr/local/bin/gmkdir -p '/Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/share/gc'
 /bin/sh ./libtool   --mode=install /usr/local/bin/ginstall -c   libgc.la libcord.la '/Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib'
 /usr/local/bin/gmkdir -p '/Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/include'
 /usr/local/bin/gmkdir -p '/Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/pkgconfig'
 /usr/local/bin/gmkdir -p '/Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/include/gc'
 /usr/local/bin/ginstall -c -m 644 include/extra/gc.h '/Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/include'
 /usr/local/bin/ginstall -c -m 644 doc/barrett_diagram doc/debugging.html doc/gc.man doc/gcdescr.html doc/README doc/README.amiga doc/README.arm.cross doc/README.autoconf doc/README.changes doc/README.cmake doc/README.contributors doc/README.cords doc/README.DGUX386 doc/README.dj doc/README.environment doc/README.ews4800 doc/README.hp doc/README.linux doc/README.Mac doc/README.MacOSX doc/README.macros doc/README.OS2 doc/README.rs6000 doc/README.sgi doc/README.solaris2 doc/README.uts doc/README.win32 doc/README.win64 doc/overview.html doc/tree.html doc/leak.html doc/gcinterface.html doc/scale.html doc/README.darwin doc/simple_example.html doc/porting.html '/Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/share/gc'
 /usr/local/bin/ginstall -c -m 644 bdw-gc.pc '/Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/pkgconfig'
 /usr/local/bin/ginstall -c -m 644 include/gc.h include/gc_typed.h include/gc_inline.h include/gc_mark.h include/weakpointer.h include/new_gc_alloc.h include/gc_allocator.h include/gc_backptr.h include/gc_gcj.h include/leak_detector.h include/gc_amiga_redirects.h include/gc_pthread_redirects.h include/gc_config_macros.h include/gc_tiny_fl.h include/gc_version.h include/cord.h include/private/cord_pos.h include/ec.h '/Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/include/gc'
libtool: install: /usr/local/bin/ginstall -c .libs/libgc.1.dylib /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.1.dylib
libtool: install: (cd /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib && { ln -s -f libgc.1.dylib libgc.dylib || { rm -f libgc.dylib && ln -s libgc.1.dylib libgc.dylib; }; })
libtool: install: /usr/local/bin/ginstall -c .libs/libgc.lai /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.la
libtool: install: /usr/local/bin/ginstall -c .libs/libcord.1.dylib /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libcord.1.dylib
libtool: install: (cd /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib && { ln -s -f libcord.1.dylib libcord.dylib || { rm -f libcord.dylib && ln -s libcord.1.dylib libcord.dylib; }; })
libtool: install: /usr/local/bin/ginstall -c .libs/libcord.lai /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libcord.la
libtool: install: /usr/local/bin/ginstall -c .libs/libgc.a /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.a
libtool: install: chmod 644 /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.a
libtool: install: ranlib /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.a(checksums.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.a(gc_dlopen.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.a(pcr_interface.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.a(real_malloc.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.a(specific.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.a(backgraph.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.a(pthread_stop_world.o) has no symbols
libtool: install: /usr/local/bin/ginstall -c .libs/libcord.a /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libcord.a
libtool: install: chmod 644 /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libcord.a
libtool: install: ranlib /Users/mgree/grift/src/backend-c/runtime/boehm-gc-install/lib/libcord.a
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C boehm-gc/libatomic_ops -k distclean
Making distclean in src
Making distclean in atomic_ops
Making distclean in sysdeps
test -z "" || rm -f 
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f 
rm -f Makefile
test -z "" || rm -f 
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f 
rm -f Makefile
test -z "libatomic_ops.a libatomic_ops_gpl.a" || rm -f libatomic_ops.a libatomic_ops_gpl.a
rm -f *.o
rm -f *.tab.c
test -z "" || rm -f 
rm -f config.h stamp-h1
test . = "." || test -z "" || rm -f 
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
rm -rf ./.deps
rm -f Makefile
Making distclean in doc
test -z "" || rm -f 
test . = "." || test -z "" || rm -f 
rm -f Makefile
Making distclean in tests
test -z "test_atomic test_atomic_pthreads test_stack test_malloc" || rm -f test_atomic test_atomic_pthreads test_stack test_malloc
test -z "list_atomic.i" || rm -f list_atomic.i
rm -f *.o
test -z "test_atomic.log test_atomic_pthreads.log test_stack.log test_malloc.log" || rm -f test_atomic.log test_atomic_pthreads.log test_stack.log test_malloc.log
rm -f *.tab.c
test -z "" || rm -f 
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f 
test -z "test_atomic.trs test_atomic_pthreads.trs test_stack.trs test_malloc.trs" || rm -f test_atomic.trs test_atomic_pthreads.trs test_stack.trs test_malloc.trs
test -z "test-suite.log" || rm -f test-suite.log
rm -rf ./.deps
rm -f Makefile
test -z "pkgconfig/atomic_ops.pc pkgconfig/atomic_ops-uninstalled.pc" || rm -f pkgconfig/atomic_ops.pc pkgconfig/atomic_ops-uninstalled.pc
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
rm -f cscope.out cscope.in.out cscope.po.out cscope.files
test . = "." || test -z "" || rm -f 
rm -f config.status config.cache config.log configure.lineno config.status.lineno
rm -f Makefile
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C boehm-gc -k distclean
Makefile:1331: libatomic_ops/src/.deps/atomic_ops.Plo: No such file or directory
Makefile:1332: libatomic_ops/src/.deps/atomic_ops_sysdeps.Plo: No such file or directory
make[2]: *** No rule to make target `libatomic_ops/src/.deps/atomic_ops_sysdeps.Plo'.
make[2]: *** No rule to make target `libatomic_ops/src/.deps/atomic_ops.Plo'.
make[2]: Failed to remake makefile `libatomic_ops/src/.deps/atomic_ops_sysdeps.Plo'.
make[2]: Failed to remake makefile `libatomic_ops/src/.deps/atomic_ops.Plo'.
Makefile:1331: libatomic_ops/src/.deps/atomic_ops.Plo: No such file or directory
Makefile:1332: libatomic_ops/src/.deps/atomic_ops_sysdeps.Plo: No such file or directory
make[3]: *** No rule to make target `libatomic_ops/src/.deps/atomic_ops_sysdeps.Plo'.
make[3]: *** No rule to make target `libatomic_ops/src/.deps/atomic_ops.Plo'.
make[3]: Failed to remake makefile `libatomic_ops/src/.deps/atomic_ops_sysdeps.Plo'.
make[3]: Failed to remake makefile `libatomic_ops/src/.deps/atomic_ops.Plo'.
test -z "libstaticrootslib.la" || rm -f libstaticrootslib.la
test -z "libgc.la  libcord.la" || rm -f libgc.la  libcord.la
rm -rf .libs _libs
rm -f *.o
test -z "gctest.log leaktest.log middletest.log smashtest.log hugetest.log realloc_test.log staticrootstest.log threadleaktest.log threadkey_test.log initsecondarythread_test.log" || rm -f gctest.log leaktest.log middletest.log smashtest.log hugetest.log realloc_test.log staticrootstest.log threadleaktest.log threadkey_test.log initsecondarythread_test.log
 rm -f gctest leaktest middletest smashtest hugetest realloc_test staticrootstest threadleaktest threadkey_test initsecondarythread_test
rm -f *.lo
rm -f *.tab.c
test -z "bdw-gc.pc" || rm -f bdw-gc.pc
rm -f include/private/config.h include/private/stamp-h1
rm -f ./so_locations
rm -f ./so_locations
test . = "." || test -z "" || rm -f 
test -z "gctest.trs leaktest.trs middletest.trs smashtest.trs hugetest.trs realloc_test.trs staticrootstest.trs threadleaktest.trs threadkey_test.trs initsecondarythread_test.trs" || rm -f gctest.trs leaktest.trs middletest.trs smashtest.trs hugetest.trs realloc_test.trs staticrootstest.trs threadleaktest.trs threadkey_test.trs initsecondarythread_test.trs
rm -f cord/*.o
rm -rf cord/.libs cord/_libs
rm -f cord/.deps/.dirstamp
rm -f libtool config.lt
rm -rf libatomic_ops/src/.libs libatomic_ops/src/_libs
rm -f cord/.dirstamp
rm -f cord/*.lo
rm -rf tests/.libs tests/_libs
rm -f libatomic_ops/src/.deps/.dirstamp
test -z "test-suite.log" || rm -f test-suite.log
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
rm -f libatomic_ops/src/.dirstamp
rm -f libatomic_ops/src/*.o
rm -f cscope.out cscope.in.out cscope.po.out cscope.files
rm -f tests/.deps/.dirstamp
rm -f tests/.dirstamp
rm -f libatomic_ops/src/*.lo
rm -f tests/*.o
rm -f tests/*.lo
make[2]: *** [distclean-recursive] Error 1
make[2]: Target `distclean' not remade because of errors.
make[1]: [boehm-gc-install/lib/libgc.a] Error 2 (ignored)
make: *** [all] Error 2

Did the tests succeed? It looks like the Boehm GC passed its tests, and Racket certainly did something.

When I try to run the executable by hand, I get:

$ ~/Library/Racket/7.1/bin/grift tests/suite/core/and1.grift 
clang: error: no such file or directory: '/Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime/runtime.o'
grift/backend-c/invoke-c-compiler: failed to compile with: clang -o /Users/mgree/grift/a.out /private/var/folders/gg/bcglb26n7cj18q50d00380tc0000gn/T/tmp16154012041615401204974.c /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime/runtime.o  /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/runtime/boehm-gc-install/lib/libgc.a  -Wno-int-conversion -Wno-format -Wno-unused-value  -O3 -Wno-format -Wno-int-conversion -Wno-unused-value -Wno-parentheses-equality 
  context...:
   /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/code-generator.rkt:43:0: invoke-c-compiler
   /Users/mgree/Library/Racket/7.1/pkgs/grift/src/backend-c/code-generator.rkt:18:0: c-backend-generate-code
   ...cket/cmdline.rkt:191:51
   (submod "/Users/mgree/Library/Racket/7.1/pkgs/grift/main.rkt" main): [running body]
   temp37_0
   for-loop
   run-module-instance!125

Any idea what's going on? I'm on macOS 10.13.

building with `make` fails when the path of source directory contains whitespace

Path: /home/lukc/white space/Grift/src/backend-c/runtime

The most interesting part in error:

machine `space/Grift/src/backend-c/runtime/boehm-gc' not recognized

Full error:

cd src/backend-c/runtime/; make
make[1]: Entering directory '/home/lukc/white space/Grift/src/backend-c/runtime'
PWD=`pwd`; cd boehm-gc; ./configure --prefix=/home/lukc/white space/Grift/src/backend-c/runtime/boehm-gc-install
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: space/Grift/src/backend-c/runtime/boehm-gc-install
checking build system type... Invalid configuration `space/Grift/src/backend-c/runtime/boehm-gc-install': machine `space/Grift/src/backend-c/runtime/boehm-gc' not recognized
configure: error: /bin/bash ./config.sub space/Grift/src/backend-c/runtime/boehm-gc-install failed
Makefile:4: recipe for target 'boehm-gc-install' failed
make[1]: *** [boehm-gc-install] Error 1
make[1]: Leaving directory '/home/lukc/white space/Grift/src/backend-c/runtime'
Makefile:2: recipe for target 'all' failed
make: *** [all] Error 2

Moving benchmarks to its own repository

I propose to move benchmarks to its own repository. Ideally, we would like to run them across different gradually-typed languages, a task that is separate from developing Grift itself. What do you think, @akuhlens?

Possible Bug in Recursive Types Hashconsing

I am not sure how to right a test to show this behavior but I don't think recursive types are not being hashconsed correctly. The equality test on recursive types should take equirecursion into account, as best I remember it does not.

We should standardize error reporting.

Errors are currently a mixture of the very generic error expression and custom defined exceptions. We should at some point standardize the expectations of code that uses exceptions to make debug and error reporting easier.

Make contracts from these types.

#lang typed/racket/no-check

;; The diffs between languages are one of the best sources of documentation
;; of what passes do to the language grammar that we currently have.
;; I want to leave them in place until we have contracts that are able to
;; dynamically check the language grammars. With the hopes that we will
;; be able to calculate the contracts based on the diffs.

#|-----------------------------------------------------------------------------+
| Language/Cast3 created by interpret-casts                                    |
+-----------------------------------------------------------------------------|#

(define-type Cast-or-Coerce3-Lang
  (Prog (List String Natural Grift-Type)
    (Static* (List CoC3-Bnd*)
             CoC3-Expr)))


(define-type CoC3-Expr
  (Rec E (U (Castable-Lambda-Forms E)
            (Fn-Proxy-Forms E)
            (Letrec (Bnd* E) E)
            (Let (Bnd* E) E)
            (Var Uid) 
            (Global String)
            (Assign Id E)
            (Gen-Data-Forms E)
            (Code-Forms E)
            (Quote-Coercion Grift-Coercion)
            (Coercion-Operation-Forms E)
            (Quote-HCoercion Mixed-Coercion) 
            (Hyper-Coercion-Operation-Forms E)
            (Type Grift-Type)
            (Type-Operation-Forms E)
            (Control-Flow-Forms E)
            (Op Grift-Primitive (Listof E))
            (Quote Cast-Literal)
            No-Op
            (Blame E)
            (Observe E Grift-Type)
            (Unguarded-Forms E)
            (Guarded-Proxy-Forms E)
            (Monotonic-Forms E Grift-Type)
            (Error E)
            (Tuple-Operation-Forms E))))

#;
(define-type CoC3-Expr
  (Rec E (U
          (Construct CoC3-Gen-Data CoC3-Gen-Ctor (Listof E))
          (Access CoC3-Gen-Data CoC3-Gen-Access E (Option E))
          (Check CoC3-Gen-Data CoC3-Gen-Pred E (Listof E))
          (Observe E Grift-Type) 
          No-Op
          ;; Code Labels
          (Code-Label Uid)
          (Labels CoC3-Bnd-Code* E)
          (App-Code E (Listof E))
          ;; Functions as an interface
          (Lambda Uid* (Castable (Option Uid) E))
          (Fn-Caster E)
          (App-Fn E (Listof E))
          ;; Our Lovely Function Proxy Representation
          (App-Fn-or-Proxy Uid E (Listof E))
          (Fn-Proxy (List Index Uid) E E)
          (Fn-Proxy-Huh E)
          (Fn-Proxy-Closure E)
          (Fn-Proxy-Coercion E)
          ;; Coercions
          (Quote-Coercion Grift-Coercion)
          (Quote-HCoercion Mixed-Coercion)
          (Compose-Coercions E E)
          (Id-Coercion-Huh E)
          (Fn-Coercion-Huh E)
          (Make-Fn-Coercion Uid E E E)
          (Fn-Coercion (Listof E) E)
          (Fn-Coercion-Arg E E)
          (Fn-Coercion-Return E)
          (Fn-Coercion-Arity E)
          (Id-Fn-Coercion E)
          (Fn-Coercion-Return-Set! E E)
          (Fn-Coercion-Arg-Set! E E E) 
          (Ref-Coercion E E E)
          (Ref-Coercion-Huh E)
          (Ref-Coercion-Read E)
          (Ref-Coercion-Write E)
          (Ref-Coercion-Ref-Huh E)
          (Sequence-Coercion E E)
          (Sequence-Coercion-Huh E)
          (Sequence-Coercion-Fst E)
          (Sequence-Coercion-Snd E)
          (Project-Coercion E E)
          (Project-Coercion-Huh E)
          (Project-Coercion-Type E)
          (Project-Coercion-Label E)
          (Inject-Coercion E)
          (Inject-Coercion-Type E)
          (Inject-Coercion-Huh E)
          (Failed-Coercion E)
          (Failed-Coercion-Huh E)
          (Failed-Coercion-Label E)
          (HC E E E E E E)
          (HC-Inject-Huh E)
          (HC-Project-Huh E)
          (HC-Identity-Huh E)
          (HC-Label E)
          (HC-T1 E)
          (HC-T2 E)
          (HC-Med E)
          ;;Type operations
          (Type Grift-Type)
          (Type-Dyn-Huh E)
          (Type-Fn-Huh E)
          (Type-Fn-arity E)
          (Type-Fn-arg E E)
          (Type-Fn-return E)
          (Type-GRef-Huh E)
          (Type-GRef-Of  E)
          (Type-GVect-Huh E)
          (Type-GVect-Of E)
          (Type-Mu-Huh E)
          (Type-Mu-Body E)
          ;; Tags are exposed before specify This is bad
          ;; TODO fix this after the deadline
          (Type-Tag E)
          (Tag Tag-Symbol)
          ;; Binding Forms - Lambda
          (Letrec CoC3-Bnd* E)
          (Let CoC3-Bnd* E)
          (Var Uid)
          (Global String)
          (Assign Id E)
          ;; Control Flow
          (If E E E)
          (Switch E (Switch-Case* E) E)
          (Begin CoC3-Expr* E)
          (Repeat Uid E E Uid E E)
          Break-Repeat
          ;;Primitives
          (Op Grift-Primitive (Listof E))
          (Quote Cast-Literal)
          ;; Observations
          (Blame E)
          (Observe E Grift-Type)
          ;; Unguarded-Representation
          (Unguarded-Box E)
          (Unguarded-Box-Ref E)
          (Unguarded-Box-Set! E E)
          (Unguarded-Vect E E)
          (Unguarded-Vect-Ref E E)
          (Unguarded-Vect-Set! E E E)
          (Guarded-Proxy-Huh E)
          (Guarded-Proxy E (Twosome E E E))
          (Guarded-Proxy E (Coercion E))
          (Guarded-Proxy-Ref E)
          (Guarded-Proxy-Source E)
          (Guarded-Proxy-Target E)
          (Guarded-Proxy-Blames E)
          (Guarded-Proxy-Coercion E)
          (Unguarded-Vect-length E)
          ;; Monotonic references
          (Mbox E Grift-Type)
          (Mbox-val-set! E E)
          (Mbox-val-ref E)
          (Mbox-rtti-set! E E)
          (Mbox-rtti-ref E)
          (Make-GLB-Two-Fn-Types Uid E E)
          (Make-GLB-Two-Tuple-Types Uid E E)
          (MRef-Coercion-Huh E)
          (MRef-Coercion-Type E)
          (MRef-Coercion E)
          (Type-GRef E) ;; glb need to create new types in runtime
          (Type-GVect E)
          (Type-MRef E)
          (Type-MRef-Huh E)
          (Type-MRef-Of E)
          (Mvector E E Grift-Type)
          (Mvector-length E)
          (Mvector-val-ref E E VectorAccessMode)
          (Mvector-val-set! E E E VectorAccessMode)
          (Mvector-rtti-ref E)
          (Mvector-rtti-set! E E)
          (Type-MVect E)
          (Type-MVect-Huh E)
          (Type-MVect-Of E)
          (MVect-Coercion-Huh E)
          (MVect-Coercion-Type E)
          (MVect-Coercion E)
          (Error E)
          (Create-tuple (Listof E))
          (Tuple-proj E E)
          (Tuple-Coercion-Huh E)
          (Tuple-Coercion-Num E)
          (Tuple-Coercion-Item E E)
          (Id-Tuple-Coercion E)
          (Tuple-Coercion-Item-Set! E E E)
          (Coerce-Tuple Uid E E)
          (Coerce-Tuple-In-Place Uid E E E E E)
          (Cast-Tuple Uid E E E E)
          (Cast-Tuple-In-Place Uid E E E E E E E)
          (Type-Tuple-Huh E)
          (Type-Tuple-num E)
          (Type-Tuple-item E E)
          (Make-Tuple-Coercion Uid E E E)
          (Mediating-Coercion-Huh E))))

;; Hoist Types and Coercions
(define-type (HT&C+ E)
  (U (Type Immediate-Type)
     (Quote-Coercion Immediate-Coercion)
     (Mvector E E Immediate-Type)
     (Mbox E Immediate-Type)))

(define-type (HT&C- E)
  (U (Type Grift-Type)
     (Quote-Coercion Grift-Coercion)
     (Quote-HCoercion Mixed-Coercion)
     (Mvector E E Grift-Type)
     (Mbox E Grift-Type)))

(define-type (HT&C= E)
  (U (Monotonic-Forms-w/o-Constructors E)
     (Castable-Lambda-Forms E)
     (Fn-Proxy-Forms E) 
     (Letrec (Bnd* E) E)
     (Let (Bnd* E) E)
     (Var Uid)
     (Global String)
     (Assign Id E)
     (Gen-Data-Forms E)
     (Code-Forms E)
     (Coercion-Operation-Forms E)
     (Hyper-Coercion-Operation-Forms E)
     (Type-Operation-Forms E)
     (Control-Flow-Forms E)
     (Op Grift-Primitive (Listof E))
     (Quote Cast-Literal)
     No-Op
     (Blame E)
     (Observe E Grift-Type)
     (Unguarded-Forms E)
     (Guarded-Proxy-Forms E)
     (Error E)
     (Tuple-Operation-Forms E)))


(define-type (Closure-Ops E)
  (U (Let-Closures Uid E)
     (Closure-Code E)
     (Closure-Caster E)
     (Closure-App E)))

(define-type (Closure-Ops/Ref E)
  (U (Let-Closures E E)
     (Closure-Code E)
     (Closure-Caster E)
     (Closure-Ref E) 
     (Closure-App E)))

(define-type (Hybrid-Fn-Proxy-Forms E)
  (U Closure-Proxy
     (Hybrid-Proxy-Huh E)
     (Hybrid-Proxy-Closure E)
     (Hybrid-Proxy-Coercion E)))

(define-type (Data-Fn-Proxy-Forms E)
  (U (Fn-Proxy Index E E)
     (Fn-Proxy-Huh E)
     (Fn-Proxy-Closure E)
     (Fn-Proxy-Coercion E)))


(define-type Cast-or-Coerce6-Lang
  (Prog (List String Natural Grift-Type)
        (Static*
         (List Bnd-Mu-Type*
               Bnd-Type*
               Bnd-Mu-Crcn*
               Bnd-Crcn*
               (Bnd* (Fun CoC6-Expr))
               (Closure* CoC6-Expr CoC6-Expr)
               (Bnd* CoC6-Expr))
         CoC6-Expr)))


(define-type CoC6-Expr
  (Rec
   E
   (U (Closure-Ops/Ref E)
      (Data-Fn-Proxy-Forms E)
      (Hybrid-Fn-Proxy-Forms E)
      (Gen-Data-Forms E)
      (Code-Forms E)
      (Quote-Coercion Immediate-Coercion)
      (Hyper-Coercion-Operation-Forms E)
      (Coercion-Operation-Forms E)
      (Type Immediate-Type)
      (Type-Operation-Forms E)
      (Let (Bnd* E) E)
      (Var Uid)
      (Global String)
      (Assign Id E)
      (Control-Flow-Forms E)
      (Op Grift-Primitive (Listof E))
      No-Op
      (Quote Cast-Literal)
      (Blame E)
      (Observe E Grift-Type)
      (Unguarded-Forms E)
      (Guarded-Proxy-Forms E)
      (Monotonic-Forms E Immediate-Type)
      (Error E)
      (Tuple-Operation-Forms E))))

(define-type Code-Generation
  (U
   ;; both code and closure
   'regular
   ;; Only generate the code, but be compatible with
   ;; any identical fv-list. This is used for the
   ;; definition closure-casters, and when a well-known
   ;; closure shares the closures of closure that isn't
   ;; well-known.
   ;; TODO list invarients needed by 'code-only-code
   'code-only
   ;; Only allocate the closure, don't generate the
   ;; code. This is used to share code between function
   ;; cast, apply-casted closure, of the same arity.
   'closure-only))

;; Uncover Free Eliminates the following forms
(define-type (U- E)
  (U (Named-Castable-Lambda-Forms E)
     (Fn-Proxy-Forms E)))

;; Uncover Free Adds The following forms
(define-type (U+ E)
  (U (Closure-Ops E)
     (Data-Fn-Proxy-Forms E)
     (Hybrid-Fn-Proxy-Forms E)))

;; Uncover Free is invariant in the following forms
(define-type (U= E)
  (U (Gen-Data-Forms E)
     (Code-Forms E)
     (Quote-Coercion Immediate-Coercion)
     (Hyper-Coercion-Operation-Forms E)
     (Coercion-Operation-Forms E)
     (Type Immediate-Type)
     (Type-Operation-Forms E)
     (Let (Bnd* E) E)
     (Var Uid)
     (Global String)
     (Assign Id E)
     (Control-Flow-Forms E)
     (Op Grift-Primitive (Listof E))
     No-Op
     (Quote Cast-Literal)
     (Blame E)
     (Observe E Grift-Type)
     (Unguarded-Forms E)
     (Guarded-Proxy-Forms E)
     (Monotonic-Forms E Immediate-Type)
     (Error E)
     (Tuple-Operation-Forms E)))

;; This pass removes Lambdas from expression contexts
(define-type (Label-Lambdas- E)
  (Castable-Lambda E))

;; And leaves the rest expression forms alone.
(define-type (Label-Lambdas= E)
  (U (Named-Castable-Lambda-Forms E)
     (App-Fn E (Listof E))
     (Fn-Proxy-Forms E)
     (Let (Bnd* E) E)
     (Var Uid)
     (Global String)
     (Assign Id E)
     (Gen-Data-Forms E)
     (Code-Forms E)
     (Quote-Coercion Immediate-Coercion)
     (Coercion-Operation-Forms E)
     (Hyper-Coercion-Operation-Forms E)
     (Type Immediate-Type)
     (Type-Operation-Forms E)
     (Control-Flow-Forms E)
     (Op Grift-Primitive (Listof E))
     (Quote Cast-Literal)
     No-Op
     (Blame E)
     (Observe E Grift-Type)
     (Unguarded-Forms E)
     (Guarded-Proxy-Forms E)
     (Monotonic-Forms E Immediate-Type)
     (Error E)
     (Tuple-Operation-Forms E)))

(define-type Cast-or-Coerce3.1-Lang
  (Prog (List String Natural Grift-Type)
    (Static* (List
              Bnd-Mu-Type*
              Bnd-Type*
              Bnd-Mu-Crcn*
              Bnd-Crcn*
              CoC3.1-Bnd*) 
             CoC3.1-Expr)))

(define-type (Castable-Lambda E) (CLambda E))

(define-type (Gen-Data-Forms E)
  (U (Construct Gen-Data Gen-Ctor (Listof E))
     (Access Gen-Data Gen-Access E (Option E))
     (Check Gen-Data Gen-Pred E (Listof E))))

(define-type (Code-Forms E)
  (U (Code-Label Uid)
     (Labels (Bnd* (Code Uid* E)) E)
     (App-Code E (Listof E))))

(define-type (Fn-Proxy-Forms E)
  (U (App-Fn-or-Proxy Uid E (Listof E))
     (Fn-Proxy (List Index Uid) E E)
     (Fn-Proxy-Huh E)
     (Fn-Proxy-Closure E)
     (Fn-Proxy-Coercion E)))

(define-type (Coercion-Operation-Forms E)
  (U
   (Sequence-Coercion E E)
   (Sequence-Coercion-Huh E)
   (Sequence-Coercion-Fst E)
   (Sequence-Coercion-Snd E)

   (Project-Coercion E E)
   (Project-Coercion-Huh E)
   (Project-Coercion-Type E)
   (Project-Coercion-Label E)

   (Inject-Coercion E)
   (Inject-Coercion-Huh E)
   (Inject-Coercion-Type E)

   (Mediating-Coercion-Huh E)
     
   (Make-Fn-Coercion Uid E E E)
   (Id-Coercion-Huh E)
   (Id-Fn-Coercion E) 
   (Fn-Coercion-Huh E)
   (Fn-Coercion (Listof E) E)
   (Fn-Coercion-Arity E)
   (Fn-Coercion-Arg E E)
   (Fn-Coercion-Return E)
   (Fn-Coercion-Return-Set! E E)
   (Fn-Coercion-Arg-Set! E E E)

   (Ref-Coercion E E E)
   (Ref-Coercion-Huh E)
   (Ref-Coercion-Read E)
   (Ref-Coercion-Write E)
   (Ref-Coercion-Ref-Huh E)

   (MRef-Coercion E)
   (MRef-Coercion-Huh E)
   (MRef-Coercion-Type E)

   (MVect-Coercion-Huh E)
   (MVect-Coercion-Type E)
   (MVect-Coercion E)

   (Failed-Coercion E)
   (Failed-Coercion-Huh E)
   (Failed-Coercion-Label E)

   (Make-Tuple-Coercion Uid E E E)
   (Id-Tuple-Coercion E)
   (Tuple-Coercion-Huh E)
   (Tuple-Coercion-Num E)
   (Tuple-Coercion-Item E E)
   (Tuple-Coercion-Item-Set! E E E)
   
   Make-Mu-Coercion
   (Mu-Coercion-Huh E)
   (Mu-Coercion-Body-Set! E E)
   (Mu-Coercion-Body E)))

(define-type (Type-Operation-Forms E)
  (U (Type-Dyn-Huh E)
     (Type-Fn-Huh E)
     (Type-Fn-arity E)
     (Type-Fn-arg E E)
     (Type-Fn-return E)
     (Type-GRef-Huh E)
     (Type-GRef-Of  E)
     (Type-GVect-Huh E)
     (Type-GVect-Of E)
     (Type-GRef E) 
     (Type-GVect E)
     (Type-MRef E)
     (Type-MRef-Huh E)
     (Type-MRef-Of E)
     (Type-MVect E)
     (Type-MVect-Huh E)
     (Type-MVect-Of E)
     (Type-Tuple-Huh E)
     (Type-Tuple-num E)
     (Type-Tuple-item E E)
     (Type-Mu-Huh E)
     (Type-Mu-Body E)))

(define-type (Tag-Forms E) 
  ;; Tags are exposed before specify This is bad
  ;; TODO fix this after the deadline
  (U (Type-Tag E)
     (Tag Tag-Symbol)))

(define-type (Control-Flow-Forms E)
  (U (If E E E)
     (Switch E (Switch-Case* E) E)
     (Begin (Listof E) E)
     (Repeat Uid E E Uid E E)
     Break-Repeat))

(define-type (Unguarded-Forms E)
  (U (Unguarded-Box E)
     (Unguarded-Box-On-Stack E)
     (Unguarded-Box-Ref E)
     (Unguarded-Box-Set! E E)
     (Unguarded-Vect E E)
     (Unguarded-Vect-Ref E E)
     (Unguarded-Vect-Set! E E E)
     (Unguarded-Vect-length E)))

(define-type (Guarded-Proxy-Forms E)
  (U (Guarded-Proxy-Huh E)
     (Guarded-Proxy E (U (Twosome E E E) (Coercion E)))
     (Guarded-Proxy-Ref E)
     (Guarded-Proxy-Source E)
     (Guarded-Proxy-Target E)
     (Guarded-Proxy-Blames E)
     (Guarded-Proxy-Coercion E)))

(define-type (Monotonic-Forms-w/o-Constructors E)
  (U (Mbox-val-set! E E)
     (Mbox-val-ref E)
     (Mbox-rtti-set! E E)
     (Mbox-rtti-ref E) 
     (Mvector-length E)
     (Mvector-val-ref E E VectorAccessMode)
     (Mvector-val-set! E E E VectorAccessMode)
     (Mvector-rtti-ref E)
     (Mvector-rtti-set! E E) 
     (Make-GLB-Two-Fn-Types Uid E E)
     (Make-GLB-Two-Tuple-Types Uid E E)))

(define-type (Monotonic-Forms E T)
  (U (Mvector E E T)
     (Mbox E T)
     (Monotonic-Forms-w/o-Constructors E)))

(define-type (Hyper-Coercion-Operation-Forms E)
  (U (HC E E E E E E)
     (HC-Inject-Huh E)
     (HC-Project-Huh E)
     (HC-Identity-Huh E)
     (HC-Label E)
     (HC-T1 E)
     (HC-T2 E)
     (HC-Med E)))


(define-type (Tuple-Operation-Forms E)
  (U (Create-tuple (Listof E)) 
     (Tuple-proj E E)
     (Copy-Tuple E E)
     ;; FIXME These forms shouldn't exist anymore
     (Coerce-Tuple Uid E E)
     (Coerce-Tuple-In-Place Uid E E E E E)
     (Cast-Tuple Uid E E E E)
     (Cast-Tuple-In-Place Uid E E E E E E E)))

(define-type (Castable-Lambda-Forms E)
  (U (Lambda Uid* (Castable (Option Uid) E))
     (Fn-Caster E)
     (App-Fn E (Listof E))))

(define-type CoC3.1-Expr
  (Rec E
       (U (Castable-Lambda-Forms E)
          (Fn-Proxy-Forms E)
          (Letrec (Bnd* E) E)
          (Let (Bnd* E) E)
          (Var Uid) 
          (Global String)
          (Assign Id E)
          (Gen-Data-Forms E)
          (Code-Forms E)
          (Quote-Coercion Immediate-Coercion)
          (Coercion-Operation-Forms E)
          (Hyper-Coercion-Operation-Forms E)
          (Type Immediate-Type)
          (Type-Operation-Forms E)
          (Control-Flow-Forms E)
          ;;Primitives
          (Op Grift-Primitive (Listof E))
          (Quote Cast-Literal)
          No-Op
          ;; Observations
          (Blame E)
          (Observe E Grift-Type)
          (Unguarded-Forms E)
          (Guarded-Proxy-Forms E)
          (Monotonic-Forms E Immediate-Type)
          (Error E)
          (Tuple-Operation-Forms E))))

(define-type Cast-or-Coerce3.2-Lang
  (Prog (List String Natural Grift-Type)
    (Static* (List
              Bnd-Mu-Type*
              Bnd-Type*
              Bnd-Mu-Crcn*
              Bnd-Crcn*
              CoC3.2-Bnd*) 
             CoC3.2-Expr)))

(define-type CoC3.2-Expr
  (Rec E
       (U (Named-Castable-Lambda-Forms E)
          (Castable-Lambda E)
          (Fn-Proxy-Forms E)
          (Let (Bnd* E) E)
          (Var Uid)
          (Global String)
          (Assign Id E)
          (Gen-Data-Forms E)
          (Code-Forms E)
          (Quote-Coercion Immediate-Coercion)
          (Coercion-Operation-Forms E)
          (Hyper-Coercion-Operation-Forms E)
          (Type Immediate-Type)
          (Type-Operation-Forms E)
          (Control-Flow-Forms E)
          (Op Grift-Primitive (Listof E))
          (Quote Cast-Literal)
          No-Op
          (Blame E)
          (Observe E Grift-Type)
          (Unguarded-Forms E)
          (Guarded-Proxy-Forms E)
          (Monotonic-Forms E Immediate-Type)
          (Error E)
          (Tuple-Operation-Forms E))))

(define-type (Purify-Letrec+ E)
  (Letrec (Bnd* (Castable-Lambda E)) E))

(define-type (Purify-Letrec- E)
  (Letrec (Bnd* E) E))

(define-type (Purify-Letrec= E)
  (U (Castable-Lambda-Forms E)
     (Fn-Proxy-Forms E) 
     (Let (Bnd* E) E)
     (Var Uid)
     (Global String)
     (Assign Id E)
     (Gen-Data-Forms E)
     (Code-Forms E)
     (Quote-Coercion Immediate-Coercion)
     (Coercion-Operation-Forms E)
     (Hyper-Coercion-Operation-Forms E)
     (Type Immediate-Type)
     (Type-Operation-Forms E)
     (Control-Flow-Forms E)
     ;;Primitives
     (Op Grift-Primitive (Listof E))
     (Quote Cast-Literal)
     No-Op
     ;; Observations
     (Blame E)
     (Observe E Grift-Type)
     (Unguarded-Forms E)
     (Guarded-Proxy-Forms E)
     (Monotonic-Forms E Immediate-Type)
     (Error E)
     (Tuple-Operation-Forms E)))

(define-type Data0-Lang
  (Prog (List String Natural Grift-Type)
        (GlobDecs Uid* D0-Expr)))

(define-type D0-Bnd-Code* (Listof D0-Bnd-Code))
(define-type D0-Bnd-Code (Pairof Uid D0-Code))
(define-type D0-Code (Code Uid* D0-Expr))



(define-type D0-Expr
  (Rec E (U (Labels D0-Bnd-Code* E)
	    (App-Code E (Listof E))
        (UIL-Op! E)
        (UIL-Op E)
        No-Op
	    (If E E E)
        (Switch E (Switch-Case* E) E)
	    (Begin D0-Expr* E)
        (Repeat Uid E E Uid E E)
        Break-Repeat
	    (Var Uid)
        (Global String)
	    (Code-Label Uid)
	    (Quote D0-Literal)
        (Assign Id E)
        Success
        Stack-Alloc)))

(define-type D0-Expr* (Listof D0-Expr))

(define-type Data5-Lang
  (Prog (List String Natural Grift-Type)
	(GlobDecs Uid*
                    (Labels D5-Bnd-Code*
                            D5-Body))))

(define-type D5-Body (Locals Uid* (Bnd* Nat) D5-Tail))
(define-type D5-Bnd-Code* (Listof D5-Bnd-Code))
(define-type D5-Bnd-Code (Pairof Uid D5-Code))
(define-type D5-Code (Code Uid* D5-Body))

(define-type D5-Tail
  (Rec T
   (U (If D5-Pred T T)
      (Switch D5-Trivial (Switch-Case* T) T)
      (Begin D5-Effect* T)
      (Return D5-Value)
      (Return Success))))

(define-type D5-Pred (Relop UIL-Pred-Prim D5-Trivial D5-Trivial))

(define-type D5-Effect
  (U (Repeat Uid D5-Trivial D5-Trivial #f #f (Begin D5-Effect* No-Op))
     (If D5-Pred (Begin D5-Effect* No-Op) (Begin D5-Effect* No-Op))
     Break-Repeat
     (Switch D5-Trivial
             (Switch-Case* (Begin D5-Effect* No-Op))
             (Begin D5-Effect* No-Op))
     (UIL-Op! D5-Trivial)
     (Assign Id D5-Value)
     No-Op))

(define-type D5-Value
  (U D5-Trivial
     Halt
     (UIL-Op D5-Trivial)
     (App-Code D5-Trivial D5-Trivial*)
     (If D5-Pred D5-Trivial D5-Trivial)))

(define-type D5-Trivial
  (U (Code-Label Uid)
     (Var Uid)
     (Global String)
     (Quote D5-Literal)))


(define-type Data4-Lang
  (Prog (List String Natural Grift-Type)
	(GlobDecs Uid*
                    (Labels D4-Bnd-Code*
                            D4-Body))))

(define-type D4-Body (Locals Uid* (Bnd* Nat) D4-Tail))
(define-type D4-Bnd-Code* (Listof D4-Bnd-Code))
(define-type D4-Bnd-Code (Pairof Uid D4-Code))
(define-type D4-Code (Code Uid* D4-Body))

(define-type D4-Tail
  (Rec T
   (U (If D4-Pred T T)
      (Switch D4-Trivial (Switch-Case* T) T)
      (Begin D4-Effect* T)
      (Return D4-Value)
      (Return Success))))

(define-type D4-Pred
 (Rec P
      (U (If D4-Pred P P)
         (Switch D4-Trivial (Switch-Case* P) P)
         (Begin D4-Effect* P)
         (Relop UIL-Pred-Prim D4-Trivial D4-Trivial))))

(define-type D4-Effect
 (Rec E
      (U (If D4-Pred E E)
         (Switch D4-Trivial (Switch-Case* E) E)
         (Begin D4-Effect* No-Op)
         (Repeat Uid D4-Trivial D4-Trivial #f #f E)
         (UIL-Op! D4-Trivial)
         (Assign Id D4-Value)
         Break-Repeat
         No-Op)))

(define-type D4-Value
  (U D4-Trivial
     Halt
     (UIL-Op D4-Trivial)
     (App-Code D4-Trivial D4-Trivial*)))

(define-type D4-Trivial
  (U (Code-Label Uid)
     (Var Uid)
     (Global String)
     (Quote D4-Literal)))

(define-type Data3-Lang
  (Prog (List String Natural Grift-Type)
	(GlobDecs Uid*
                    (Labels D3-Bnd-Code*
                            D3-Body))))

(define-type D3-Body (Locals Uid* (Bnd* Nat) D3-Tail))
(define-type D3-Bnd-Code* (Listof D3-Bnd-Code))
(define-type D3-Bnd-Code (Pairof Uid D3-Code))
(define-type D3-Code (Code Uid* D3-Body))

(define-type D3-Tail
  (Rec T
   (U (If D3-Pred T T)
      (Switch D3-Trivial (Switch-Case* T) T)
      (Begin D3-Effect* T)
      (Return D3-Value)
      (Return Success))))

(define-type D3-Value
 (Rec V
  (U D3-Trivial
     Halt
     (If D3-Pred V V)
     (Switch D3-Trivial (Switch-Case* V) V)
     (Begin D3-Effect* V)
     (Op UIL-Expr-Prim (Listof D3-Trivial))
     (App-Code D3-Trivial D3-Trivial*))))

(define-type D3-Pred
 (Rec P
      (U (If D3-Pred P P)
         (Switch D3-Trivial (Switch-Case* P) P)
         (Begin D3-Effect* P)
         (Relop UIL-Pred-Prim D3-Trivial D3-Trivial))))

(define-type D3-Effect
 (Rec E
      (U (If D3-Pred E E)
         (Switch D3-Trivial (Switch-Case* E) E)
         (Begin D3-Effect* No-Op)
         (Repeat Uid D3-Trivial D3-Trivial #f #f E)
         Break-Repeat
         (App-Code D3-Trivial D3-Trivial*)
         (UIL-Op! D3-Trivial)
         (Assign Id D3-Value)
         No-Op)))

;; (TODO halt is not trivial though because we are targeting c it may be treated so)
;; remove Halt earlier
(define-type D3-Trivial
  (U (Code-Label Uid)
     (Var Uid)
     (Global String)
     (Quote D3-Literal)))

(define-type D3-Value* (Listof D3-Value))

(define-type Data2-Lang
  (Prog (List String Natural Grift-Type)
        (GlobDecs Uid*
                    (Labels D2-Bnd-Code*
                            D2-Body))))

(define-type D2-Body (Locals Uid* (Bnd* Nat) D2-Tail))
(define-type D2-Bnd-Code* (Listof D2-Bnd-Code))
(define-type D2-Bnd-Code (Pairof Uid D2-Code))
(define-type D2-Code (Code Uid* D2-Body))

(define-type D2-Tail D1-Tail)

(define-type D2-Value D1-Value)

(define-type D2-Pred D1-Pred)

(define-type D2-Effect D1-Effect)

(define-type D2-Value* (Listof D2-Value))

(define-type D2-Effect* (Listof D2-Effect))

(define-type D2-Literal Data-Literal)

(define-type Data1-Lang
  (Prog (List String Natural Grift-Type)
        (GlobDecs Uid*
                    (Labels D1-Bnd-Code*
                            D1-Tail))))

(define-type D1-Bnd-Code* (Listof D1-Bnd-Code))
(define-type D1-Bnd-Code (Pairof Uid D1-Code))
(define-type D1-Code (Code Uid* D1-Tail))

(define-type D1-Tail
  (Rec T
   (U (If D1-Pred T T)
      (Switch D1-Value (Switch-Case* T) T)
      (Begin D1-Effect* T)
      (App-Code D1-Value D1-Value*)
      (Op UIL-Expr-Prim D1-Value*)
      (Var Uid)
      (Global String)
      Halt Success Stack-Alloc
      (Var Uid)
      (Code-Label Uid)
      (Quote D1-Literal))))

(define-type D1-Value
 (Rec V
      (U (If D1-Pred V V)
         (Switch V (Switch-Case* V) V)
         (Begin D1-Effect* V)
         (App-Code V (Listof V))
         (Op UIL-Expr-Prim (Listof V))
         Halt
         Stack-Alloc
         (Var Uid)
         (Global String)
         (Code-Label Uid)
         (Quote D1-Literal))))

(define-type D1-Pred
 (Rec P
      (U (If D1-Pred P P)
         (Switch D1-Value (Switch-Case* P) P)
         (Begin D1-Effect* P)
         (Relop UIL-Pred-Prim D1-Value D1-Value))))

(define-type D1-Effect
 (Rec E
      (U (If D1-Pred E E)
         (Switch D1-Value (Switch-Case* E) E)
         (Begin D1-Effect* No-Op)
         (Repeat Uid D1-Value D1-Value #f #f E)
         Break-Repeat
         (App-Code D1-Value D1-Value*)
         (UIL-Op! D1-Value)
         (Assign Id D1-Value)
         No-Op)))

(define-type Cast-or-Coerce4-Lang
  (Prog (List String Natural Grift-Type)
    (Static* (List CoC4-Bnd-Mu-Type*
                   CoC4-Bnd-Type*
                   CoC4-Bnd-Mu-Crcn*
                   CoC4-Bnd-Crcn*
                   CoC4-Bnd-Data*)
             CoC4-Expr)))

(define-type (Named-Castable-Lambda-Forms E)
  (U (Letrec (Bnd* (Castable-Lambda E)) E)
     (Fn-Caster E)
     (App-Fn E (Listof E))))

(define-type CoC4-Expr
  (Rec E (U
          (Gen-Data-Forms E)
          (Code-Forms E)
          (Named-Castable-Lambda-Forms E)
          (Fn-Proxy-Forms E)
          (Quote-Coercion Immediate-Coercion)
          (Hyper-Coercion-Operation-Forms E)
          (Coercion-Operation-Forms E)
          (Type Immediate-Type)
          (Type-Operation-Forms E)
          (Let (Bnd* E) E)
          (Var Uid)
          (Global String)
          (Assign Id E)
          (Control-Flow-Forms E)
          (Op Grift-Primitive (Listof E))
          No-Op
          (Quote Cast-Literal)
          (Blame E)
          (Observe E Grift-Type)
          (Unguarded-Forms E)
          (Guarded-Proxy-Forms E)
          (Monotonic-Forms E Immediate-Type)
          (Error E)
          (Tuple-Operation-Forms E)
          )))

(define-type Cast0-Lang
  (Prog (List String Natural Grift-Type) C0-Top*))

(define-type C0-Top* (Listof C0-Top))

(define-type C0-Top
  (U (Define Boolean Uid Grift-Type C0-Expr)
     (Observe C0-Expr Grift-Type)))

(define-type Cast0.5-Lang
  (Prog (List String Natural Grift-Type) C0-Expr))

(define-type C0-Expr
  (Rec E (U ;; Non-Terminals
          (Observe E Grift-Type)
          (Lambda Uid* E)
          (Letrec C0-Bnd* E)
          (Let C0-Bnd* E)
          (App E (Listof E))
          (Op Grift-Primitive (Listof E))
          (If E E E)
          (Switch E (Switch-Case* E) E)
          (Cast E (Twosome Grift-Type Grift-Type Blame-Label))
          (Begin C0-Expr* E)
          (Repeat Uid E E Uid E E)
          ;; Guarded effects
          (Gbox E)
          (Gunbox E)
          (Gbox-set! E E)
          (Gvector E E)
          (Gvector-set! E E E)
          (Gvector-ref E E)
          (Gvector-length E)
          ;; Monotonic
          (Mbox E Grift-Type)
          (Munbox E) ;; fast read
          (Mbox-set! E E) ;; fast write
          (MBoxCastedRef E Grift-Type)
          (MBoxCastedSet! E E Grift-Type)
          (Mvector E E Grift-Type)
          (Mvector-ref E E) ;; fast read
          (Mvector-set! E E E) ;; fast write
          (MVectCastedRef E E Grift-Type)
          (MVectCastedSet! E E E Grift-Type)
          (Mvector-length E)
          ;; Dynamic Operations
          (Dyn-GVector-Set! E E E Grift-Type Blame-Label)
          (Dyn-GVector-Ref E E Blame-Label)
          (Dyn-GVector-Len E E)
          (Dyn-GRef-Set! E E Grift-Type Blame-Label)
          (Dyn-GRef-Ref E Blame-Label)
          (Dyn-MVector-Set! E E E Grift-Type Blame-Label)
          (Dyn-MVector-Ref E E Blame-Label)
          (Dyn-MRef-Set! E E Grift-Type Blame-Label)
          (Dyn-MRef-Ref E Blame-Label)
          (Dyn-Fn-App E C0-Expr* Grift-Type* Blame-Label)
          (Dyn-Tuple-Proj E E E)
          (Create-tuple (Listof E))
          (Tuple-proj E Index)
          ;; Terminals
          (Var Uid)
          (Quote Cast-Literal)
          No-Op)))

(define-type C0-Expr* (Listof C0-Expr))

(define-type Cast-or-Coerce5-Lang
  (Prog (List String Natural Grift-Type)
    (Let-Static* Bnd-Mu-Type*
                 Bnd-Type*
                 Bnd-Mu-Crcn*
                 Bnd-Crcn* 
                 CoC5-Expr)))

(define-type CoC5-Expr
  (Rec E
       (U
        (Construct CoC5-Gen-Data CoC5-Gen-Ctor (Listof E))
        (Access CoC5-Gen-Data CoC5-Gen-Access E (Option E))
        (Check CoC5-Gen-Data CoC5-Gen-Pred E (Listof E))
        ;; Code Labels
        (Code-Label Uid)
        (Labels CoC5-Bnd-Code* E)
        (App-Code E (Listof E))
        ;; Functions as an interface
        (Lambda Uid* (Castable (Option Uid) E))
        (Fn-Caster E)
        (App-Fn E (Listof E))
        ;; Our Lovely Function Proxy Representation
        (App-Fn-or-Proxy Uid E (Listof E))
        (Fn-Proxy (List Index Uid) E E)
        (Fn-Proxy-Huh E)
        (Fn-Proxy-Closure E)
        (Fn-Proxy-Coercion E)
        ;; Coercions
        (Quote-Coercion Immediate-Coercion)
        ;(Compose-Coercions E E)
        (HC E E E E E E)
        (HC-Inject-Huh E)
        (HC-Project-Huh E)
        (HC-Identity-Huh E)
        (HC-Label E)
        (HC-T1 E)
        (HC-T2 E)
        (HC-Med E)
        (Id-Coercion-Huh E)
        (Fn-Coercion-Huh E)
        (Make-Fn-Coercion Uid E E E)
        (Fn-Coercion (Listof E) E)
        (Fn-Coercion-Arity E)
        (Fn-Coercion-Arg E E)
        (Fn-Coercion-Return E)
        (Id-Fn-Coercion E)
        (Fn-Coercion-Return-Set! E E)
        (Fn-Coercion-Arg-Set! E E E)
        (Ref-Coercion E E E)
        (Ref-Coercion-Huh E)
        (Ref-Coercion-Read E)
        (Ref-Coercion-Write E)
        (Ref-Coercion-Ref-Huh E)
        (Sequence-Coercion E E)
        (Sequence-Coercion-Huh E)
        (Sequence-Coercion-Fst E)
        (Sequence-Coercion-Snd E)
        (Project-Coercion E E)
        (Project-Coercion-Huh E)
        (Project-Coercion-Type E)
        (Project-Coercion-Label E)
        (Inject-Coercion E)
        (Inject-Coercion-Type E)
        (Inject-Coercion-Huh E)
        (Failed-Coercion E)
        (Failed-Coercion-Huh E)
        (Failed-Coercion-Label E)
        ;;Type operations
        (Type Immediate-Type)
        (Type-Fn-arity E)
        (Type-Fn-arg E E)
        (Type-Fn-return E)
        (Type-GRef-Of  E)
        (Type-GVect-Of E)
        (Type-Dyn-Huh E)
        (Type-Fn-Huh E)
        (Type-GRef-Huh E)
        (Type-GVect-Huh E)
        (Type-Mu-Huh E)
        (Type-Mu-Body E)
        ;; Tags are exposed before specify This is bad
        ;; TODO fix this after the deadline
        (Type-Tag E)
        (Tag Tag-Symbol)
        ;;(Type-Ctr-Case E Type-Ctr-Case-Clause* E)
        ;; Binding Forms - Lambda
        (Letrec CoC5-Bnd-Lambda* E)
        (Let CoC5-Bnd-Data* E)
        (Var Uid)
        (Global String)
        (Assign Id E)
        ;; Controll Flow
        (If E E E)
        (Switch E (Switch-Case* E) E)
        (Begin CoC5-Expr* E)
        (Repeat Uid E E Uid E E)
        Break-Repeat
        ;;Primitives
        (Op Grift-Primitive (Listof E))
        No-Op
        (Quote Cast-Literal)
        ;; Observations
        (Blame E)
        (Observe E Grift-Type)
        ;; Unguarded-Representation
        (Unguarded-Box E)
        (Unguarded-Box-Ref E)
        (Unguarded-Box-Set! E E)
        (Unguarded-Vect E E)
        (Unguarded-Vect-Ref E E)
        (Unguarded-Vect-Set! E E E)
        (Guarded-Proxy-Huh E)
        (Guarded-Proxy E (Twosome E E E))
        (Guarded-Proxy E (Coercion E))
        (Guarded-Proxy-Ref E)
        (Guarded-Proxy-Source E)
        (Guarded-Proxy-Target E)
        (Guarded-Proxy-Blames E)
        (Guarded-Proxy-Coercion E)
        (Unguarded-Vect-length E)
        ;; Monotonic references
        (Mbox E Immediate-Type)
        (Mbox-val-set! E E)
        (Mbox-val-ref E)
        (Mbox-rtti-set! E E)
        (Mbox-rtti-ref E)
        (Make-GLB-Two-Fn-Types Uid E E)
        (Make-GLB-Two-Tuple-Types Uid E E)
        (MRef-Coercion-Huh E)
        (MRef-Coercion-Type E)
        (MRef-Coercion E)
        (Type-GRef E) ;; glb need to create new types in runtime
        (Type-GVect E)
        (Type-MRef E)
        (Type-MRef-Huh E)
        (Type-MRef-Of E)
        (Error E)
        (Mvector E E Immediate-Type)
        (Mvector-length E)
        (Mvector-val-ref E E VectorAccessMode)
        (Mvector-val-set! E E E VectorAccessMode)
        (Mvector-rtti-ref E)
        (Mvector-rtti-set! E E)
        (Type-MVect E)
        (Type-MVect-Huh E)
        (Type-MVect-Of E)
        (MVect-Coercion-Huh E)
        (MVect-Coercion-Type E)
        (MVect-Coercion E)
        ;;
        (Create-tuple (Listof E))
        (Copy-Tuple E E)
        (Tuple-proj E E)
        (Tuple-Coercion-Huh E)
        (Tuple-Coercion-Num E)
        (Tuple-Coercion-Item E E)
        (Id-Tuple-Coercion E)
        (Tuple-Coercion-Item-Set! E E E)
        (Coerce-Tuple Uid E E)
        (Coerce-Tuple-In-Place Uid E E E E E)
        (Cast-Tuple Uid E E E E)
        (Cast-Tuple-In-Place Uid E E E E E E E)
        (Type-Tuple-Huh E)
        (Type-Tuple-num E)
        (Type-Tuple-item E E)
        (Make-Tuple-Coercion Uid E E E)
        (Mediating-Coercion-Huh E))))

(define-type CoC5-Expr* (Listof CoC5-Expr))
(define-type CoC5-Code (Code Uid* CoC5-Expr))
(define-type CoC5-Bnd-Code (Pairof Uid CoC5-Code))
(define-type CoC5-Bnd-Code* (Listof CoC5-Bnd-Code))
(define-type CoC5-Lambda (Lambda Uid* (Free (Option Uid) Uid* CoC5-Expr)))
(define-type CoC5-Bnd-Lambda  (Pairof Uid CoC5-Lambda))
(define-type CoC5-Bnd-Lambda* (Listof CoC5-Bnd-Lambda))
(define-type CoC5-Bnd-Data  (Pairof Uid CoC5-Expr))
(define-type CoC5-Bnd-Data* (Listof CoC5-Bnd-Data))



(define-type Lambda1-Lang
  (Prog (List String Natural Grift-Type)
    (Let-Static* Bnd-Mu-Type*
                 Bnd-Type*
                 Bnd-Mu-Crcn*
                 Bnd-Crcn*
                 L1-Expr)))

(define-type L1-Lambda (Lambda Uid* (Castable (Option Uid) L1-Expr)))

(define-type L1-Expr
  (Rec E (U
          (Construct L1-Gen-Data L1-Gen-Ctor (Listof E))
          (Access L1-Gen-Data L1-Gen-Access E (Option E))
          (Check L1-Gen-Data L1-Gen-Pred E (Listof E))
          ;; Code Labels
          (Code-Label Uid)
          (Labels L1-Bnd-Code* E)
          (App-Code E (Listof E))
          ;; Functions as an interface
          L1-Lambda
          (Fn-Caster E)
          (App-Fn E (Listof E))
          ;; Our Lovely Function Proxy Representation
          (App-Fn-or-Proxy Uid E (Listof E))
          (Fn-Proxy (List Index Uid) E E)
          (Fn-Proxy-Huh E)
          (Fn-Proxy-Closure E)
          (Fn-Proxy-Coercion E)
          ;; Coercions
          (Quote-Coercion Immediate-Coercion)
          (Compose-Coercions E E)
          (HC E E E E E E)
          (HC-Inject-Huh E)
          (HC-Project-Huh E)
          (HC-Identity-Huh E)
          (HC-Label E)
          (HC-T1 E)
          (HC-T2 E)
          (HC-Med E)
          (Id-Coercion-Huh E)
          (Fn-Coercion-Huh E)
          (Make-Fn-Coercion Uid E E E)
          (Fn-Coercion (Listof E) E)
          (Fn-Coercion-Arity E)
          (Fn-Coercion-Arg E E)
          (Fn-Coercion-Return E)
          (Fn-Coercion-Return-Set! E E)
          (Fn-Coercion-Arg-Set! E E E)
          (Id-Fn-Coercion E) 
          (Ref-Coercion E E E)
          (Ref-Coercion-Huh E)
          (Ref-Coercion-Read E)
          (Ref-Coercion-Write E)
          (Ref-Coercion-Ref-Huh E)
          (Sequence-Coercion E E)
          (Sequence-Coercion-Huh E)
          (Sequence-Coercion-Fst E)
          (Sequence-Coercion-Snd E)
          (Project-Coercion E E)
          (Project-Coercion-Huh E)
          (Project-Coercion-Type E)
          (Project-Coercion-Label E)
          (Inject-Coercion E)
          (Inject-Coercion-Type E)
          (Inject-Coercion-Huh E)
          (Failed-Coercion E)
          (Failed-Coercion-Huh E)
          (Failed-Coercion-Label E)
          ;;Type operations
          (Type Immediate-Type)
          (Type-Dyn-Huh E)
          (Type-Fn-Huh E)
          (Type-Fn-arity E)
          (Type-Fn-arg E E)
          (Type-Fn-return E)
          (Type-GRef-Huh E)
          (Type-GRef-Of  E)
          (Type-GVect-Huh E)
          (Type-GVect-Of E)
          ;; Tags are exposed before specify This is bad
          ;; TODO fix this after the deadline
          (Type-Tag E)
          (Tag Tag-Symbol)
          ;;(Type-Ctr-Case E Type-Ctr-Case-Clause* E)
          ;; Binding Forms - Lambda
	  (Letrec L1-Bnd-Lambda* E)
	  (Let L1-Bnd* E)
          (Var Uid)
          (Global String)
          (Assign Id E)
          ;; Controll Flow
          (If E E E)
          (Switch E (Switch-Case* E) E)
          (Begin L1-Expr* E)
          (Repeat Uid E E Uid E E)
          Break-Repeat
          ;;Primitives
          (Op Grift-Primitive (Listof E))
          (Quote Cast-Literal)
          ;; Observations
          (Blame E)
          (Observe E Grift-Type)
          ;; Unguarded-Representation
          (Unguarded-Box E)
          (Unguarded-Box-Ref E)
          (Unguarded-Box-Set! E E)
          (Unguarded-Vect E E)
          (Unguarded-Vect-Ref E E)
          (Unguarded-Vect-Set! E E E)
          (Guarded-Proxy-Huh E)
          (Guarded-Proxy E (Twosome E E E))
          (Guarded-Proxy E (Coercion E))
          (Guarded-Proxy-Ref E)
          (Guarded-Proxy-Source E)
          (Guarded-Proxy-Target E)
          (Guarded-Proxy-Blames E)
          (Guarded-Proxy-Coercion E)
          (Unguarded-Vect-length E)
          ;; Monotonic references
          (Mbox E Immediate-Type)
          (Mbox-val-set! E E)
          (Mbox-val-ref E)
          (Mbox-rtti-set! E E)
          (Mbox-rtti-ref E)
          (Make-GLB-Two-Fn-Types Uid E E)
          (Make-GLB-Two-Tuple-Types Uid E E)
          (MRef-Coercion-Huh E)
          (MRef-Coercion-Type E)
          (MRef-Coercion E)
          (Type-GRef E) ;; glb need to create new types in runtime
          (Type-GVect E)
          (Type-MRef E)
          (Type-MRef-Huh E)
          (Type-MRef-Of E)
          (Error E)
          (Mvector E E Immediate-Type)
          (Mvector-length E)
          (Mvector-val-ref E E VectorAccessMode)
          (Mvector-val-set! E E E VectorAccessMode)
          (Mvector-rtti-ref E)
          (Mvector-rtti-set! E E)
          (Type-MVect E)
          (Type-MVect-Huh E)
          (Type-MVect-Of E)
          (MVect-Coercion-Huh E)
          (MVect-Coercion-Type E)
          (MVect-Coercion E)
          ;;
          (Create-tuple (Listof E))
          (Tuple-proj E E)
          (Tuple-Coercion-Huh E)
          (Tuple-Coercion-Num E)
          (Tuple-Coercion-Item E E)
          (Tuple-Coercion-Item-Set! E E E)
          (Id-Tuple-Coercion E)
          (Coerce-Tuple Uid E E)
          (Coerce-Tuple-In-Place Uid E E E E E)
          (Cast-Tuple Uid E E E E)
          (Cast-Tuple-In-Place Uid E E E E E E E)
          (Type-Tuple-Huh E)
          (Type-Tuple-num E)
          (Type-Tuple-item E E)
          (Make-Tuple-Coercion Uid E E E)
          (Mediating-Coercion-Huh E)
          No-Op)))

(define-type L1-Code (Code Uid* L1-Expr))
(define-type L1-Expr* (Listof L1-Expr))
(define-type L1-Bnd (Pairof Uid L1-Expr))
(define-type L1-Bnd* (Listof L1-Bnd))
(define-type L1-Bnd-Code (Pairof Uid L1-Code))
(define-type L1-Bnd-Code* (Listof L1-Bnd-Code))
(define-type L1-Bnd-Lambda (Pairof Uid L1-Lambda))
(define-type L1-Bnd-Lambda* (Listof L1-Bnd-Lambda))

(define-type Syntax-Lang (Prog String (Listof Any)))



#|-----------------------------------------------------------------------------+
| Language/Grift0 this is the language returned by grift/syntax->grift0
+-----------------------------------------------------------------------------|#
(define-type Grift0-Lang
  (Prog (List String Natural) (Listof G0-Top)))

(define-type G0-Top
  ;; Using Ann2 here instead of Ann keeps a bug in typed racket
  ;; from getting Ann at different places in the type signature
  ;; confused.
  (Ann2 (U (Observe G0-Ann-Expr (Option Grift-Type))
           (Define Boolean Uid (Option Grift-Type) G0-Ann-Expr))
        srcloc))
(define-type G0-Top* (Listof G0-Top))

(define-type G0-Ann-Expr (Ann G0-Expr Src))
(define-type G0-Ann-Expr* (Listof G0-Ann-Expr))

(define-type G0-Expr
  (U (Lambda Grift-Fml* (List G0-Ann-Expr (Option Grift-Type)))
     (Letrec G0-Bnd* G0-Ann-Expr)
     (Let G0-Bnd* G0-Ann-Expr)
     (App G0-Ann-Expr G0-Ann-Expr*)
     (Op Grift-Primitive G0-Ann-Expr*)
     (If G0-Ann-Expr G0-Ann-Expr G0-Ann-Expr)
     (Switch G0-Ann-Expr (Switch-Case* G0-Ann-Expr) G0-Ann-Expr)
     (Ascribe G0-Ann-Expr Grift-Type (Option Blame-Label))
     (Var Uid)
     (Quote Grift-Literal)
     (Begin G0-Ann-Expr* G0-Ann-Expr)
     (Repeat Uid G0-Ann-Expr G0-Ann-Expr (List Uid (Option Grift-Type)) G0-Ann-Expr G0-Ann-Expr)
     ;; Monotonic effects
     (MboxS G0-Ann-Expr)
     (Munbox G0-Ann-Expr)
     (Mbox-set! G0-Ann-Expr G0-Ann-Expr)
     (MvectorS G0-Ann-Expr G0-Ann-Expr)
     (Mvector-set! G0-Ann-Expr G0-Ann-Expr G0-Ann-Expr)
     (Mvector-ref G0-Ann-Expr G0-Ann-Expr)
     (Mvector-length G0-Ann-Expr)
     ;; Guarded effects
     (Gbox G0-Ann-Expr)
     (Gunbox G0-Ann-Expr)
     (Gbox-set! G0-Ann-Expr G0-Ann-Expr)
     (Gvector G0-Ann-Expr G0-Ann-Expr)
     (Gvector-set! G0-Ann-Expr G0-Ann-Expr G0-Ann-Expr)
     (Gvector-ref G0-Ann-Expr G0-Ann-Expr)
     (Gvector-length G0-Ann-Expr)
     ;;
     (Create-tuple G0-Ann-Expr*)
     (Tuple-proj G0-Ann-Expr Index)))
(define-type G0-Expr* (Listof G0-Expr))

(define-type G0-Bnd (Bnd Uid Grift-Type? G0-Ann-Expr))
(define-type G0-Bnd* (Listof G0-Bnd))


(define-type Grift1-Lang
  (Prog (List String Natural Grift-Type) (Listof G1-Top)))

(define-type G1-Top
  (U (Define Boolean Uid Grift-Type G1-Ann-Expr)
     (Observe G1-Ann-Expr Grift-Type)))
(define-type G1-Top* (Listof G1-Top))

(define-type G1-Ann-Expr (Ann G1-Expr (Pair Src Grift-Type)))
(define-type G1-Ann-Expr* (Listof G1-Ann-Expr))

(define-type G1-Expr
  (U
   (Lambda Grift-Fml* G1-Ann-Expr)
   (Letrec G1-Bnd* G1-Ann-Expr)
   (Let G1-Bnd* G1-Ann-Expr)
   (App G1-Ann-Expr (Listof G1-Ann-Expr))
   (Op (List Grift-Primitive Grift-Type*) (Listof G1-Ann-Expr))
   (If G1-Ann-Expr G1-Ann-Expr G1-Ann-Expr)
   (Switch G1-Ann-Expr (Switch-Case* G1-Ann-Expr) G1-Ann-Expr)
   (Ascribe G1-Ann-Expr Grift-Type (Option Blame-Label))
   (Var Uid)
   (Quote Grift-Literal)
   (Begin (Listof G1-Ann-Expr) G1-Ann-Expr)
   (Repeat Uid G1-Ann-Expr G1-Ann-Expr Uid G1-Ann-Expr G1-Ann-Expr)
   ;; Monotonic effects
   (Mbox G1-Ann-Expr Grift-Type)
   (Munbox G1-Ann-Expr)
   (Mbox-set! G1-Ann-Expr G1-Ann-Expr)
   (Mvector G1-Ann-Expr G1-Ann-Expr Grift-Type)
   (Mvector-ref G1-Ann-Expr G1-Ann-Expr)
   (Mvector-set! G1-Ann-Expr G1-Ann-Expr G1-Ann-Expr)
   (Mvector-length G1-Ann-Expr)
   ;; Guarded effects
   (Gbox G1-Ann-Expr)
   (Gunbox G1-Ann-Expr)
   (Gbox-set! G1-Ann-Expr G1-Ann-Expr)
   (Gvector G1-Ann-Expr G1-Ann-Expr)
   (Gvector-set! G1-Ann-Expr G1-Ann-Expr G1-Ann-Expr)
   (Gvector-ref G1-Ann-Expr G1-Ann-Expr)
   (Gvector-length G1-Ann-Expr)
   ;;
   (Create-tuple (Listof G1-Ann-Expr))
   (Tuple-proj G1-Ann-Expr Index)))
(define-type G1-Expr* (Listof G1-Expr))

(define-type G1-Bnd (Bnd Uid Grift-Type G1-Ann-Expr))
(define-type G1-Bnd* (Listof G1-Bnd))

Type-based-casts and coercions are not equivalent

The blame labels are different.

$ grift --type-based-casts p1.grift 
$ ./a.out 
Implicit cast in ascription on expression at p1.grift:2:2
$ grift --coercions p1.grift 
$ ./a.out 
Implicit cast in ascription on expression at p1.grift:1:1

Here is the content of p1.grift

((ann
  (ann
   (ann
    (lambda ([x : (Tuple Int Int)]) x)
    ((Tuple Int Int) -> (Tuple Dyn Dyn)))
   ((Tuple Int Int) -> (Tuple Dyn Bool)))
  ((Tuple Int Int) -> (Tuple Bool Bool)))
 (tuple 1 2))

Inconsistent `gvector-set!` Behavior under Type-based-casts vs. Coercions

I was trying to come up with an example where erasing casts could lead to value representation issues, and accidentally found what seems to be a bug:

(let ([vec : (GVect Dyn) (gvector 1 #f)])
  (begin (print-int 7)
         (gvector-set! vec 0 42)
         (print-int 9)))

When compiling with --type-based-casts, this code compiles successfully, and prints 7, but never prints 9, and doesn't print any errors. On the other hand, when compiling with --coercions, this prints "7Implicit cast in binding on expression at example.grift:1:25" (which is the cast from (GVect Bool) to (GVect Dyn)).
First, this is clearly inconsistent behavior. Second, I am not sure why when using the coercion representation of casts, this even gives a cast error. Since the vector is parameterized by Dyn, shouldn't we be able to assign anything to it?
I saw other issues where type-based casts exhibit inconsistent behavior. I would be interested in fixing these inconsistencies, although I would like some guidance on what parts of code I should look at. This clearly happens after reduce-to-cast-calculus step, but I'm unsure where to look next.

Move Away from Typed Racket

We tried using typed-racket, but the cost of ~1hr type-check times and the lack of full featured racket outweighs the benefit of types.

Here is a plan for moving away from typed-racket:

  • stop using type checking:
    • remove uses of define-predicate
    • rewrite all uses of #lang typed/racket -> #lang typed/racket/no-check
    • debug this until it works again
    • remove all uses of Typed Racket's cast function.
  • rewrite all language grammars as contracts
  • change all passes to check these contracts
  • find way to toggle contract checking for debug/production
  • add facilities to improve writing of unit tests, such as those found in convert-closures.rkt
  • lazily write unit tests for each pass as we edit them / discover bugs in the future
    • add to coding style
    • add to pull request check list
    • start using coverage checker

Revisiting our processes

In an untyped world where bugs are looming over, we better revisit our engineering processes. My thoughts are to enforce successful completion of our test suite as a requirement before merging, perhaps throw in our benchmarks too? looking for performance improvements/bugs, and perhaps add code coverage checker. I also think we should protect master, we can discuss if this is also required for admins. The end goal of this issue is to come up with new checklist of requirements on PRs.

Travis to test grift without installing it as a package

Currently, travis installs grift as a package and then run the test suite. This assumption is not true when a grift developer is working on grift without installing it. Make travis test grift without installing it first as well as after installing it.

Adding configuration files

Since Grift supports so many configuration flags, the user might want to specify all configurations in a configuration file and pass it to the compiler. It could be a good idea to make the configuration file exhaustive so that we do not rely on remembering defaults.

Add Style Guide

We should have a style guide that extends the racket style guide. This could lead to higher coding quality.

The srcloc in grift0 is shifted for bingind structures with only one sub-expression in body.

The bug is caused by the parsing algorithm in src/grift/syntax->grift0.rkt.

For example, consider the following Grift program

(let ([a 1])
  (+ a 2))

The syntax->grift0 will give the following AST:

(Prog
 '("bad-let-2.grift" 1)
 (list
  (Ann2
   (Observe
    (Ann
     (Let
      (list
       (Bnd
        (Uid "a" 0)
        #f
        (Ann (Quote 1) (srcloc "bad-let-2.grift" 1 9 10 1))))
      (Ann
       (Op
        '+
        (list
         (Ann (Var (Uid "a" 0)) (srcloc "bad-let-2.grift" 2 5 19 1))
         (Ann (Quote 2) (srcloc "bad-let-2.grift" 2 7 21 1))))
       (srcloc "bad-let-2.grift" 1 0 1 23)))
     (srcloc "bad-let-2.grift" 1 0 1 23))
    #f)
   (srcloc "bad-let-2.grift" 1 0 1 23))))

The problem is that, the srcloc for (let ([a 1]) (+ a 2)) is exactly the srcloc for (+ a 2). Both of them are (1 0 1 1 23).

In general, the description of this bug is: if let or let-rec only has one expression in its body, then the srcloc of this expression will be the same as the outer let or let-rec.
I believe that is because of the weird logic of parse-begin. It seems that when the body of (begin e) only has one expression, this parsing algorithm will omit the outer begin. And all let, let-rec, define transform their bodies into a begin.

Could you provide the documentation of GTLC+?

For example I don't know what's the meaning of box (- n 1) or repeat (j l h) in your paper. Could you provide some simple description or code example?

by the way I guess I found an typo on your paper:

I think the line [i: (Ref Int) (box (- h 1))] would be ... box(- l 1))], or i > h will happen.

image

Remove the observation form

The observation form was originally added because there wasn't any way of printing values. Now that we have basic printing we should consider removing the observation form which really doesn't make sense. Doing so will require rewriting a bunch of tests.

Bug while compiling with --no-dyn-operations

When trying to do grift --no-dyn-operations --type-based-casts tests/suite/tuples/tuple4.grift, I'm getting an error on this line in src/grift/insert-casts.rkt. Here's the error:

n: undefined;
 cannot use before initialization

n in this code seems to be the size of the tuple, although I'm not sure.

Language AST should only be parameterized by the parts that change.

For instance

(struct (Arity Args Ret) Fn ([arity : Arity][args : Args][ret : Ret]))

Should be instantiated up to the expression parameterization, and should have unneeded fields removed extra fields can be added for some passes by sub typing on structs. This will likely lead
to longer form definitions at the cost of less verbose types and code elsewhere.

(struct (Expr) Fn ([args : (Listof Expr)][ret : Expr])

Here we make the args list always be an args list, make the return type always match the parameter type, and remove the arity since it can be derived by taking the length of the argument list.

Another case where type-based-casts and coercions are not equivalent

$ grift --type-based-casts p2.grift
$ ./a.out 
Implicit cast in ascription on expression at p2.grift:3:3
$ grift --coercions p2.grift
$ ./a.out 
Implicit cast in ascription on expression at p2.grift:1:1

The content of p2.grift

((ann
  (ann
   (ann
    (ann
     (ann
      (lambda ([x : (Tuple Int Int)]) x)
      ((Tuple Int Int) -> (Tuple Int Int)))
     ((Tuple Int Int) -> (Tuple Dyn Int)))
    ((Tuple Int Int) -> (Tuple Bool Int)))
   ((Tuple Int Int) -> Dyn))
  ((Tuple Int Int) -> Bool))
 (tuple 1 2))

Need developmental documentation

We need to write documentation for developers to understand what is going on in the code. I think this should be at two levels. There should be high level documentation to understand how the compiler as a whole is structured, and there should be low level documentation that allows us to easily recover the specification of each function.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.