Index: benchmark/Makefile.am
===================================================================
--- benchmark/Makefile.am	(revision 1f690b3ef513f4620e8adff0756c4e5f3c028c4f)
+++ benchmark/Makefile.am	(revision 9507ce3d1285428daa78aa9b56355c2e4b77f870)
@@ -20,5 +20,5 @@
 include $(top_srcdir)/src/cfa.make
 
-UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
+UPPCC = u++
 
 AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread
@@ -34,8 +34,12 @@
 PRINT_FORMAT = %20s: #Comments needed for spacing
 
+#prevent any tests in parallel
 .NOTPARALLEL:
 
-noinst_PROGRAMS =
-
+#make sure automake includes the compile rules for C and C++
+EXTRA_PROGRAMS = dummy
+dummy_SOURCES = c.c cxx.cpp
+
+## =========================================================================================================
 all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT)
 
@@ -47,5 +51,5 @@
 	@${STATS} .result.log
 	@echo "------------------------------------------------------"
-	@rm -f a.out .result.log
+	@rm -f a.out .result.log *.class
 
 %.runquiet :
@@ -100,11 +104,11 @@
 ## =========================================================================================================
 loop$(EXEEXT):
-	$(COMPILE) -DBENCH_N=5000000000 loop.c
+	$(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c
 
 function$(EXEEXT):
-	$(COMPILE) -DBENCH_N=5000000000 function.c
+	$(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c
 
 fetch_add$(EXEEXT):
-	$(COMPILE) -DBENCH_N=500000000  fetch_add.c
+	$(AM_V_CC)$(COMPILE) -DBENCH_N=500000000  $(srcdir)/fetch_add.c
 
 ## =========================================================================================================
@@ -129,8 +133,8 @@
 
 ctxswitch-kos_fibre$(EXEEXT):
-	@$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp  -I$(LIBFIBRE_DIR) -lfibre
+	$(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp  -I$(LIBFIBRE_DIR) -lfibre
 
 ctxswitch-kos_fibre2$(EXEEXT):
-	@$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
+	$(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
 endif
 
@@ -138,28 +142,28 @@
 
 ctxswitch-pthread$(EXEEXT):
-	@$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c
+	$(AM_V_CC)$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c
 
 ctxswitch-cfa_coroutine$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c
 
 ctxswitch-cfa_thread$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c
 
 ctxswitch-cfa_thread2$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c
 
 ctxswitch-upp_coroutine$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc
 
 ctxswitch-upp_thread$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc
 
 ctxswitch-goroutine$(EXEEXT):
-	@go build -o a.out $(srcdir)/ctxswitch/goroutine.go
+	$(AM_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
 
 ctxswitch-java_thread$(EXEEXT):
-	@javac $(srcdir)/ctxswitch/JavaThread.java
+	$(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java
 	@echo "#!/bin/sh" > a.out
-	@echo "cd ctxswitch && java JavaThread" >> a.out
+	@echo "java JavaThread" >> a.out
 	@chmod a+x a.out
 
@@ -177,22 +181,22 @@
 
 mutex-pthread_lock$(EXEEXT):
-	@$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c
+	$(AM_V_CC)$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c
 
 mutex-upp$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc
 
 mutex-cfa1$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa1.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa1.c
 
 mutex-cfa2$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa2.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa2.c
 
 mutex-cfa4$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa4.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa4.c
 
 mutex-java_thread$(EXEEXT):
-	@javac $(srcdir)/mutex/JavaThread.java
+	$(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java
 	@echo "#!/bin/sh" > a.out
-	@echo "cd mutex && java JavaThread" >> a.out
+	@echo "java JavaThread" >> a.out
 	@chmod a+x a.out
 
@@ -207,22 +211,22 @@
 
 signal-pthread_cond$(EXEEXT):
-	@$(COMPILE)    -DBENCH_N=500000  $(srcdir)/schedint/pthreads.c
+	$(AM_V_CC)$(COMPILE)    -DBENCH_N=500000  $(srcdir)/schedint/pthreads.c
 
 signal-upp$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc
 
 signal-cfa1$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa1.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa1.c
 
 signal-cfa2$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa2.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa2.c
 
 signal-cfa4$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa4.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa4.c
 
 signal-java_thread$(EXEEXT):
-	@javac $(srcdir)/schedint/JavaThread.java
+	$(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java
 	@echo "#!/bin/sh" > a.out
-	@echo "cd schedint && java JavaThread" >> a.out
+	@echo "java JavaThread" >> a.out
 	@chmod a+x a.out
 
@@ -236,14 +240,14 @@
 
 waitfor-upp$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc
 
 waitfor-cfa1$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa1.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa1.c
 
 waitfor-cfa2$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa2.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa2.c
 
 waitfor-cfa4$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa4.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa4.c
 
 ## =========================================================================================================
@@ -259,28 +263,28 @@
 
 creation-cfa_coroutine$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
 
 creation-cfa_coroutine_eager$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
 
 creation-cfa_thread$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c
 
 creation-upp_coroutine$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc
 
 creation-upp_thread$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc
 
 creation-pthread$(EXEEXT):
-	@$(COMPILE)    -DBENCH_N=250000   $(srcdir)/creation/pthreads.c
+	$(AM_V_CC)$(COMPILE)    -DBENCH_N=250000   $(srcdir)/creation/pthreads.c
 
 creation-goroutine$(EXEEXT):
-	@go build -o a.out $(srcdir)/creation/goroutine.go
+	$(AM_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
 
 creation-java_thread$(EXEEXT):
-	@javac $(srcdir)/creation/JavaThread.java
+	$(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java
 	@echo "#!/bin/sh" > a.out
-	@echo "cd creation && java JavaThread" >> a.out
+	@echo "java JavaThread" >> a.out
 	@chmod a+x a.out
 
@@ -301,28 +305,28 @@
 
 compile-array$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c
 
 compile-attributes$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c
 
 compile-empty$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c
 
 compile-expression$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c
 
 compile-io$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c
 
 compile-monitor$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c
 
 compile-operators$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c
 
 compile-thread$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c
 
 compile-typeof$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c
-
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c
+
Index: benchmark/Makefile.in
===================================================================
--- benchmark/Makefile.in	(revision 1f690b3ef513f4620e8adff0756c4e5f3c028c4f)
+++ benchmark/Makefile.in	(revision 9507ce3d1285428daa78aa9b56355c2e4b77f870)
@@ -17,5 +17,4 @@
 ######################## -*- Mode: Makefile-Automake -*- ######################
 ###############################################################################
-
 VPATH = @srcdir@
 am__is_gnu_make = { \
@@ -92,5 +91,5 @@
 build_triplet = @build@
 host_triplet = @host@
-noinst_PROGRAMS =
+EXTRA_PROGRAMS = dummy$(EXEEXT)
 @WITH_LIBFIBRE_TRUE@am__append_1 = \
 @WITH_LIBFIBRE_TRUE@	ctxswitch-kos_fibre.run	 \
@@ -108,5 +107,7 @@
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
+am_dummy_OBJECTS = c.$(OBJEXT) cxx.$(OBJEXT)
+dummy_OBJECTS = $(am_dummy_OBJECTS)
+dummy_LDADD = $(LDADD)
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -121,6 +122,35 @@
 am__v_at_0 = @
 am__v_at_1 = 
-SOURCES =
-DIST_SOURCES =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/automake/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo "  CXX     " $@;
+am__v_CXX_1 = 
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo "  CXXLD   " $@;
+am__v_CXXLD_1 = 
+SOURCES = $(dummy_SOURCES)
+DIST_SOURCES = $(dummy_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
@@ -129,6 +159,24 @@
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/src/cfa.make \
-	compile
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/automake/depcomp \
+	$(top_srcdir)/src/cfa.make compile
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
@@ -269,7 +317,20 @@
 am__v_CFA_0 = @echo "  CFA     " $@;
 am__v_CFA_1 = 
+AM_V_JAVAC = $(am__v_JAVAC_@AM_V@)
+am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@)
+am__v_JAVAC_0 = @echo "  JAVAC   " $@;
+am__v_JAVAC_1 = 
+AM_V_GOC = $(am__v_GOC_@AM_V@)
+am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@)
+am__v_GOC_0 = @echo "  GOC     " $@;
+am__v_GOC_1 = 
+UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_UPP = $(am__v_UPP_@AM_V@)
+am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@)
+am__v_UPP_0 = @echo "  UPP     " $@;
+am__v_UPP_1 = 
 
 # applies to both programs
-UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
+UPPCC = u++
 AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread
 AM_CFAFLAGS = -quiet -in-tree -nodebug
@@ -282,4 +343,5 @@
 TIME_FORMAT = "%E"
 PRINT_FORMAT = %20s: #Comments needed for spacing
+dummy_SOURCES = c.c cxx.cpp
 CTXSWITCH_DEPEND = loop.run function.run fetch_add.run \
 	ctxswitch-pthread.run ctxswitch-cfa_coroutine.run \
@@ -292,5 +354,5 @@
 
 .SUFFIXES:
-.SUFFIXES: .cfa .lo .o
+.SUFFIXES: .c .cfa .cpp .lo .o .obj
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/src/cfa.make $(am__configure_deps)
 	@for dep in $?; do \
@@ -324,12 +386,100 @@
 $(am__aclocal_m4_deps):
 
-clean-noinstPROGRAMS:
-	-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
+dummy$(EXEEXT): $(dummy_OBJECTS) $(dummy_DEPENDENCIES) $(EXTRA_dummy_DEPENDENCIES) 
+	@rm -f dummy$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(dummy_OBJECTS) $(dummy_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cxx.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.o:
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
@@ -365,5 +515,5 @@
 check-am: all-am
 check: check-am
-all-am: Makefile $(PROGRAMS)
+all-am: Makefile
 installdirs:
 install: install-am
@@ -399,9 +549,11 @@
 clean: clean-am
 
-clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
+clean-am: clean-generic mostlyclean-am
 
 distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
-distclean-am: clean-am distclean-generic
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
 
 dvi: dvi-am
@@ -446,4 +598,5 @@
 
 maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -451,5 +604,5 @@
 mostlyclean: mostlyclean-am
 
-mostlyclean-am: mostlyclean-generic
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
 
 pdf: pdf-am
@@ -465,14 +618,15 @@
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic \
-	clean-noinstPROGRAMS cscopelist-am ctags-am distclean \
-	distclean-generic distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+	cscopelist-am ctags ctags-am distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am
 
@@ -490,4 +644,5 @@
 	$(am__mv) $$depbase.Tpo $$depbase.Plo
 
+#prevent any tests in parallel
 .NOTPARALLEL:
 
@@ -501,5 +656,5 @@
 	@${STATS} .result.log
 	@echo "------------------------------------------------------"
-	@rm -f a.out .result.log
+	@rm -f a.out .result.log *.class
 
 %.runquiet :
@@ -551,45 +706,45 @@
 
 loop$(EXEEXT):
-	$(COMPILE) -DBENCH_N=5000000000 loop.c
+	$(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c
 
 function$(EXEEXT):
-	$(COMPILE) -DBENCH_N=5000000000 function.c
+	$(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c
 
 fetch_add$(EXEEXT):
-	$(COMPILE) -DBENCH_N=500000000  fetch_add.c
+	$(AM_V_CC)$(COMPILE) -DBENCH_N=500000000  $(srcdir)/fetch_add.c
 
 @WITH_LIBFIBRE_TRUE@ctxswitch-kos_fibre$(EXEEXT):
-@WITH_LIBFIBRE_TRUE@	@$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp  -I$(LIBFIBRE_DIR) -lfibre
+@WITH_LIBFIBRE_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp  -I$(LIBFIBRE_DIR) -lfibre
 
 @WITH_LIBFIBRE_TRUE@ctxswitch-kos_fibre2$(EXEEXT):
-@WITH_LIBFIBRE_TRUE@	@$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
+@WITH_LIBFIBRE_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre
 
 ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND)
 
 ctxswitch-pthread$(EXEEXT):
-	@$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c
+	$(AM_V_CC)$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c
 
 ctxswitch-cfa_coroutine$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c
 
 ctxswitch-cfa_thread$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c
 
 ctxswitch-cfa_thread2$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c
 
 ctxswitch-upp_coroutine$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc
 
 ctxswitch-upp_thread$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc
 
 ctxswitch-goroutine$(EXEEXT):
-	@go build -o a.out $(srcdir)/ctxswitch/goroutine.go
+	$(AM_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go
 
 ctxswitch-java_thread$(EXEEXT):
-	@javac $(srcdir)/ctxswitch/JavaThread.java
+	$(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java
 	@echo "#!/bin/sh" > a.out
-	@echo "cd ctxswitch && java JavaThread" >> a.out
+	@echo "java JavaThread" >> a.out
 	@chmod a+x a.out
 
@@ -606,22 +761,22 @@
 
 mutex-pthread_lock$(EXEEXT):
-	@$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c
+	$(AM_V_CC)$(COMPILE)    -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c
 
 mutex-upp$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc
 
 mutex-cfa1$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa1.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa1.c
 
 mutex-cfa2$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa2.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa2.c
 
 mutex-cfa4$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa4.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000  $(srcdir)/mutex/cfa4.c
 
 mutex-java_thread$(EXEEXT):
-	@javac $(srcdir)/mutex/JavaThread.java
+	$(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java
 	@echo "#!/bin/sh" > a.out
-	@echo "cd mutex && java JavaThread" >> a.out
+	@echo "java JavaThread" >> a.out
 	@chmod a+x a.out
 
@@ -635,22 +790,22 @@
 
 signal-pthread_cond$(EXEEXT):
-	@$(COMPILE)    -DBENCH_N=500000  $(srcdir)/schedint/pthreads.c
+	$(AM_V_CC)$(COMPILE)    -DBENCH_N=500000  $(srcdir)/schedint/pthreads.c
 
 signal-upp$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc
 
 signal-cfa1$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa1.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa1.c
 
 signal-cfa2$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa2.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa2.c
 
 signal-cfa4$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa4.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedint/cfa4.c
 
 signal-java_thread$(EXEEXT):
-	@javac $(srcdir)/schedint/JavaThread.java
+	$(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java
 	@echo "#!/bin/sh" > a.out
-	@echo "cd schedint && java JavaThread" >> a.out
+	@echo "java JavaThread" >> a.out
 	@chmod a+x a.out
 
@@ -662,14 +817,14 @@
 
 waitfor-upp$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc
 
 waitfor-cfa1$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa1.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa1.c
 
 waitfor-cfa2$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa2.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa2.c
 
 waitfor-cfa4$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa4.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000  $(srcdir)/schedext/cfa4.c
 
 creation$(EXEEXT) :\
@@ -684,28 +839,28 @@
 
 creation-cfa_coroutine$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
 
 creation-cfa_coroutine_eager$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c
 
 creation-cfa_thread$(EXEEXT):
-	@$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c
+	$(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c
 
 creation-upp_coroutine$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc
 
 creation-upp_thread$(EXEEXT):
-	@$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc
+	$(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc
 
 creation-pthread$(EXEEXT):
-	@$(COMPILE)    -DBENCH_N=250000   $(srcdir)/creation/pthreads.c
+	$(AM_V_CC)$(COMPILE)    -DBENCH_N=250000   $(srcdir)/creation/pthreads.c
 
 creation-goroutine$(EXEEXT):
-	@go build -o a.out $(srcdir)/creation/goroutine.go
+	$(AM_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go
 
 creation-java_thread$(EXEEXT):
-	@javac $(srcdir)/creation/JavaThread.java
+	$(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java
 	@echo "#!/bin/sh" > a.out
-	@echo "cd creation && java JavaThread" >> a.out
+	@echo "java JavaThread" >> a.out
 	@chmod a+x a.out
 
@@ -721,29 +876,29 @@
 
 compile-array$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c
 
 compile-attributes$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c
 
 compile-empty$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c
 
 compile-expression$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c
 
 compile-io$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c
 
 compile-monitor$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c
 
 compile-operators$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c
 
 compile-thread$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c
 
 compile-typeof$(EXEEXT):
-	@$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c
+	$(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: benchmark/c.c
===================================================================
--- benchmark/c.c	(revision 9507ce3d1285428daa78aa9b56355c2e4b77f870)
+++ benchmark/c.c	(revision 9507ce3d1285428daa78aa9b56355c2e4b77f870)
@@ -0,0 +1,1 @@
+int main() { return 0; }
Index: benchmark/cxx.cpp
===================================================================
--- benchmark/cxx.cpp	(revision 9507ce3d1285428daa78aa9b56355c2e4b77f870)
+++ benchmark/cxx.cpp	(revision 9507ce3d1285428daa78aa9b56355c2e4b77f870)
@@ -0,0 +1,1 @@
+void dummy() {}
Index: driver/as.cc
===================================================================
--- driver/as.cc	(revision 1f690b3ef513f4620e8adff0756c4e5f3c028c4f)
+++ driver/as.cc	(revision 9507ce3d1285428daa78aa9b56355c2e4b77f870)
@@ -1,11 +1,11 @@
-// 
+//
 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
 //
 // The contents of this file are covered under the licence agreement in the
 // file "LICENCE" distributed with Cforall.
-// 
+//
 // as.c -- map assembler file, scan for debug information. If found, expand file by one character and insert Cforall
 //         language code on the N line from the start of the debug information.
-// 
+//
 // Author           : Peter A. Buhr
 // Created On       : Wed Aug  1 10:49:42 2018
@@ -13,5 +13,5 @@
 // Last Modified On : Sat Sep  8 08:40:16 2018
 // Update Count     : 97
-// 
+//
 
 #include <cstdio>										// perror
@@ -45,5 +45,5 @@
 
 	if ( size ) {										// cannot map 0 sized file
-		char * start = (char *)mmap( NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 );
+		char * start = (char *)mmap( NULL, size + 2, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 );
 		if ( start == (void *)-1 ) { perror( "mmap" ); exit( EXIT_FAILURE ); };
 
@@ -65,5 +65,5 @@
 		} // if
 
-		if ( munmap( start, size ) ) { perror( "munmap" ); exit( EXIT_FAILURE ); }; // update on disk
+		if ( munmap( start, size + 2 ) ) { perror( "munmap" ); exit( EXIT_FAILURE ); }; // update on disk
 	} // if
 
Index: libcfa/src/Makefile.am
===================================================================
--- libcfa/src/Makefile.am	(revision 1f690b3ef513f4620e8adff0756c4e5f3c028c4f)
+++ libcfa/src/Makefile.am	(revision 9507ce3d1285428daa78aa9b56355c2e4b77f870)
@@ -68,15 +68,19 @@
 libdeps = $(join \
 	$(addsuffix $(DEPDIR)/ , $(dir $(libobjs) ) ), \
-	$(notdir ${libobjs:.lo=.Po}) \
+	$(notdir ${libobjs:.lo=.Plo}) \
 )
 
--include $(libdeps)
+include $(libdeps)
+
+$(libdeps):
+	@mkdir -p $(dir $@)
+	@echo '#dummy' > $@
 
 prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
-	${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree -XCFA -l ${<} -c -o ${@}
+	${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@}
 
 prelude.lo: prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
 	${AM_V_GEN}$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile \
-	@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree -XCFA -l ${<} -c -o ${@}
+	@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@}
 
 
Index: libcfa/src/Makefile.in
===================================================================
--- libcfa/src/Makefile.in	(revision 1f690b3ef513f4620e8adff0756c4e5f3c028c4f)
+++ libcfa/src/Makefile.in	(revision 9507ce3d1285428daa78aa9b56355c2e4b77f870)
@@ -407,4 +407,17 @@
 am__v_CFA_0 = @echo "  CFA     " $@;
 am__v_CFA_1 = 
+AM_V_JAVAC = $(am__v_JAVAC_@AM_V@)
+am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@)
+am__v_JAVAC_0 = @echo "  JAVAC   " $@;
+am__v_JAVAC_1 = 
+AM_V_GOC = $(am__v_GOC_@AM_V@)
+am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@)
+am__v_GOC_0 = @echo "  GOC     " $@;
+am__v_GOC_1 = 
+UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_UPP = $(am__v_UPP_@AM_V@)
+am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@)
+am__v_UPP_0 = @echo "  UPP     " $@;
+am__v_UPP_1 = 
 lib_LTLIBRARIES = libcfa.la
 
@@ -453,5 +466,5 @@
 libdeps = $(join \
 	$(addsuffix $(DEPDIR)/ , $(dir $(libobjs) ) ), \
-	$(notdir ${libobjs:.lo=.Po}) \
+	$(notdir ${libobjs:.lo=.Plo}) \
 )
 
@@ -909,12 +922,16 @@
 $(libobjs) : @CFACC@ @CFACPP@ prelude.cfa
 
--include $(libdeps)
+include $(libdeps)
+
+$(libdeps):
+	@mkdir -p $(dir $@)
+	@echo '#dummy' > $@
 
 prelude.o : prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
-	${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree -XCFA -l ${<} -c -o ${@}
+	${AM_V_GEN}@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@}
 
 prelude.lo: prelude.cfa extras.cf gcc-builtins.cf builtins.cf @CFACC@ @CFACPP@
 	${AM_V_GEN}$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile \
-	@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree -XCFA -l ${<} -c -o ${@}
+	@CFACC@ ${AM_CFLAGS} ${CFLAGS} -quiet -in-tree @CONFIG_CFAFLAGS@ -XCFA -l ${<} -c -o ${@}
 
 #----------------------------------------------------------------------------------------------------------------
Index: libcfa/src/bits/locks.hfa
===================================================================
--- libcfa/src/bits/locks.hfa	(revision 1f690b3ef513f4620e8adff0756c4e5f3c028c4f)
+++ libcfa/src/bits/locks.hfa	(revision 9507ce3d1285428daa78aa9b56355c2e4b77f870)
@@ -37,19 +37,7 @@
 #endif
 
-#if defined( __i386 ) || defined( __x86_64 ) || defined( __ARM_ARCH )
-	// Intel recommendation
-	#define __ALIGN__ __attribute__(( aligned (128) ))
-#elif defined( __sparc )
-	#define __ALIGN__ CALIGN
-#else
-	#error unsupported architecture
-#endif
-
 struct __spinlock_t {
 	// Wrap in struct to prevent false sharing with debug info
-	struct {
-		// Align lock on 128-bit boundary
-		__ALIGN__ volatile bool lock;
-	};
+	volatile bool lock;
 	#ifdef __CFA_DEBUG__
 		// previous function to acquire the lock
@@ -58,5 +46,5 @@
 		void* prev_thrd;
 	#endif
-} __ALIGN__;
+};
 
 #ifdef __cforall
Index: src/cfa.make
===================================================================
--- src/cfa.make	(revision 1f690b3ef513f4620e8adff0756c4e5f3c028c4f)
+++ src/cfa.make	(revision 9507ce3d1285428daa78aa9b56355c2e4b77f870)
@@ -21,2 +21,20 @@
 	$(LTCFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
 	$(am__mv) $$depbase.Tpo $$depbase.Plo
+
+AM_V_JAVAC = $(am__v_JAVAC_@AM_V@)
+am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@)
+am__v_JAVAC_0 = @echo "  JAVAC   " $@;
+am__v_JAVAC_1 =
+
+AM_V_GOC = $(am__v_GOC_@AM_V@)
+am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@)
+am__v_GOC_0 = @echo "  GOC     " $@;
+am__v_GOC_1 =
+
+
+UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)
+
+AM_V_UPP = $(am__v_UPP_@AM_V@)
+am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@)
+am__v_UPP_0 = @echo "  UPP     " $@;
+am__v_UPP_1 =
