Index: src/libcfa/Makefile.am
===================================================================
--- src/libcfa/Makefile.am	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/Makefile.am	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -11,6 +11,6 @@
 ## Created On       : Sun May 31 08:54:01 2015
 ## Last Modified By : Andrew Beach
-## Last Modified On : Wed Jun 28 15:36:00 2017
-## Update Count     : 215
+## Last Modified On : Wed Jul 26 14:15:00 2017
+## Update Count     : 221
 ###############################################################################
 
@@ -39,8 +39,12 @@
 
 AM_CCASFLAGS = @CFA_FLAGS@
-CFLAGS = -quiet -no-include-stdhdr -XCFA -t -B${abs_top_srcdir}/src/driver ${EXTRA_FLAGS}
+
+#CFLAGS for most libcfa src
+#use -no-include-stdhdr to prevent rebuild cycles
+#The built sources must not depend on the installed headers
+CFLAGS = -quiet -no-include-stdhdr -I${abs_top_srcdir}/src/libcfa/stdhdr -XCFA -t -B${abs_top_srcdir}/src/driver ${EXTRA_FLAGS}
 CC = ${abs_top_srcdir}/src/driver/cfa
 
-headers = assert fstream iostream iterator limits math rational stdlib \
+headers = fstream iostream iterator limits rational stdlib \
 	  containers/maybe containers/pair containers/result containers/vector
 
@@ -51,5 +55,6 @@
 
 libobjs = ${headers:=.o}
-libsrc = libcfa-prelude.c interpose.c libhdr/libdebug.c ${headers:=.c} exception.c
+libsrc = libcfa-prelude.c interpose.c libhdr/libdebug.c ${headers:=.c} \
+	 assert.c exception.c virtual.c
 
 # not all platforms support concurrency, add option do disable it
@@ -68,8 +73,14 @@
 	${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -O2 ${EXTRA_FLAGS} -c -o $@ $<
 
+libcfa_a-virtual.o : virtual.c
+	${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -O2 ${EXTRA_FLAGS} -c -o $@ $<
+
 concurrency/libcfa_d_a-invoke.o : concurrency/invoke.c
 	${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -D__CFA_DEBUG__ -O0 ${EXTRA_FLAGS} -c -o $@ $<
 
 libcfa_d_a-exception.o : exception.c
+	${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -D__CFA_DEBUG__ -O0 ${EXTRA_FLAGS} -c -o $@ $<
+
+libcfa_d_a-virtual.o : virtual.c
 	${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -D__CFA_DEBUG__ -O0 ${EXTRA_FLAGS} -c -o $@ $<
 
@@ -84,5 +95,5 @@
 
 cfa_includedir = $(CFA_INCDIR)
-nobase_cfa_include_HEADERS = ${headers} ${stdhdr} gmp concurrency/invoke.h
+nobase_cfa_include_HEADERS = ${headers} ${stdhdr} math gmp concurrency/invoke.h
 
 CLEANFILES = libcfa-prelude.c
Index: src/libcfa/Makefile.in
===================================================================
--- src/libcfa/Makefile.in	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/Makefile.in	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -149,11 +149,12 @@
 libcfa_d_a_LIBADD =
 am__libcfa_d_a_SOURCES_DIST = libcfa-prelude.c interpose.c \
-	libhdr/libdebug.c assert.c fstream.c iostream.c iterator.c \
-	limits.c math.c rational.c stdlib.c containers/maybe.c \
-	containers/pair.c containers/result.c containers/vector.c \
+	libhdr/libdebug.c fstream.c iostream.c iterator.c limits.c \
+	rational.c stdlib.c containers/maybe.c containers/pair.c \
+	containers/result.c containers/vector.c \
 	concurrency/coroutine.c concurrency/thread.c \
-	concurrency/kernel.c concurrency/monitor.c exception.c \
-	concurrency/CtxSwitch-@MACHINE_TYPE@.S concurrency/alarm.c \
-	concurrency/invoke.c concurrency/preemption.c
+	concurrency/kernel.c concurrency/monitor.c assert.c \
+	exception.c virtual.c concurrency/CtxSwitch-@MACHINE_TYPE@.S \
+	concurrency/alarm.c concurrency/invoke.c \
+	concurrency/preemption.c
 am__dirstamp = $(am__leading_dot)dirstamp
 @BUILD_CONCURRENCY_TRUE@am__objects_1 = concurrency/libcfa_d_a-coroutine.$(OBJEXT) \
@@ -161,8 +162,7 @@
 @BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_d_a-kernel.$(OBJEXT) \
 @BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_d_a-monitor.$(OBJEXT)
-am__objects_2 = libcfa_d_a-assert.$(OBJEXT) \
-	libcfa_d_a-fstream.$(OBJEXT) libcfa_d_a-iostream.$(OBJEXT) \
-	libcfa_d_a-iterator.$(OBJEXT) libcfa_d_a-limits.$(OBJEXT) \
-	libcfa_d_a-math.$(OBJEXT) libcfa_d_a-rational.$(OBJEXT) \
+am__objects_2 = libcfa_d_a-fstream.$(OBJEXT) \
+	libcfa_d_a-iostream.$(OBJEXT) libcfa_d_a-iterator.$(OBJEXT) \
+	libcfa_d_a-limits.$(OBJEXT) libcfa_d_a-rational.$(OBJEXT) \
 	libcfa_d_a-stdlib.$(OBJEXT) \
 	containers/libcfa_d_a-maybe.$(OBJEXT) \
@@ -177,5 +177,6 @@
 	libcfa_d_a-interpose.$(OBJEXT) \
 	libhdr/libcfa_d_a-libdebug.$(OBJEXT) $(am__objects_2) \
-	libcfa_d_a-exception.$(OBJEXT) $(am__objects_3)
+	libcfa_d_a-assert.$(OBJEXT) libcfa_d_a-exception.$(OBJEXT) \
+	libcfa_d_a-virtual.$(OBJEXT) $(am__objects_3)
 am_libcfa_d_a_OBJECTS = $(am__objects_4)
 libcfa_d_a_OBJECTS = $(am_libcfa_d_a_OBJECTS)
@@ -183,18 +184,18 @@
 libcfa_a_LIBADD =
 am__libcfa_a_SOURCES_DIST = libcfa-prelude.c interpose.c \
-	libhdr/libdebug.c assert.c fstream.c iostream.c iterator.c \
-	limits.c math.c rational.c stdlib.c containers/maybe.c \
-	containers/pair.c containers/result.c containers/vector.c \
+	libhdr/libdebug.c fstream.c iostream.c iterator.c limits.c \
+	rational.c stdlib.c containers/maybe.c containers/pair.c \
+	containers/result.c containers/vector.c \
 	concurrency/coroutine.c concurrency/thread.c \
-	concurrency/kernel.c concurrency/monitor.c exception.c \
-	concurrency/CtxSwitch-@MACHINE_TYPE@.S concurrency/alarm.c \
-	concurrency/invoke.c concurrency/preemption.c
+	concurrency/kernel.c concurrency/monitor.c assert.c \
+	exception.c virtual.c concurrency/CtxSwitch-@MACHINE_TYPE@.S \
+	concurrency/alarm.c concurrency/invoke.c \
+	concurrency/preemption.c
 @BUILD_CONCURRENCY_TRUE@am__objects_5 = concurrency/libcfa_a-coroutine.$(OBJEXT) \
 @BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_a-thread.$(OBJEXT) \
 @BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_a-kernel.$(OBJEXT) \
 @BUILD_CONCURRENCY_TRUE@	concurrency/libcfa_a-monitor.$(OBJEXT)
-am__objects_6 = libcfa_a-assert.$(OBJEXT) libcfa_a-fstream.$(OBJEXT) \
-	libcfa_a-iostream.$(OBJEXT) libcfa_a-iterator.$(OBJEXT) \
-	libcfa_a-limits.$(OBJEXT) libcfa_a-math.$(OBJEXT) \
+am__objects_6 = libcfa_a-fstream.$(OBJEXT) libcfa_a-iostream.$(OBJEXT) \
+	libcfa_a-iterator.$(OBJEXT) libcfa_a-limits.$(OBJEXT) \
 	libcfa_a-rational.$(OBJEXT) libcfa_a-stdlib.$(OBJEXT) \
 	containers/libcfa_a-maybe.$(OBJEXT) \
@@ -209,5 +210,6 @@
 	libcfa_a-interpose.$(OBJEXT) \
 	libhdr/libcfa_a-libdebug.$(OBJEXT) $(am__objects_6) \
-	libcfa_a-exception.$(OBJEXT) $(am__objects_7)
+	libcfa_a-assert.$(OBJEXT) libcfa_a-exception.$(OBJEXT) \
+	libcfa_a-virtual.$(OBJEXT) $(am__objects_7)
 am_libcfa_a_OBJECTS = $(am__objects_8)
 libcfa_a_OBJECTS = $(am_libcfa_a_OBJECTS)
@@ -258,9 +260,9 @@
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
-am__nobase_cfa_include_HEADERS_DIST = assert fstream iostream iterator \
-	limits math rational stdlib containers/maybe containers/pair \
+am__nobase_cfa_include_HEADERS_DIST = fstream iostream iterator limits \
+	rational stdlib containers/maybe containers/pair \
 	containers/result containers/vector concurrency/coroutine \
 	concurrency/thread concurrency/kernel concurrency/monitor \
-	${shell echo stdhdr/*} gmp concurrency/invoke.h
+	${shell echo stdhdr/*} math gmp concurrency/invoke.h
 HEADERS = $(nobase_cfa_include_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
@@ -306,5 +308,9 @@
 CFA_NAME = @CFA_NAME@
 CFA_PREFIX = @CFA_PREFIX@
-CFLAGS = -quiet -no-include-stdhdr -XCFA -t -B${abs_top_srcdir}/src/driver ${EXTRA_FLAGS}
+
+#CFLAGS for most libcfa src
+#use -no-include-stdhdr to prevent rebuild cycles
+#The built sources must not depend on the installed headers
+CFLAGS = -quiet -no-include-stdhdr -I${abs_top_srcdir}/src/libcfa/stdhdr -XCFA -t -B${abs_top_srcdir}/src/driver ${EXTRA_FLAGS}
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
@@ -412,10 +418,10 @@
 EXTRA_FLAGS = -g -Wall -Werror -Wno-unused-function -I${abs_top_srcdir}/src/libcfa/libhdr -imacros libcfa-prelude.c @CFA_FLAGS@
 AM_CCASFLAGS = @CFA_FLAGS@
-headers = assert fstream iostream iterator limits math rational stdlib \
+headers = fstream iostream iterator limits rational stdlib \
 	containers/maybe containers/pair containers/result \
 	containers/vector $(am__append_3)
 libobjs = ${headers:=.o}
 libsrc = libcfa-prelude.c interpose.c libhdr/libdebug.c ${headers:=.c} \
-	exception.c $(am__append_4)
+	assert.c exception.c virtual.c $(am__append_4)
 libcfa_a_SOURCES = ${libsrc}
 libcfa_a_CFLAGS = -nodebug -O2
@@ -424,5 +430,5 @@
 stdhdr = ${shell echo stdhdr/*}
 cfa_includedir = $(CFA_INCDIR)
-nobase_cfa_include_HEADERS = ${headers} ${stdhdr} gmp concurrency/invoke.h
+nobase_cfa_include_HEADERS = ${headers} ${stdhdr} math gmp concurrency/invoke.h
 CLEANFILES = libcfa-prelude.c
 all: all-am
@@ -590,7 +596,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-libcfa-prelude.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-limits.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-math.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-rational.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-stdlib.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_a-virtual.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-assert.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-exception.Po@am__quote@
@@ -601,7 +607,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-libcfa-prelude.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-limits.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-math.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-rational.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-stdlib.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcfa_d_a-virtual.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/CtxSwitch-@MACHINE_TYPE@.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/libcfa_a-alarm.Po@am__quote@
@@ -697,4 +703,200 @@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libhdr/libcfa_d_a-libdebug.obj `if test -f 'libhdr/libdebug.c'; then $(CYGPATH_W) 'libhdr/libdebug.c'; else $(CYGPATH_W) '$(srcdir)/libhdr/libdebug.c'; fi`
 
+libcfa_d_a-fstream.o: fstream.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-fstream.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-fstream.Tpo -c -o libcfa_d_a-fstream.o `test -f 'fstream.c' || echo '$(srcdir)/'`fstream.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-fstream.Tpo $(DEPDIR)/libcfa_d_a-fstream.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fstream.c' object='libcfa_d_a-fstream.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-fstream.o `test -f 'fstream.c' || echo '$(srcdir)/'`fstream.c
+
+libcfa_d_a-fstream.obj: fstream.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-fstream.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-fstream.Tpo -c -o libcfa_d_a-fstream.obj `if test -f 'fstream.c'; then $(CYGPATH_W) 'fstream.c'; else $(CYGPATH_W) '$(srcdir)/fstream.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-fstream.Tpo $(DEPDIR)/libcfa_d_a-fstream.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fstream.c' object='libcfa_d_a-fstream.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-fstream.obj `if test -f 'fstream.c'; then $(CYGPATH_W) 'fstream.c'; else $(CYGPATH_W) '$(srcdir)/fstream.c'; fi`
+
+libcfa_d_a-iostream.o: iostream.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-iostream.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-iostream.Tpo -c -o libcfa_d_a-iostream.o `test -f 'iostream.c' || echo '$(srcdir)/'`iostream.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-iostream.Tpo $(DEPDIR)/libcfa_d_a-iostream.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iostream.c' object='libcfa_d_a-iostream.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-iostream.o `test -f 'iostream.c' || echo '$(srcdir)/'`iostream.c
+
+libcfa_d_a-iostream.obj: iostream.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-iostream.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-iostream.Tpo -c -o libcfa_d_a-iostream.obj `if test -f 'iostream.c'; then $(CYGPATH_W) 'iostream.c'; else $(CYGPATH_W) '$(srcdir)/iostream.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-iostream.Tpo $(DEPDIR)/libcfa_d_a-iostream.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iostream.c' object='libcfa_d_a-iostream.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-iostream.obj `if test -f 'iostream.c'; then $(CYGPATH_W) 'iostream.c'; else $(CYGPATH_W) '$(srcdir)/iostream.c'; fi`
+
+libcfa_d_a-iterator.o: iterator.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-iterator.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-iterator.Tpo -c -o libcfa_d_a-iterator.o `test -f 'iterator.c' || echo '$(srcdir)/'`iterator.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-iterator.Tpo $(DEPDIR)/libcfa_d_a-iterator.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iterator.c' object='libcfa_d_a-iterator.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-iterator.o `test -f 'iterator.c' || echo '$(srcdir)/'`iterator.c
+
+libcfa_d_a-iterator.obj: iterator.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-iterator.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-iterator.Tpo -c -o libcfa_d_a-iterator.obj `if test -f 'iterator.c'; then $(CYGPATH_W) 'iterator.c'; else $(CYGPATH_W) '$(srcdir)/iterator.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-iterator.Tpo $(DEPDIR)/libcfa_d_a-iterator.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iterator.c' object='libcfa_d_a-iterator.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-iterator.obj `if test -f 'iterator.c'; then $(CYGPATH_W) 'iterator.c'; else $(CYGPATH_W) '$(srcdir)/iterator.c'; fi`
+
+libcfa_d_a-limits.o: limits.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-limits.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-limits.Tpo -c -o libcfa_d_a-limits.o `test -f 'limits.c' || echo '$(srcdir)/'`limits.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-limits.Tpo $(DEPDIR)/libcfa_d_a-limits.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='limits.c' object='libcfa_d_a-limits.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-limits.o `test -f 'limits.c' || echo '$(srcdir)/'`limits.c
+
+libcfa_d_a-limits.obj: limits.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-limits.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-limits.Tpo -c -o libcfa_d_a-limits.obj `if test -f 'limits.c'; then $(CYGPATH_W) 'limits.c'; else $(CYGPATH_W) '$(srcdir)/limits.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-limits.Tpo $(DEPDIR)/libcfa_d_a-limits.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='limits.c' object='libcfa_d_a-limits.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-limits.obj `if test -f 'limits.c'; then $(CYGPATH_W) 'limits.c'; else $(CYGPATH_W) '$(srcdir)/limits.c'; fi`
+
+libcfa_d_a-rational.o: rational.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-rational.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-rational.Tpo -c -o libcfa_d_a-rational.o `test -f 'rational.c' || echo '$(srcdir)/'`rational.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-rational.Tpo $(DEPDIR)/libcfa_d_a-rational.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rational.c' object='libcfa_d_a-rational.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-rational.o `test -f 'rational.c' || echo '$(srcdir)/'`rational.c
+
+libcfa_d_a-rational.obj: rational.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-rational.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-rational.Tpo -c -o libcfa_d_a-rational.obj `if test -f 'rational.c'; then $(CYGPATH_W) 'rational.c'; else $(CYGPATH_W) '$(srcdir)/rational.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-rational.Tpo $(DEPDIR)/libcfa_d_a-rational.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rational.c' object='libcfa_d_a-rational.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-rational.obj `if test -f 'rational.c'; then $(CYGPATH_W) 'rational.c'; else $(CYGPATH_W) '$(srcdir)/rational.c'; fi`
+
+libcfa_d_a-stdlib.o: stdlib.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-stdlib.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-stdlib.Tpo -c -o libcfa_d_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-stdlib.Tpo $(DEPDIR)/libcfa_d_a-stdlib.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stdlib.c' object='libcfa_d_a-stdlib.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c
+
+libcfa_d_a-stdlib.obj: stdlib.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-stdlib.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-stdlib.Tpo -c -o libcfa_d_a-stdlib.obj `if test -f 'stdlib.c'; then $(CYGPATH_W) 'stdlib.c'; else $(CYGPATH_W) '$(srcdir)/stdlib.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-stdlib.Tpo $(DEPDIR)/libcfa_d_a-stdlib.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stdlib.c' object='libcfa_d_a-stdlib.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-stdlib.obj `if test -f 'stdlib.c'; then $(CYGPATH_W) 'stdlib.c'; else $(CYGPATH_W) '$(srcdir)/stdlib.c'; fi`
+
+containers/libcfa_d_a-maybe.o: containers/maybe.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-maybe.o -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-maybe.Tpo -c -o containers/libcfa_d_a-maybe.o `test -f 'containers/maybe.c' || echo '$(srcdir)/'`containers/maybe.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-maybe.Tpo containers/$(DEPDIR)/libcfa_d_a-maybe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/maybe.c' object='containers/libcfa_d_a-maybe.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-maybe.o `test -f 'containers/maybe.c' || echo '$(srcdir)/'`containers/maybe.c
+
+containers/libcfa_d_a-maybe.obj: containers/maybe.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-maybe.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-maybe.Tpo -c -o containers/libcfa_d_a-maybe.obj `if test -f 'containers/maybe.c'; then $(CYGPATH_W) 'containers/maybe.c'; else $(CYGPATH_W) '$(srcdir)/containers/maybe.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-maybe.Tpo containers/$(DEPDIR)/libcfa_d_a-maybe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/maybe.c' object='containers/libcfa_d_a-maybe.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-maybe.obj `if test -f 'containers/maybe.c'; then $(CYGPATH_W) 'containers/maybe.c'; else $(CYGPATH_W) '$(srcdir)/containers/maybe.c'; fi`
+
+containers/libcfa_d_a-pair.o: containers/pair.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-pair.o -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-pair.Tpo -c -o containers/libcfa_d_a-pair.o `test -f 'containers/pair.c' || echo '$(srcdir)/'`containers/pair.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-pair.Tpo containers/$(DEPDIR)/libcfa_d_a-pair.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/pair.c' object='containers/libcfa_d_a-pair.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-pair.o `test -f 'containers/pair.c' || echo '$(srcdir)/'`containers/pair.c
+
+containers/libcfa_d_a-pair.obj: containers/pair.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-pair.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-pair.Tpo -c -o containers/libcfa_d_a-pair.obj `if test -f 'containers/pair.c'; then $(CYGPATH_W) 'containers/pair.c'; else $(CYGPATH_W) '$(srcdir)/containers/pair.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-pair.Tpo containers/$(DEPDIR)/libcfa_d_a-pair.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/pair.c' object='containers/libcfa_d_a-pair.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-pair.obj `if test -f 'containers/pair.c'; then $(CYGPATH_W) 'containers/pair.c'; else $(CYGPATH_W) '$(srcdir)/containers/pair.c'; fi`
+
+containers/libcfa_d_a-result.o: containers/result.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-result.o -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-result.Tpo -c -o containers/libcfa_d_a-result.o `test -f 'containers/result.c' || echo '$(srcdir)/'`containers/result.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-result.Tpo containers/$(DEPDIR)/libcfa_d_a-result.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/result.c' object='containers/libcfa_d_a-result.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-result.o `test -f 'containers/result.c' || echo '$(srcdir)/'`containers/result.c
+
+containers/libcfa_d_a-result.obj: containers/result.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-result.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-result.Tpo -c -o containers/libcfa_d_a-result.obj `if test -f 'containers/result.c'; then $(CYGPATH_W) 'containers/result.c'; else $(CYGPATH_W) '$(srcdir)/containers/result.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-result.Tpo containers/$(DEPDIR)/libcfa_d_a-result.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/result.c' object='containers/libcfa_d_a-result.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-result.obj `if test -f 'containers/result.c'; then $(CYGPATH_W) 'containers/result.c'; else $(CYGPATH_W) '$(srcdir)/containers/result.c'; fi`
+
+containers/libcfa_d_a-vector.o: containers/vector.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-vector.o -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-vector.Tpo -c -o containers/libcfa_d_a-vector.o `test -f 'containers/vector.c' || echo '$(srcdir)/'`containers/vector.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-vector.Tpo containers/$(DEPDIR)/libcfa_d_a-vector.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/vector.c' object='containers/libcfa_d_a-vector.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-vector.o `test -f 'containers/vector.c' || echo '$(srcdir)/'`containers/vector.c
+
+containers/libcfa_d_a-vector.obj: containers/vector.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-vector.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-vector.Tpo -c -o containers/libcfa_d_a-vector.obj `if test -f 'containers/vector.c'; then $(CYGPATH_W) 'containers/vector.c'; else $(CYGPATH_W) '$(srcdir)/containers/vector.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-vector.Tpo containers/$(DEPDIR)/libcfa_d_a-vector.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/vector.c' object='containers/libcfa_d_a-vector.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-vector.obj `if test -f 'containers/vector.c'; then $(CYGPATH_W) 'containers/vector.c'; else $(CYGPATH_W) '$(srcdir)/containers/vector.c'; fi`
+
+concurrency/libcfa_d_a-coroutine.o: concurrency/coroutine.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-coroutine.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-coroutine.Tpo -c -o concurrency/libcfa_d_a-coroutine.o `test -f 'concurrency/coroutine.c' || echo '$(srcdir)/'`concurrency/coroutine.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-coroutine.Tpo concurrency/$(DEPDIR)/libcfa_d_a-coroutine.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/coroutine.c' object='concurrency/libcfa_d_a-coroutine.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-coroutine.o `test -f 'concurrency/coroutine.c' || echo '$(srcdir)/'`concurrency/coroutine.c
+
+concurrency/libcfa_d_a-coroutine.obj: concurrency/coroutine.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-coroutine.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-coroutine.Tpo -c -o concurrency/libcfa_d_a-coroutine.obj `if test -f 'concurrency/coroutine.c'; then $(CYGPATH_W) 'concurrency/coroutine.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/coroutine.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-coroutine.Tpo concurrency/$(DEPDIR)/libcfa_d_a-coroutine.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/coroutine.c' object='concurrency/libcfa_d_a-coroutine.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-coroutine.obj `if test -f 'concurrency/coroutine.c'; then $(CYGPATH_W) 'concurrency/coroutine.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/coroutine.c'; fi`
+
+concurrency/libcfa_d_a-thread.o: concurrency/thread.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-thread.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-thread.Tpo -c -o concurrency/libcfa_d_a-thread.o `test -f 'concurrency/thread.c' || echo '$(srcdir)/'`concurrency/thread.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-thread.Tpo concurrency/$(DEPDIR)/libcfa_d_a-thread.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/thread.c' object='concurrency/libcfa_d_a-thread.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-thread.o `test -f 'concurrency/thread.c' || echo '$(srcdir)/'`concurrency/thread.c
+
+concurrency/libcfa_d_a-thread.obj: concurrency/thread.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-thread.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-thread.Tpo -c -o concurrency/libcfa_d_a-thread.obj `if test -f 'concurrency/thread.c'; then $(CYGPATH_W) 'concurrency/thread.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/thread.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-thread.Tpo concurrency/$(DEPDIR)/libcfa_d_a-thread.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/thread.c' object='concurrency/libcfa_d_a-thread.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-thread.obj `if test -f 'concurrency/thread.c'; then $(CYGPATH_W) 'concurrency/thread.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/thread.c'; fi`
+
+concurrency/libcfa_d_a-kernel.o: concurrency/kernel.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-kernel.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-kernel.Tpo -c -o concurrency/libcfa_d_a-kernel.o `test -f 'concurrency/kernel.c' || echo '$(srcdir)/'`concurrency/kernel.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-kernel.Tpo concurrency/$(DEPDIR)/libcfa_d_a-kernel.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/kernel.c' object='concurrency/libcfa_d_a-kernel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-kernel.o `test -f 'concurrency/kernel.c' || echo '$(srcdir)/'`concurrency/kernel.c
+
+concurrency/libcfa_d_a-kernel.obj: concurrency/kernel.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-kernel.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-kernel.Tpo -c -o concurrency/libcfa_d_a-kernel.obj `if test -f 'concurrency/kernel.c'; then $(CYGPATH_W) 'concurrency/kernel.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/kernel.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-kernel.Tpo concurrency/$(DEPDIR)/libcfa_d_a-kernel.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/kernel.c' object='concurrency/libcfa_d_a-kernel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-kernel.obj `if test -f 'concurrency/kernel.c'; then $(CYGPATH_W) 'concurrency/kernel.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/kernel.c'; fi`
+
+concurrency/libcfa_d_a-monitor.o: concurrency/monitor.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-monitor.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-monitor.Tpo -c -o concurrency/libcfa_d_a-monitor.o `test -f 'concurrency/monitor.c' || echo '$(srcdir)/'`concurrency/monitor.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-monitor.Tpo concurrency/$(DEPDIR)/libcfa_d_a-monitor.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/monitor.c' object='concurrency/libcfa_d_a-monitor.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-monitor.o `test -f 'concurrency/monitor.c' || echo '$(srcdir)/'`concurrency/monitor.c
+
+concurrency/libcfa_d_a-monitor.obj: concurrency/monitor.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-monitor.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-monitor.Tpo -c -o concurrency/libcfa_d_a-monitor.obj `if test -f 'concurrency/monitor.c'; then $(CYGPATH_W) 'concurrency/monitor.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/monitor.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-monitor.Tpo concurrency/$(DEPDIR)/libcfa_d_a-monitor.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/monitor.c' object='concurrency/libcfa_d_a-monitor.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-monitor.obj `if test -f 'concurrency/monitor.c'; then $(CYGPATH_W) 'concurrency/monitor.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/monitor.c'; fi`
+
 libcfa_d_a-assert.o: assert.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-assert.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-assert.Tpo -c -o libcfa_d_a-assert.o `test -f 'assert.c' || echo '$(srcdir)/'`assert.c
@@ -711,214 +913,4 @@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-assert.obj `if test -f 'assert.c'; then $(CYGPATH_W) 'assert.c'; else $(CYGPATH_W) '$(srcdir)/assert.c'; fi`
 
-libcfa_d_a-fstream.o: fstream.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-fstream.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-fstream.Tpo -c -o libcfa_d_a-fstream.o `test -f 'fstream.c' || echo '$(srcdir)/'`fstream.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-fstream.Tpo $(DEPDIR)/libcfa_d_a-fstream.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fstream.c' object='libcfa_d_a-fstream.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-fstream.o `test -f 'fstream.c' || echo '$(srcdir)/'`fstream.c
-
-libcfa_d_a-fstream.obj: fstream.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-fstream.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-fstream.Tpo -c -o libcfa_d_a-fstream.obj `if test -f 'fstream.c'; then $(CYGPATH_W) 'fstream.c'; else $(CYGPATH_W) '$(srcdir)/fstream.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-fstream.Tpo $(DEPDIR)/libcfa_d_a-fstream.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fstream.c' object='libcfa_d_a-fstream.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-fstream.obj `if test -f 'fstream.c'; then $(CYGPATH_W) 'fstream.c'; else $(CYGPATH_W) '$(srcdir)/fstream.c'; fi`
-
-libcfa_d_a-iostream.o: iostream.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-iostream.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-iostream.Tpo -c -o libcfa_d_a-iostream.o `test -f 'iostream.c' || echo '$(srcdir)/'`iostream.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-iostream.Tpo $(DEPDIR)/libcfa_d_a-iostream.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iostream.c' object='libcfa_d_a-iostream.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-iostream.o `test -f 'iostream.c' || echo '$(srcdir)/'`iostream.c
-
-libcfa_d_a-iostream.obj: iostream.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-iostream.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-iostream.Tpo -c -o libcfa_d_a-iostream.obj `if test -f 'iostream.c'; then $(CYGPATH_W) 'iostream.c'; else $(CYGPATH_W) '$(srcdir)/iostream.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-iostream.Tpo $(DEPDIR)/libcfa_d_a-iostream.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iostream.c' object='libcfa_d_a-iostream.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-iostream.obj `if test -f 'iostream.c'; then $(CYGPATH_W) 'iostream.c'; else $(CYGPATH_W) '$(srcdir)/iostream.c'; fi`
-
-libcfa_d_a-iterator.o: iterator.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-iterator.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-iterator.Tpo -c -o libcfa_d_a-iterator.o `test -f 'iterator.c' || echo '$(srcdir)/'`iterator.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-iterator.Tpo $(DEPDIR)/libcfa_d_a-iterator.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iterator.c' object='libcfa_d_a-iterator.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-iterator.o `test -f 'iterator.c' || echo '$(srcdir)/'`iterator.c
-
-libcfa_d_a-iterator.obj: iterator.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-iterator.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-iterator.Tpo -c -o libcfa_d_a-iterator.obj `if test -f 'iterator.c'; then $(CYGPATH_W) 'iterator.c'; else $(CYGPATH_W) '$(srcdir)/iterator.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-iterator.Tpo $(DEPDIR)/libcfa_d_a-iterator.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iterator.c' object='libcfa_d_a-iterator.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-iterator.obj `if test -f 'iterator.c'; then $(CYGPATH_W) 'iterator.c'; else $(CYGPATH_W) '$(srcdir)/iterator.c'; fi`
-
-libcfa_d_a-limits.o: limits.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-limits.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-limits.Tpo -c -o libcfa_d_a-limits.o `test -f 'limits.c' || echo '$(srcdir)/'`limits.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-limits.Tpo $(DEPDIR)/libcfa_d_a-limits.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='limits.c' object='libcfa_d_a-limits.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-limits.o `test -f 'limits.c' || echo '$(srcdir)/'`limits.c
-
-libcfa_d_a-limits.obj: limits.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-limits.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-limits.Tpo -c -o libcfa_d_a-limits.obj `if test -f 'limits.c'; then $(CYGPATH_W) 'limits.c'; else $(CYGPATH_W) '$(srcdir)/limits.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-limits.Tpo $(DEPDIR)/libcfa_d_a-limits.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='limits.c' object='libcfa_d_a-limits.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-limits.obj `if test -f 'limits.c'; then $(CYGPATH_W) 'limits.c'; else $(CYGPATH_W) '$(srcdir)/limits.c'; fi`
-
-libcfa_d_a-math.o: math.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-math.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-math.Tpo -c -o libcfa_d_a-math.o `test -f 'math.c' || echo '$(srcdir)/'`math.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-math.Tpo $(DEPDIR)/libcfa_d_a-math.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='math.c' object='libcfa_d_a-math.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-math.o `test -f 'math.c' || echo '$(srcdir)/'`math.c
-
-libcfa_d_a-math.obj: math.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-math.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-math.Tpo -c -o libcfa_d_a-math.obj `if test -f 'math.c'; then $(CYGPATH_W) 'math.c'; else $(CYGPATH_W) '$(srcdir)/math.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-math.Tpo $(DEPDIR)/libcfa_d_a-math.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='math.c' object='libcfa_d_a-math.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-math.obj `if test -f 'math.c'; then $(CYGPATH_W) 'math.c'; else $(CYGPATH_W) '$(srcdir)/math.c'; fi`
-
-libcfa_d_a-rational.o: rational.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-rational.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-rational.Tpo -c -o libcfa_d_a-rational.o `test -f 'rational.c' || echo '$(srcdir)/'`rational.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-rational.Tpo $(DEPDIR)/libcfa_d_a-rational.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rational.c' object='libcfa_d_a-rational.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-rational.o `test -f 'rational.c' || echo '$(srcdir)/'`rational.c
-
-libcfa_d_a-rational.obj: rational.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-rational.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-rational.Tpo -c -o libcfa_d_a-rational.obj `if test -f 'rational.c'; then $(CYGPATH_W) 'rational.c'; else $(CYGPATH_W) '$(srcdir)/rational.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-rational.Tpo $(DEPDIR)/libcfa_d_a-rational.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rational.c' object='libcfa_d_a-rational.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-rational.obj `if test -f 'rational.c'; then $(CYGPATH_W) 'rational.c'; else $(CYGPATH_W) '$(srcdir)/rational.c'; fi`
-
-libcfa_d_a-stdlib.o: stdlib.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-stdlib.o -MD -MP -MF $(DEPDIR)/libcfa_d_a-stdlib.Tpo -c -o libcfa_d_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-stdlib.Tpo $(DEPDIR)/libcfa_d_a-stdlib.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stdlib.c' object='libcfa_d_a-stdlib.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c
-
-libcfa_d_a-stdlib.obj: stdlib.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-stdlib.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-stdlib.Tpo -c -o libcfa_d_a-stdlib.obj `if test -f 'stdlib.c'; then $(CYGPATH_W) 'stdlib.c'; else $(CYGPATH_W) '$(srcdir)/stdlib.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-stdlib.Tpo $(DEPDIR)/libcfa_d_a-stdlib.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stdlib.c' object='libcfa_d_a-stdlib.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-stdlib.obj `if test -f 'stdlib.c'; then $(CYGPATH_W) 'stdlib.c'; else $(CYGPATH_W) '$(srcdir)/stdlib.c'; fi`
-
-containers/libcfa_d_a-maybe.o: containers/maybe.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-maybe.o -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-maybe.Tpo -c -o containers/libcfa_d_a-maybe.o `test -f 'containers/maybe.c' || echo '$(srcdir)/'`containers/maybe.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-maybe.Tpo containers/$(DEPDIR)/libcfa_d_a-maybe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/maybe.c' object='containers/libcfa_d_a-maybe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-maybe.o `test -f 'containers/maybe.c' || echo '$(srcdir)/'`containers/maybe.c
-
-containers/libcfa_d_a-maybe.obj: containers/maybe.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-maybe.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-maybe.Tpo -c -o containers/libcfa_d_a-maybe.obj `if test -f 'containers/maybe.c'; then $(CYGPATH_W) 'containers/maybe.c'; else $(CYGPATH_W) '$(srcdir)/containers/maybe.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-maybe.Tpo containers/$(DEPDIR)/libcfa_d_a-maybe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/maybe.c' object='containers/libcfa_d_a-maybe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-maybe.obj `if test -f 'containers/maybe.c'; then $(CYGPATH_W) 'containers/maybe.c'; else $(CYGPATH_W) '$(srcdir)/containers/maybe.c'; fi`
-
-containers/libcfa_d_a-pair.o: containers/pair.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-pair.o -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-pair.Tpo -c -o containers/libcfa_d_a-pair.o `test -f 'containers/pair.c' || echo '$(srcdir)/'`containers/pair.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-pair.Tpo containers/$(DEPDIR)/libcfa_d_a-pair.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/pair.c' object='containers/libcfa_d_a-pair.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-pair.o `test -f 'containers/pair.c' || echo '$(srcdir)/'`containers/pair.c
-
-containers/libcfa_d_a-pair.obj: containers/pair.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-pair.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-pair.Tpo -c -o containers/libcfa_d_a-pair.obj `if test -f 'containers/pair.c'; then $(CYGPATH_W) 'containers/pair.c'; else $(CYGPATH_W) '$(srcdir)/containers/pair.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-pair.Tpo containers/$(DEPDIR)/libcfa_d_a-pair.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/pair.c' object='containers/libcfa_d_a-pair.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-pair.obj `if test -f 'containers/pair.c'; then $(CYGPATH_W) 'containers/pair.c'; else $(CYGPATH_W) '$(srcdir)/containers/pair.c'; fi`
-
-containers/libcfa_d_a-result.o: containers/result.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-result.o -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-result.Tpo -c -o containers/libcfa_d_a-result.o `test -f 'containers/result.c' || echo '$(srcdir)/'`containers/result.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-result.Tpo containers/$(DEPDIR)/libcfa_d_a-result.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/result.c' object='containers/libcfa_d_a-result.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-result.o `test -f 'containers/result.c' || echo '$(srcdir)/'`containers/result.c
-
-containers/libcfa_d_a-result.obj: containers/result.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-result.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-result.Tpo -c -o containers/libcfa_d_a-result.obj `if test -f 'containers/result.c'; then $(CYGPATH_W) 'containers/result.c'; else $(CYGPATH_W) '$(srcdir)/containers/result.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-result.Tpo containers/$(DEPDIR)/libcfa_d_a-result.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/result.c' object='containers/libcfa_d_a-result.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-result.obj `if test -f 'containers/result.c'; then $(CYGPATH_W) 'containers/result.c'; else $(CYGPATH_W) '$(srcdir)/containers/result.c'; fi`
-
-containers/libcfa_d_a-vector.o: containers/vector.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-vector.o -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-vector.Tpo -c -o containers/libcfa_d_a-vector.o `test -f 'containers/vector.c' || echo '$(srcdir)/'`containers/vector.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-vector.Tpo containers/$(DEPDIR)/libcfa_d_a-vector.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/vector.c' object='containers/libcfa_d_a-vector.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-vector.o `test -f 'containers/vector.c' || echo '$(srcdir)/'`containers/vector.c
-
-containers/libcfa_d_a-vector.obj: containers/vector.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_d_a-vector.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_d_a-vector.Tpo -c -o containers/libcfa_d_a-vector.obj `if test -f 'containers/vector.c'; then $(CYGPATH_W) 'containers/vector.c'; else $(CYGPATH_W) '$(srcdir)/containers/vector.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_d_a-vector.Tpo containers/$(DEPDIR)/libcfa_d_a-vector.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/vector.c' object='containers/libcfa_d_a-vector.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_d_a-vector.obj `if test -f 'containers/vector.c'; then $(CYGPATH_W) 'containers/vector.c'; else $(CYGPATH_W) '$(srcdir)/containers/vector.c'; fi`
-
-concurrency/libcfa_d_a-coroutine.o: concurrency/coroutine.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-coroutine.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-coroutine.Tpo -c -o concurrency/libcfa_d_a-coroutine.o `test -f 'concurrency/coroutine.c' || echo '$(srcdir)/'`concurrency/coroutine.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-coroutine.Tpo concurrency/$(DEPDIR)/libcfa_d_a-coroutine.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/coroutine.c' object='concurrency/libcfa_d_a-coroutine.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-coroutine.o `test -f 'concurrency/coroutine.c' || echo '$(srcdir)/'`concurrency/coroutine.c
-
-concurrency/libcfa_d_a-coroutine.obj: concurrency/coroutine.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-coroutine.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-coroutine.Tpo -c -o concurrency/libcfa_d_a-coroutine.obj `if test -f 'concurrency/coroutine.c'; then $(CYGPATH_W) 'concurrency/coroutine.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/coroutine.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-coroutine.Tpo concurrency/$(DEPDIR)/libcfa_d_a-coroutine.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/coroutine.c' object='concurrency/libcfa_d_a-coroutine.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-coroutine.obj `if test -f 'concurrency/coroutine.c'; then $(CYGPATH_W) 'concurrency/coroutine.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/coroutine.c'; fi`
-
-concurrency/libcfa_d_a-thread.o: concurrency/thread.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-thread.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-thread.Tpo -c -o concurrency/libcfa_d_a-thread.o `test -f 'concurrency/thread.c' || echo '$(srcdir)/'`concurrency/thread.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-thread.Tpo concurrency/$(DEPDIR)/libcfa_d_a-thread.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/thread.c' object='concurrency/libcfa_d_a-thread.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-thread.o `test -f 'concurrency/thread.c' || echo '$(srcdir)/'`concurrency/thread.c
-
-concurrency/libcfa_d_a-thread.obj: concurrency/thread.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-thread.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-thread.Tpo -c -o concurrency/libcfa_d_a-thread.obj `if test -f 'concurrency/thread.c'; then $(CYGPATH_W) 'concurrency/thread.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/thread.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-thread.Tpo concurrency/$(DEPDIR)/libcfa_d_a-thread.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/thread.c' object='concurrency/libcfa_d_a-thread.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-thread.obj `if test -f 'concurrency/thread.c'; then $(CYGPATH_W) 'concurrency/thread.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/thread.c'; fi`
-
-concurrency/libcfa_d_a-kernel.o: concurrency/kernel.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-kernel.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-kernel.Tpo -c -o concurrency/libcfa_d_a-kernel.o `test -f 'concurrency/kernel.c' || echo '$(srcdir)/'`concurrency/kernel.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-kernel.Tpo concurrency/$(DEPDIR)/libcfa_d_a-kernel.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/kernel.c' object='concurrency/libcfa_d_a-kernel.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-kernel.o `test -f 'concurrency/kernel.c' || echo '$(srcdir)/'`concurrency/kernel.c
-
-concurrency/libcfa_d_a-kernel.obj: concurrency/kernel.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-kernel.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-kernel.Tpo -c -o concurrency/libcfa_d_a-kernel.obj `if test -f 'concurrency/kernel.c'; then $(CYGPATH_W) 'concurrency/kernel.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/kernel.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-kernel.Tpo concurrency/$(DEPDIR)/libcfa_d_a-kernel.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/kernel.c' object='concurrency/libcfa_d_a-kernel.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-kernel.obj `if test -f 'concurrency/kernel.c'; then $(CYGPATH_W) 'concurrency/kernel.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/kernel.c'; fi`
-
-concurrency/libcfa_d_a-monitor.o: concurrency/monitor.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-monitor.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-monitor.Tpo -c -o concurrency/libcfa_d_a-monitor.o `test -f 'concurrency/monitor.c' || echo '$(srcdir)/'`concurrency/monitor.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-monitor.Tpo concurrency/$(DEPDIR)/libcfa_d_a-monitor.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/monitor.c' object='concurrency/libcfa_d_a-monitor.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-monitor.o `test -f 'concurrency/monitor.c' || echo '$(srcdir)/'`concurrency/monitor.c
-
-concurrency/libcfa_d_a-monitor.obj: concurrency/monitor.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-monitor.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-monitor.Tpo -c -o concurrency/libcfa_d_a-monitor.obj `if test -f 'concurrency/monitor.c'; then $(CYGPATH_W) 'concurrency/monitor.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/monitor.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_d_a-monitor.Tpo concurrency/$(DEPDIR)/libcfa_d_a-monitor.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/monitor.c' object='concurrency/libcfa_d_a-monitor.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_d_a-monitor.obj `if test -f 'concurrency/monitor.c'; then $(CYGPATH_W) 'concurrency/monitor.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/monitor.c'; fi`
-
 libcfa_d_a-exception.obj: exception.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-exception.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-exception.Tpo -c -o libcfa_d_a-exception.obj `if test -f 'exception.c'; then $(CYGPATH_W) 'exception.c'; else $(CYGPATH_W) '$(srcdir)/exception.c'; fi`
@@ -928,4 +920,11 @@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-exception.obj `if test -f 'exception.c'; then $(CYGPATH_W) 'exception.c'; else $(CYGPATH_W) '$(srcdir)/exception.c'; fi`
 
+libcfa_d_a-virtual.obj: virtual.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT libcfa_d_a-virtual.obj -MD -MP -MF $(DEPDIR)/libcfa_d_a-virtual.Tpo -c -o libcfa_d_a-virtual.obj `if test -f 'virtual.c'; then $(CYGPATH_W) 'virtual.c'; else $(CYGPATH_W) '$(srcdir)/virtual.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_d_a-virtual.Tpo $(DEPDIR)/libcfa_d_a-virtual.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='virtual.c' object='libcfa_d_a-virtual.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -c -o libcfa_d_a-virtual.obj `if test -f 'virtual.c'; then $(CYGPATH_W) 'virtual.c'; else $(CYGPATH_W) '$(srcdir)/virtual.c'; fi`
+
 concurrency/libcfa_d_a-alarm.o: concurrency/alarm.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_d_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_d_a-alarm.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_d_a-alarm.Tpo -c -o concurrency/libcfa_d_a-alarm.o `test -f 'concurrency/alarm.c' || echo '$(srcdir)/'`concurrency/alarm.c
@@ -998,4 +997,200 @@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libhdr/libcfa_a-libdebug.obj `if test -f 'libhdr/libdebug.c'; then $(CYGPATH_W) 'libhdr/libdebug.c'; else $(CYGPATH_W) '$(srcdir)/libhdr/libdebug.c'; fi`
 
+libcfa_a-fstream.o: fstream.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-fstream.o -MD -MP -MF $(DEPDIR)/libcfa_a-fstream.Tpo -c -o libcfa_a-fstream.o `test -f 'fstream.c' || echo '$(srcdir)/'`fstream.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-fstream.Tpo $(DEPDIR)/libcfa_a-fstream.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fstream.c' object='libcfa_a-fstream.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-fstream.o `test -f 'fstream.c' || echo '$(srcdir)/'`fstream.c
+
+libcfa_a-fstream.obj: fstream.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-fstream.obj -MD -MP -MF $(DEPDIR)/libcfa_a-fstream.Tpo -c -o libcfa_a-fstream.obj `if test -f 'fstream.c'; then $(CYGPATH_W) 'fstream.c'; else $(CYGPATH_W) '$(srcdir)/fstream.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-fstream.Tpo $(DEPDIR)/libcfa_a-fstream.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fstream.c' object='libcfa_a-fstream.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-fstream.obj `if test -f 'fstream.c'; then $(CYGPATH_W) 'fstream.c'; else $(CYGPATH_W) '$(srcdir)/fstream.c'; fi`
+
+libcfa_a-iostream.o: iostream.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-iostream.o -MD -MP -MF $(DEPDIR)/libcfa_a-iostream.Tpo -c -o libcfa_a-iostream.o `test -f 'iostream.c' || echo '$(srcdir)/'`iostream.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-iostream.Tpo $(DEPDIR)/libcfa_a-iostream.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iostream.c' object='libcfa_a-iostream.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-iostream.o `test -f 'iostream.c' || echo '$(srcdir)/'`iostream.c
+
+libcfa_a-iostream.obj: iostream.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-iostream.obj -MD -MP -MF $(DEPDIR)/libcfa_a-iostream.Tpo -c -o libcfa_a-iostream.obj `if test -f 'iostream.c'; then $(CYGPATH_W) 'iostream.c'; else $(CYGPATH_W) '$(srcdir)/iostream.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-iostream.Tpo $(DEPDIR)/libcfa_a-iostream.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iostream.c' object='libcfa_a-iostream.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-iostream.obj `if test -f 'iostream.c'; then $(CYGPATH_W) 'iostream.c'; else $(CYGPATH_W) '$(srcdir)/iostream.c'; fi`
+
+libcfa_a-iterator.o: iterator.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-iterator.o -MD -MP -MF $(DEPDIR)/libcfa_a-iterator.Tpo -c -o libcfa_a-iterator.o `test -f 'iterator.c' || echo '$(srcdir)/'`iterator.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-iterator.Tpo $(DEPDIR)/libcfa_a-iterator.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iterator.c' object='libcfa_a-iterator.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-iterator.o `test -f 'iterator.c' || echo '$(srcdir)/'`iterator.c
+
+libcfa_a-iterator.obj: iterator.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-iterator.obj -MD -MP -MF $(DEPDIR)/libcfa_a-iterator.Tpo -c -o libcfa_a-iterator.obj `if test -f 'iterator.c'; then $(CYGPATH_W) 'iterator.c'; else $(CYGPATH_W) '$(srcdir)/iterator.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-iterator.Tpo $(DEPDIR)/libcfa_a-iterator.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iterator.c' object='libcfa_a-iterator.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-iterator.obj `if test -f 'iterator.c'; then $(CYGPATH_W) 'iterator.c'; else $(CYGPATH_W) '$(srcdir)/iterator.c'; fi`
+
+libcfa_a-limits.o: limits.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-limits.o -MD -MP -MF $(DEPDIR)/libcfa_a-limits.Tpo -c -o libcfa_a-limits.o `test -f 'limits.c' || echo '$(srcdir)/'`limits.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-limits.Tpo $(DEPDIR)/libcfa_a-limits.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='limits.c' object='libcfa_a-limits.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-limits.o `test -f 'limits.c' || echo '$(srcdir)/'`limits.c
+
+libcfa_a-limits.obj: limits.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-limits.obj -MD -MP -MF $(DEPDIR)/libcfa_a-limits.Tpo -c -o libcfa_a-limits.obj `if test -f 'limits.c'; then $(CYGPATH_W) 'limits.c'; else $(CYGPATH_W) '$(srcdir)/limits.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-limits.Tpo $(DEPDIR)/libcfa_a-limits.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='limits.c' object='libcfa_a-limits.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-limits.obj `if test -f 'limits.c'; then $(CYGPATH_W) 'limits.c'; else $(CYGPATH_W) '$(srcdir)/limits.c'; fi`
+
+libcfa_a-rational.o: rational.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-rational.o -MD -MP -MF $(DEPDIR)/libcfa_a-rational.Tpo -c -o libcfa_a-rational.o `test -f 'rational.c' || echo '$(srcdir)/'`rational.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-rational.Tpo $(DEPDIR)/libcfa_a-rational.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rational.c' object='libcfa_a-rational.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-rational.o `test -f 'rational.c' || echo '$(srcdir)/'`rational.c
+
+libcfa_a-rational.obj: rational.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-rational.obj -MD -MP -MF $(DEPDIR)/libcfa_a-rational.Tpo -c -o libcfa_a-rational.obj `if test -f 'rational.c'; then $(CYGPATH_W) 'rational.c'; else $(CYGPATH_W) '$(srcdir)/rational.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-rational.Tpo $(DEPDIR)/libcfa_a-rational.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rational.c' object='libcfa_a-rational.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-rational.obj `if test -f 'rational.c'; then $(CYGPATH_W) 'rational.c'; else $(CYGPATH_W) '$(srcdir)/rational.c'; fi`
+
+libcfa_a-stdlib.o: stdlib.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-stdlib.o -MD -MP -MF $(DEPDIR)/libcfa_a-stdlib.Tpo -c -o libcfa_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-stdlib.Tpo $(DEPDIR)/libcfa_a-stdlib.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stdlib.c' object='libcfa_a-stdlib.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c
+
+libcfa_a-stdlib.obj: stdlib.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-stdlib.obj -MD -MP -MF $(DEPDIR)/libcfa_a-stdlib.Tpo -c -o libcfa_a-stdlib.obj `if test -f 'stdlib.c'; then $(CYGPATH_W) 'stdlib.c'; else $(CYGPATH_W) '$(srcdir)/stdlib.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-stdlib.Tpo $(DEPDIR)/libcfa_a-stdlib.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stdlib.c' object='libcfa_a-stdlib.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-stdlib.obj `if test -f 'stdlib.c'; then $(CYGPATH_W) 'stdlib.c'; else $(CYGPATH_W) '$(srcdir)/stdlib.c'; fi`
+
+containers/libcfa_a-maybe.o: containers/maybe.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-maybe.o -MD -MP -MF containers/$(DEPDIR)/libcfa_a-maybe.Tpo -c -o containers/libcfa_a-maybe.o `test -f 'containers/maybe.c' || echo '$(srcdir)/'`containers/maybe.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-maybe.Tpo containers/$(DEPDIR)/libcfa_a-maybe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/maybe.c' object='containers/libcfa_a-maybe.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-maybe.o `test -f 'containers/maybe.c' || echo '$(srcdir)/'`containers/maybe.c
+
+containers/libcfa_a-maybe.obj: containers/maybe.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-maybe.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_a-maybe.Tpo -c -o containers/libcfa_a-maybe.obj `if test -f 'containers/maybe.c'; then $(CYGPATH_W) 'containers/maybe.c'; else $(CYGPATH_W) '$(srcdir)/containers/maybe.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-maybe.Tpo containers/$(DEPDIR)/libcfa_a-maybe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/maybe.c' object='containers/libcfa_a-maybe.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-maybe.obj `if test -f 'containers/maybe.c'; then $(CYGPATH_W) 'containers/maybe.c'; else $(CYGPATH_W) '$(srcdir)/containers/maybe.c'; fi`
+
+containers/libcfa_a-pair.o: containers/pair.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-pair.o -MD -MP -MF containers/$(DEPDIR)/libcfa_a-pair.Tpo -c -o containers/libcfa_a-pair.o `test -f 'containers/pair.c' || echo '$(srcdir)/'`containers/pair.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-pair.Tpo containers/$(DEPDIR)/libcfa_a-pair.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/pair.c' object='containers/libcfa_a-pair.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-pair.o `test -f 'containers/pair.c' || echo '$(srcdir)/'`containers/pair.c
+
+containers/libcfa_a-pair.obj: containers/pair.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-pair.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_a-pair.Tpo -c -o containers/libcfa_a-pair.obj `if test -f 'containers/pair.c'; then $(CYGPATH_W) 'containers/pair.c'; else $(CYGPATH_W) '$(srcdir)/containers/pair.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-pair.Tpo containers/$(DEPDIR)/libcfa_a-pair.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/pair.c' object='containers/libcfa_a-pair.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-pair.obj `if test -f 'containers/pair.c'; then $(CYGPATH_W) 'containers/pair.c'; else $(CYGPATH_W) '$(srcdir)/containers/pair.c'; fi`
+
+containers/libcfa_a-result.o: containers/result.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-result.o -MD -MP -MF containers/$(DEPDIR)/libcfa_a-result.Tpo -c -o containers/libcfa_a-result.o `test -f 'containers/result.c' || echo '$(srcdir)/'`containers/result.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-result.Tpo containers/$(DEPDIR)/libcfa_a-result.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/result.c' object='containers/libcfa_a-result.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-result.o `test -f 'containers/result.c' || echo '$(srcdir)/'`containers/result.c
+
+containers/libcfa_a-result.obj: containers/result.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-result.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_a-result.Tpo -c -o containers/libcfa_a-result.obj `if test -f 'containers/result.c'; then $(CYGPATH_W) 'containers/result.c'; else $(CYGPATH_W) '$(srcdir)/containers/result.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-result.Tpo containers/$(DEPDIR)/libcfa_a-result.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/result.c' object='containers/libcfa_a-result.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-result.obj `if test -f 'containers/result.c'; then $(CYGPATH_W) 'containers/result.c'; else $(CYGPATH_W) '$(srcdir)/containers/result.c'; fi`
+
+containers/libcfa_a-vector.o: containers/vector.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-vector.o -MD -MP -MF containers/$(DEPDIR)/libcfa_a-vector.Tpo -c -o containers/libcfa_a-vector.o `test -f 'containers/vector.c' || echo '$(srcdir)/'`containers/vector.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-vector.Tpo containers/$(DEPDIR)/libcfa_a-vector.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/vector.c' object='containers/libcfa_a-vector.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-vector.o `test -f 'containers/vector.c' || echo '$(srcdir)/'`containers/vector.c
+
+containers/libcfa_a-vector.obj: containers/vector.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-vector.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_a-vector.Tpo -c -o containers/libcfa_a-vector.obj `if test -f 'containers/vector.c'; then $(CYGPATH_W) 'containers/vector.c'; else $(CYGPATH_W) '$(srcdir)/containers/vector.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-vector.Tpo containers/$(DEPDIR)/libcfa_a-vector.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/vector.c' object='containers/libcfa_a-vector.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-vector.obj `if test -f 'containers/vector.c'; then $(CYGPATH_W) 'containers/vector.c'; else $(CYGPATH_W) '$(srcdir)/containers/vector.c'; fi`
+
+concurrency/libcfa_a-coroutine.o: concurrency/coroutine.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-coroutine.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-coroutine.Tpo -c -o concurrency/libcfa_a-coroutine.o `test -f 'concurrency/coroutine.c' || echo '$(srcdir)/'`concurrency/coroutine.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-coroutine.Tpo concurrency/$(DEPDIR)/libcfa_a-coroutine.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/coroutine.c' object='concurrency/libcfa_a-coroutine.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-coroutine.o `test -f 'concurrency/coroutine.c' || echo '$(srcdir)/'`concurrency/coroutine.c
+
+concurrency/libcfa_a-coroutine.obj: concurrency/coroutine.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-coroutine.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-coroutine.Tpo -c -o concurrency/libcfa_a-coroutine.obj `if test -f 'concurrency/coroutine.c'; then $(CYGPATH_W) 'concurrency/coroutine.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/coroutine.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-coroutine.Tpo concurrency/$(DEPDIR)/libcfa_a-coroutine.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/coroutine.c' object='concurrency/libcfa_a-coroutine.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-coroutine.obj `if test -f 'concurrency/coroutine.c'; then $(CYGPATH_W) 'concurrency/coroutine.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/coroutine.c'; fi`
+
+concurrency/libcfa_a-thread.o: concurrency/thread.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-thread.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-thread.Tpo -c -o concurrency/libcfa_a-thread.o `test -f 'concurrency/thread.c' || echo '$(srcdir)/'`concurrency/thread.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-thread.Tpo concurrency/$(DEPDIR)/libcfa_a-thread.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/thread.c' object='concurrency/libcfa_a-thread.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-thread.o `test -f 'concurrency/thread.c' || echo '$(srcdir)/'`concurrency/thread.c
+
+concurrency/libcfa_a-thread.obj: concurrency/thread.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-thread.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-thread.Tpo -c -o concurrency/libcfa_a-thread.obj `if test -f 'concurrency/thread.c'; then $(CYGPATH_W) 'concurrency/thread.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/thread.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-thread.Tpo concurrency/$(DEPDIR)/libcfa_a-thread.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/thread.c' object='concurrency/libcfa_a-thread.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-thread.obj `if test -f 'concurrency/thread.c'; then $(CYGPATH_W) 'concurrency/thread.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/thread.c'; fi`
+
+concurrency/libcfa_a-kernel.o: concurrency/kernel.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-kernel.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-kernel.Tpo -c -o concurrency/libcfa_a-kernel.o `test -f 'concurrency/kernel.c' || echo '$(srcdir)/'`concurrency/kernel.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-kernel.Tpo concurrency/$(DEPDIR)/libcfa_a-kernel.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/kernel.c' object='concurrency/libcfa_a-kernel.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-kernel.o `test -f 'concurrency/kernel.c' || echo '$(srcdir)/'`concurrency/kernel.c
+
+concurrency/libcfa_a-kernel.obj: concurrency/kernel.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-kernel.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-kernel.Tpo -c -o concurrency/libcfa_a-kernel.obj `if test -f 'concurrency/kernel.c'; then $(CYGPATH_W) 'concurrency/kernel.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/kernel.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-kernel.Tpo concurrency/$(DEPDIR)/libcfa_a-kernel.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/kernel.c' object='concurrency/libcfa_a-kernel.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-kernel.obj `if test -f 'concurrency/kernel.c'; then $(CYGPATH_W) 'concurrency/kernel.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/kernel.c'; fi`
+
+concurrency/libcfa_a-monitor.o: concurrency/monitor.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-monitor.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-monitor.Tpo -c -o concurrency/libcfa_a-monitor.o `test -f 'concurrency/monitor.c' || echo '$(srcdir)/'`concurrency/monitor.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-monitor.Tpo concurrency/$(DEPDIR)/libcfa_a-monitor.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/monitor.c' object='concurrency/libcfa_a-monitor.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-monitor.o `test -f 'concurrency/monitor.c' || echo '$(srcdir)/'`concurrency/monitor.c
+
+concurrency/libcfa_a-monitor.obj: concurrency/monitor.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-monitor.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-monitor.Tpo -c -o concurrency/libcfa_a-monitor.obj `if test -f 'concurrency/monitor.c'; then $(CYGPATH_W) 'concurrency/monitor.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/monitor.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-monitor.Tpo concurrency/$(DEPDIR)/libcfa_a-monitor.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/monitor.c' object='concurrency/libcfa_a-monitor.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-monitor.obj `if test -f 'concurrency/monitor.c'; then $(CYGPATH_W) 'concurrency/monitor.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/monitor.c'; fi`
+
 libcfa_a-assert.o: assert.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-assert.o -MD -MP -MF $(DEPDIR)/libcfa_a-assert.Tpo -c -o libcfa_a-assert.o `test -f 'assert.c' || echo '$(srcdir)/'`assert.c
@@ -1012,214 +1207,4 @@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-assert.obj `if test -f 'assert.c'; then $(CYGPATH_W) 'assert.c'; else $(CYGPATH_W) '$(srcdir)/assert.c'; fi`
 
-libcfa_a-fstream.o: fstream.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-fstream.o -MD -MP -MF $(DEPDIR)/libcfa_a-fstream.Tpo -c -o libcfa_a-fstream.o `test -f 'fstream.c' || echo '$(srcdir)/'`fstream.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-fstream.Tpo $(DEPDIR)/libcfa_a-fstream.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fstream.c' object='libcfa_a-fstream.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-fstream.o `test -f 'fstream.c' || echo '$(srcdir)/'`fstream.c
-
-libcfa_a-fstream.obj: fstream.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-fstream.obj -MD -MP -MF $(DEPDIR)/libcfa_a-fstream.Tpo -c -o libcfa_a-fstream.obj `if test -f 'fstream.c'; then $(CYGPATH_W) 'fstream.c'; else $(CYGPATH_W) '$(srcdir)/fstream.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-fstream.Tpo $(DEPDIR)/libcfa_a-fstream.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fstream.c' object='libcfa_a-fstream.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-fstream.obj `if test -f 'fstream.c'; then $(CYGPATH_W) 'fstream.c'; else $(CYGPATH_W) '$(srcdir)/fstream.c'; fi`
-
-libcfa_a-iostream.o: iostream.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-iostream.o -MD -MP -MF $(DEPDIR)/libcfa_a-iostream.Tpo -c -o libcfa_a-iostream.o `test -f 'iostream.c' || echo '$(srcdir)/'`iostream.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-iostream.Tpo $(DEPDIR)/libcfa_a-iostream.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iostream.c' object='libcfa_a-iostream.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-iostream.o `test -f 'iostream.c' || echo '$(srcdir)/'`iostream.c
-
-libcfa_a-iostream.obj: iostream.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-iostream.obj -MD -MP -MF $(DEPDIR)/libcfa_a-iostream.Tpo -c -o libcfa_a-iostream.obj `if test -f 'iostream.c'; then $(CYGPATH_W) 'iostream.c'; else $(CYGPATH_W) '$(srcdir)/iostream.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-iostream.Tpo $(DEPDIR)/libcfa_a-iostream.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iostream.c' object='libcfa_a-iostream.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-iostream.obj `if test -f 'iostream.c'; then $(CYGPATH_W) 'iostream.c'; else $(CYGPATH_W) '$(srcdir)/iostream.c'; fi`
-
-libcfa_a-iterator.o: iterator.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-iterator.o -MD -MP -MF $(DEPDIR)/libcfa_a-iterator.Tpo -c -o libcfa_a-iterator.o `test -f 'iterator.c' || echo '$(srcdir)/'`iterator.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-iterator.Tpo $(DEPDIR)/libcfa_a-iterator.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iterator.c' object='libcfa_a-iterator.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-iterator.o `test -f 'iterator.c' || echo '$(srcdir)/'`iterator.c
-
-libcfa_a-iterator.obj: iterator.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-iterator.obj -MD -MP -MF $(DEPDIR)/libcfa_a-iterator.Tpo -c -o libcfa_a-iterator.obj `if test -f 'iterator.c'; then $(CYGPATH_W) 'iterator.c'; else $(CYGPATH_W) '$(srcdir)/iterator.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-iterator.Tpo $(DEPDIR)/libcfa_a-iterator.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iterator.c' object='libcfa_a-iterator.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-iterator.obj `if test -f 'iterator.c'; then $(CYGPATH_W) 'iterator.c'; else $(CYGPATH_W) '$(srcdir)/iterator.c'; fi`
-
-libcfa_a-limits.o: limits.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-limits.o -MD -MP -MF $(DEPDIR)/libcfa_a-limits.Tpo -c -o libcfa_a-limits.o `test -f 'limits.c' || echo '$(srcdir)/'`limits.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-limits.Tpo $(DEPDIR)/libcfa_a-limits.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='limits.c' object='libcfa_a-limits.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-limits.o `test -f 'limits.c' || echo '$(srcdir)/'`limits.c
-
-libcfa_a-limits.obj: limits.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-limits.obj -MD -MP -MF $(DEPDIR)/libcfa_a-limits.Tpo -c -o libcfa_a-limits.obj `if test -f 'limits.c'; then $(CYGPATH_W) 'limits.c'; else $(CYGPATH_W) '$(srcdir)/limits.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-limits.Tpo $(DEPDIR)/libcfa_a-limits.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='limits.c' object='libcfa_a-limits.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-limits.obj `if test -f 'limits.c'; then $(CYGPATH_W) 'limits.c'; else $(CYGPATH_W) '$(srcdir)/limits.c'; fi`
-
-libcfa_a-math.o: math.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-math.o -MD -MP -MF $(DEPDIR)/libcfa_a-math.Tpo -c -o libcfa_a-math.o `test -f 'math.c' || echo '$(srcdir)/'`math.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-math.Tpo $(DEPDIR)/libcfa_a-math.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='math.c' object='libcfa_a-math.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-math.o `test -f 'math.c' || echo '$(srcdir)/'`math.c
-
-libcfa_a-math.obj: math.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-math.obj -MD -MP -MF $(DEPDIR)/libcfa_a-math.Tpo -c -o libcfa_a-math.obj `if test -f 'math.c'; then $(CYGPATH_W) 'math.c'; else $(CYGPATH_W) '$(srcdir)/math.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-math.Tpo $(DEPDIR)/libcfa_a-math.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='math.c' object='libcfa_a-math.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-math.obj `if test -f 'math.c'; then $(CYGPATH_W) 'math.c'; else $(CYGPATH_W) '$(srcdir)/math.c'; fi`
-
-libcfa_a-rational.o: rational.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-rational.o -MD -MP -MF $(DEPDIR)/libcfa_a-rational.Tpo -c -o libcfa_a-rational.o `test -f 'rational.c' || echo '$(srcdir)/'`rational.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-rational.Tpo $(DEPDIR)/libcfa_a-rational.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rational.c' object='libcfa_a-rational.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-rational.o `test -f 'rational.c' || echo '$(srcdir)/'`rational.c
-
-libcfa_a-rational.obj: rational.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-rational.obj -MD -MP -MF $(DEPDIR)/libcfa_a-rational.Tpo -c -o libcfa_a-rational.obj `if test -f 'rational.c'; then $(CYGPATH_W) 'rational.c'; else $(CYGPATH_W) '$(srcdir)/rational.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-rational.Tpo $(DEPDIR)/libcfa_a-rational.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rational.c' object='libcfa_a-rational.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-rational.obj `if test -f 'rational.c'; then $(CYGPATH_W) 'rational.c'; else $(CYGPATH_W) '$(srcdir)/rational.c'; fi`
-
-libcfa_a-stdlib.o: stdlib.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-stdlib.o -MD -MP -MF $(DEPDIR)/libcfa_a-stdlib.Tpo -c -o libcfa_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-stdlib.Tpo $(DEPDIR)/libcfa_a-stdlib.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stdlib.c' object='libcfa_a-stdlib.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c
-
-libcfa_a-stdlib.obj: stdlib.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-stdlib.obj -MD -MP -MF $(DEPDIR)/libcfa_a-stdlib.Tpo -c -o libcfa_a-stdlib.obj `if test -f 'stdlib.c'; then $(CYGPATH_W) 'stdlib.c'; else $(CYGPATH_W) '$(srcdir)/stdlib.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-stdlib.Tpo $(DEPDIR)/libcfa_a-stdlib.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stdlib.c' object='libcfa_a-stdlib.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-stdlib.obj `if test -f 'stdlib.c'; then $(CYGPATH_W) 'stdlib.c'; else $(CYGPATH_W) '$(srcdir)/stdlib.c'; fi`
-
-containers/libcfa_a-maybe.o: containers/maybe.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-maybe.o -MD -MP -MF containers/$(DEPDIR)/libcfa_a-maybe.Tpo -c -o containers/libcfa_a-maybe.o `test -f 'containers/maybe.c' || echo '$(srcdir)/'`containers/maybe.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-maybe.Tpo containers/$(DEPDIR)/libcfa_a-maybe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/maybe.c' object='containers/libcfa_a-maybe.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-maybe.o `test -f 'containers/maybe.c' || echo '$(srcdir)/'`containers/maybe.c
-
-containers/libcfa_a-maybe.obj: containers/maybe.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-maybe.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_a-maybe.Tpo -c -o containers/libcfa_a-maybe.obj `if test -f 'containers/maybe.c'; then $(CYGPATH_W) 'containers/maybe.c'; else $(CYGPATH_W) '$(srcdir)/containers/maybe.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-maybe.Tpo containers/$(DEPDIR)/libcfa_a-maybe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/maybe.c' object='containers/libcfa_a-maybe.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-maybe.obj `if test -f 'containers/maybe.c'; then $(CYGPATH_W) 'containers/maybe.c'; else $(CYGPATH_W) '$(srcdir)/containers/maybe.c'; fi`
-
-containers/libcfa_a-pair.o: containers/pair.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-pair.o -MD -MP -MF containers/$(DEPDIR)/libcfa_a-pair.Tpo -c -o containers/libcfa_a-pair.o `test -f 'containers/pair.c' || echo '$(srcdir)/'`containers/pair.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-pair.Tpo containers/$(DEPDIR)/libcfa_a-pair.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/pair.c' object='containers/libcfa_a-pair.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-pair.o `test -f 'containers/pair.c' || echo '$(srcdir)/'`containers/pair.c
-
-containers/libcfa_a-pair.obj: containers/pair.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-pair.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_a-pair.Tpo -c -o containers/libcfa_a-pair.obj `if test -f 'containers/pair.c'; then $(CYGPATH_W) 'containers/pair.c'; else $(CYGPATH_W) '$(srcdir)/containers/pair.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-pair.Tpo containers/$(DEPDIR)/libcfa_a-pair.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/pair.c' object='containers/libcfa_a-pair.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-pair.obj `if test -f 'containers/pair.c'; then $(CYGPATH_W) 'containers/pair.c'; else $(CYGPATH_W) '$(srcdir)/containers/pair.c'; fi`
-
-containers/libcfa_a-result.o: containers/result.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-result.o -MD -MP -MF containers/$(DEPDIR)/libcfa_a-result.Tpo -c -o containers/libcfa_a-result.o `test -f 'containers/result.c' || echo '$(srcdir)/'`containers/result.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-result.Tpo containers/$(DEPDIR)/libcfa_a-result.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/result.c' object='containers/libcfa_a-result.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-result.o `test -f 'containers/result.c' || echo '$(srcdir)/'`containers/result.c
-
-containers/libcfa_a-result.obj: containers/result.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-result.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_a-result.Tpo -c -o containers/libcfa_a-result.obj `if test -f 'containers/result.c'; then $(CYGPATH_W) 'containers/result.c'; else $(CYGPATH_W) '$(srcdir)/containers/result.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-result.Tpo containers/$(DEPDIR)/libcfa_a-result.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/result.c' object='containers/libcfa_a-result.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-result.obj `if test -f 'containers/result.c'; then $(CYGPATH_W) 'containers/result.c'; else $(CYGPATH_W) '$(srcdir)/containers/result.c'; fi`
-
-containers/libcfa_a-vector.o: containers/vector.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-vector.o -MD -MP -MF containers/$(DEPDIR)/libcfa_a-vector.Tpo -c -o containers/libcfa_a-vector.o `test -f 'containers/vector.c' || echo '$(srcdir)/'`containers/vector.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-vector.Tpo containers/$(DEPDIR)/libcfa_a-vector.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/vector.c' object='containers/libcfa_a-vector.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-vector.o `test -f 'containers/vector.c' || echo '$(srcdir)/'`containers/vector.c
-
-containers/libcfa_a-vector.obj: containers/vector.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT containers/libcfa_a-vector.obj -MD -MP -MF containers/$(DEPDIR)/libcfa_a-vector.Tpo -c -o containers/libcfa_a-vector.obj `if test -f 'containers/vector.c'; then $(CYGPATH_W) 'containers/vector.c'; else $(CYGPATH_W) '$(srcdir)/containers/vector.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) containers/$(DEPDIR)/libcfa_a-vector.Tpo containers/$(DEPDIR)/libcfa_a-vector.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='containers/vector.c' object='containers/libcfa_a-vector.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o containers/libcfa_a-vector.obj `if test -f 'containers/vector.c'; then $(CYGPATH_W) 'containers/vector.c'; else $(CYGPATH_W) '$(srcdir)/containers/vector.c'; fi`
-
-concurrency/libcfa_a-coroutine.o: concurrency/coroutine.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-coroutine.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-coroutine.Tpo -c -o concurrency/libcfa_a-coroutine.o `test -f 'concurrency/coroutine.c' || echo '$(srcdir)/'`concurrency/coroutine.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-coroutine.Tpo concurrency/$(DEPDIR)/libcfa_a-coroutine.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/coroutine.c' object='concurrency/libcfa_a-coroutine.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-coroutine.o `test -f 'concurrency/coroutine.c' || echo '$(srcdir)/'`concurrency/coroutine.c
-
-concurrency/libcfa_a-coroutine.obj: concurrency/coroutine.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-coroutine.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-coroutine.Tpo -c -o concurrency/libcfa_a-coroutine.obj `if test -f 'concurrency/coroutine.c'; then $(CYGPATH_W) 'concurrency/coroutine.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/coroutine.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-coroutine.Tpo concurrency/$(DEPDIR)/libcfa_a-coroutine.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/coroutine.c' object='concurrency/libcfa_a-coroutine.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-coroutine.obj `if test -f 'concurrency/coroutine.c'; then $(CYGPATH_W) 'concurrency/coroutine.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/coroutine.c'; fi`
-
-concurrency/libcfa_a-thread.o: concurrency/thread.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-thread.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-thread.Tpo -c -o concurrency/libcfa_a-thread.o `test -f 'concurrency/thread.c' || echo '$(srcdir)/'`concurrency/thread.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-thread.Tpo concurrency/$(DEPDIR)/libcfa_a-thread.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/thread.c' object='concurrency/libcfa_a-thread.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-thread.o `test -f 'concurrency/thread.c' || echo '$(srcdir)/'`concurrency/thread.c
-
-concurrency/libcfa_a-thread.obj: concurrency/thread.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-thread.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-thread.Tpo -c -o concurrency/libcfa_a-thread.obj `if test -f 'concurrency/thread.c'; then $(CYGPATH_W) 'concurrency/thread.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/thread.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-thread.Tpo concurrency/$(DEPDIR)/libcfa_a-thread.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/thread.c' object='concurrency/libcfa_a-thread.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-thread.obj `if test -f 'concurrency/thread.c'; then $(CYGPATH_W) 'concurrency/thread.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/thread.c'; fi`
-
-concurrency/libcfa_a-kernel.o: concurrency/kernel.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-kernel.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-kernel.Tpo -c -o concurrency/libcfa_a-kernel.o `test -f 'concurrency/kernel.c' || echo '$(srcdir)/'`concurrency/kernel.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-kernel.Tpo concurrency/$(DEPDIR)/libcfa_a-kernel.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/kernel.c' object='concurrency/libcfa_a-kernel.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-kernel.o `test -f 'concurrency/kernel.c' || echo '$(srcdir)/'`concurrency/kernel.c
-
-concurrency/libcfa_a-kernel.obj: concurrency/kernel.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-kernel.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-kernel.Tpo -c -o concurrency/libcfa_a-kernel.obj `if test -f 'concurrency/kernel.c'; then $(CYGPATH_W) 'concurrency/kernel.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/kernel.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-kernel.Tpo concurrency/$(DEPDIR)/libcfa_a-kernel.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/kernel.c' object='concurrency/libcfa_a-kernel.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-kernel.obj `if test -f 'concurrency/kernel.c'; then $(CYGPATH_W) 'concurrency/kernel.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/kernel.c'; fi`
-
-concurrency/libcfa_a-monitor.o: concurrency/monitor.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-monitor.o -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-monitor.Tpo -c -o concurrency/libcfa_a-monitor.o `test -f 'concurrency/monitor.c' || echo '$(srcdir)/'`concurrency/monitor.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-monitor.Tpo concurrency/$(DEPDIR)/libcfa_a-monitor.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/monitor.c' object='concurrency/libcfa_a-monitor.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-monitor.o `test -f 'concurrency/monitor.c' || echo '$(srcdir)/'`concurrency/monitor.c
-
-concurrency/libcfa_a-monitor.obj: concurrency/monitor.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT concurrency/libcfa_a-monitor.obj -MD -MP -MF concurrency/$(DEPDIR)/libcfa_a-monitor.Tpo -c -o concurrency/libcfa_a-monitor.obj `if test -f 'concurrency/monitor.c'; then $(CYGPATH_W) 'concurrency/monitor.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/monitor.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) concurrency/$(DEPDIR)/libcfa_a-monitor.Tpo concurrency/$(DEPDIR)/libcfa_a-monitor.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='concurrency/monitor.c' object='concurrency/libcfa_a-monitor.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o concurrency/libcfa_a-monitor.obj `if test -f 'concurrency/monitor.c'; then $(CYGPATH_W) 'concurrency/monitor.c'; else $(CYGPATH_W) '$(srcdir)/concurrency/monitor.c'; fi`
-
 libcfa_a-exception.obj: exception.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-exception.obj -MD -MP -MF $(DEPDIR)/libcfa_a-exception.Tpo -c -o libcfa_a-exception.obj `if test -f 'exception.c'; then $(CYGPATH_W) 'exception.c'; else $(CYGPATH_W) '$(srcdir)/exception.c'; fi`
@@ -1228,4 +1213,11 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-exception.obj `if test -f 'exception.c'; then $(CYGPATH_W) 'exception.c'; else $(CYGPATH_W) '$(srcdir)/exception.c'; fi`
+
+libcfa_a-virtual.obj: virtual.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -MT libcfa_a-virtual.obj -MD -MP -MF $(DEPDIR)/libcfa_a-virtual.Tpo -c -o libcfa_a-virtual.obj `if test -f 'virtual.c'; then $(CYGPATH_W) 'virtual.c'; else $(CYGPATH_W) '$(srcdir)/virtual.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcfa_a-virtual.Tpo $(DEPDIR)/libcfa_a-virtual.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='virtual.c' object='libcfa_a-virtual.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcfa_a_CFLAGS) $(CFLAGS) -c -o libcfa_a-virtual.obj `if test -f 'virtual.c'; then $(CYGPATH_W) 'virtual.c'; else $(CYGPATH_W) '$(srcdir)/virtual.c'; fi`
 
 concurrency/libcfa_a-alarm.o: concurrency/alarm.c
@@ -1521,8 +1513,14 @@
 	${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -O2 ${EXTRA_FLAGS} -c -o $@ $<
 
+libcfa_a-virtual.o : virtual.c
+	${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -O2 ${EXTRA_FLAGS} -c -o $@ $<
+
 concurrency/libcfa_d_a-invoke.o : concurrency/invoke.c
 	${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -D__CFA_DEBUG__ -O0 ${EXTRA_FLAGS} -c -o $@ $<
 
 libcfa_d_a-exception.o : exception.c
+	${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -D__CFA_DEBUG__ -O0 ${EXTRA_FLAGS} -c -o $@ $<
+
+libcfa_d_a-virtual.o : virtual.c
 	${AM_V_CC}@BACKEND_CC@ -DHAVE_CONFIG_H -I. -I../.. -D__CFA_DEBUG__ -O0 ${EXTRA_FLAGS} -c -o $@ $<
 
Index: src/libcfa/assert
===================================================================
--- src/libcfa/assert	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ 	(revision )
@@ -1,44 +1,0 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// assert --
-//
-// Author           : Thierry Delisle
-// Created On       : Mon Nov 28 12:27:26 2016
-// Last Modified By : Thierry Delisle
-// Last Modified On : Mon Nov 28 12:27:26 2016
-// Update Count     : 0
-//
-
-#ifndef __ASSERT_H__
-#define __ASSERT_H__
-
-#ifdef __CFORALL__
-extern "C" {
-#endif //__CFORALL__
-
-	#include <assert.h>
-
-	#ifdef NDEBUG
-		#define assertf(expr, fmt, ...) ((void)0)
-	#else
-		#define __STRINGIFY__(str) #str
-		#define __VSTRINGIFY__(str) __STRINGIFY__(str)
-		#define assertf(expr, fmt, ...) ((expr) ? ((void)0) : __assert_fail_f(__VSTRINGIFY__(expr), __FILE__, __LINE__, __PRETTY_FUNCTION__, fmt, ## __VA_ARGS__ ))
-
-		void __assert_fail_f( const char *assertion, const char *file, unsigned int line, const char *function, const char *fmt, ... ) __attribute__((noreturn));
-	#endif
-	
-#ifdef __CFORALL__
-} // extern "C"
-#endif //__CFORALL__
-
-#endif // __ASSERT_H__
-
-// Local Variables: //
-// mode: c //
-// tab-width: 4 //
-// End: //
Index: src/libcfa/assert.c
===================================================================
--- src/libcfa/assert.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/assert.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -9,18 +9,15 @@
 // Author           : Thierry Delisle
 // Created On       : Mon Nov 28 12:27:26 2016
-// Last Modified By : Thierry Delisle
-// Last Modified On : Mon Nov 28 12:27:26 2016
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Jul 20 15:10:26 2017
+// Update Count     : 2
 //
 
-#include "assert"
-#include "stdlib"										// abort
-
+#include <assert.h>
+#include <stdarg.h>								// varargs
+#include <stdio.h>								// fprintf
 #include "libhdr/libdebug.h"
 
 extern "C" {
-	#include <stdarg.h>								// varargs
-	#include <stdio.h>								// fprintf
-
 	extern const char * __progname;						// global name of running executable (argv[0])
 
@@ -47,5 +44,4 @@
 		abort();
 	}
-
 }
 
Index: src/libcfa/concurrency/CtxSwitch-i386.S
===================================================================
--- src/libcfa/concurrency/CtxSwitch-i386.S	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/CtxSwitch-i386.S	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                               -*- Mode: Asm -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Tue Dec 6 12:27:26 2016
-// Last Modified By : Thierry Delisle
-// Last Modified On : Tue Dec 6 12:27:26 2016
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 22:29:25 2017
+// Update Count     : 1
 //
 // This  library is free  software; you  can redistribute  it and/or  modify it
@@ -99,4 +98,5 @@
 
 // Local Variables: //
-// compile-command: "make install" //
+// mode: c //
+// tab-width: 4 //
 // End: //
Index: src/libcfa/concurrency/CtxSwitch-x86_64.S
===================================================================
--- src/libcfa/concurrency/CtxSwitch-x86_64.S	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/CtxSwitch-x86_64.S	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                               -*- Mode: Asm -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Mon Nov 28 12:27:26 2016
-// Last Modified By : Thierry Delisle
-// Last Modified On : Mon Nov 28 12:27:26 2016
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 22:28:11 2017
+// Update Count     : 1
 //
 // This  library is free  software; you  can redistribute  it and/or  modify it
Index: src/libcfa/concurrency/alarm.c
===================================================================
--- src/libcfa/concurrency/alarm.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/alarm.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Fri Jun 2 11:31:25 2017
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 22:35:18 2017
+// Update Count     : 1
 //
 
@@ -31,4 +30,42 @@
 
 //=============================================================================================
+// time type
+//=============================================================================================
+
+#define one_second         1_000_000_000ul
+#define one_milisecond         1_000_000ul
+#define one_microsecond            1_000ul
+#define one_nanosecond                 1ul
+
+__cfa_time_t zero_time = { 0 };
+
+void ?{}( __cfa_time_t & this ) { this.val = 0; }
+void ?{}( __cfa_time_t & this, zero_t zero ) { this.val = 0; }
+
+void ?{}( itimerval & this, __cfa_time_t * alarm ) {
+	this.it_value.tv_sec = alarm->val / one_second;			// seconds
+	this.it_value.tv_usec = max( (alarm->val % one_second) / one_microsecond, 1000 ); // microseconds
+	this.it_interval.tv_sec = 0;
+	this.it_interval.tv_usec = 0;
+}
+
+
+void ?{}( __cfa_time_t & this, timespec * curr ) {
+	uint64_t secs  = curr->tv_sec;
+	uint64_t nsecs = curr->tv_nsec;
+	this.val = (secs * one_second) + nsecs;
+}
+
+__cfa_time_t ?=?( __cfa_time_t & this, zero_t rhs ) {
+	this.val = 0;
+	return this;
+}
+
+__cfa_time_t from_s ( uint64_t val ) { __cfa_time_t ret; ret.val = val * 1_000_000_000ul; return ret; }
+__cfa_time_t from_ms( uint64_t val ) { __cfa_time_t ret; ret.val = val *     1_000_000ul; return ret; }
+__cfa_time_t from_us( uint64_t val ) { __cfa_time_t ret; ret.val = val *         1_000ul; return ret; }
+__cfa_time_t from_ns( uint64_t val ) { __cfa_time_t ret; ret.val = val *             1ul; return ret; }
+
+//=============================================================================================
 // Clock logic
 //=============================================================================================
@@ -37,16 +74,9 @@
 	timespec curr;
 	clock_gettime( CLOCK_REALTIME, &curr );
-	__cfa_time_t curr_time = ((__cfa_time_t)curr.tv_sec * TIMEGRAN) + curr.tv_nsec;
-	// LIB_DEBUG_PRINT_BUFFER_DECL( STDERR_FILENO, "Kernel : current time is %lu\n", curr_time );
-	return curr_time;
+	return (__cfa_time_t){ &curr };
 }
 
 void __kernel_set_timer( __cfa_time_t alarm ) {
-	LIB_DEBUG_PRINT_BUFFER_DECL( STDERR_FILENO, "Kernel : set timer to %lu\n", (__cfa_time_t)alarm );
-	itimerval val;
-	val.it_value.tv_sec = alarm / TIMEGRAN;			// seconds
-	val.it_value.tv_usec = (alarm % TIMEGRAN) / ( TIMEGRAN / 1_000_000L ); // microseconds
-	val.it_interval.tv_sec = 0;
-	val.it_interval.tv_usec = 0;
+	itimerval val = { &alarm };
 	setitimer( ITIMER_REAL, &val, NULL );
 }
@@ -56,5 +86,5 @@
 //=============================================================================================
 
-void ?{}( alarm_node_t & this, thread_desc * thrd, __cfa_time_t alarm = 0, __cfa_time_t period = 0 ) {
+void ?{}( alarm_node_t & this, thread_desc * thrd, __cfa_time_t alarm = zero_time, __cfa_time_t period = zero_time ) {
 	this.thrd = thrd;
 	this.alarm = alarm;
@@ -65,5 +95,5 @@
 }
 
-void ?{}( alarm_node_t & this, processor   * proc, __cfa_time_t alarm = 0, __cfa_time_t period = 0 ) {
+void ?{}( alarm_node_t & this, processor   * proc, __cfa_time_t alarm = zero_time, __cfa_time_t period = zero_time ) {
 	this.proc = proc;
 	this.alarm = alarm;
@@ -153,20 +183,18 @@
 
 void register_self( alarm_node_t * this ) {
+	alarm_list_t * alarms = &event_kernel->alarms;
+
 	disable_interrupts();
-	verify( !systemProcessor->pending_alarm );
-	lock( &systemProcessor->alarm_lock DEBUG_CTX2 );
+	lock( &event_kernel->lock DEBUG_CTX2 );
 	{
-		verify( validate( &systemProcessor->alarms ) );
-		bool first = !systemProcessor->alarms.head;
-
-		insert( &systemProcessor->alarms, this );
-		if( systemProcessor->pending_alarm ) {
-			tick_preemption();
+		verify( validate( alarms ) );
+		bool first = !alarms->head;
+
+		insert( alarms, this );
+		if( first ) {
+			__kernel_set_timer( alarms->head->alarm - __kernel_get_time() );
 		}
-		if( first ) {
-			__kernel_set_timer( systemProcessor->alarms.head->alarm - __kernel_get_time() );
-		}
-	}
-	unlock( &systemProcessor->alarm_lock );
+	}
+	unlock( &event_kernel->lock );
 	this->set = true;
 	enable_interrupts( DEBUG_CTX );
@@ -174,14 +202,17 @@
 
 void unregister_self( alarm_node_t * this ) {
-	// LIB_DEBUG_PRINT_BUFFER_DECL( STDERR_FILENO, "Kernel : unregister %p start\n", this );
 	disable_interrupts();
-	lock( &systemProcessor->alarm_lock DEBUG_CTX2 );
+	lock( &event_kernel->lock DEBUG_CTX2 );
 	{
-		verify( validate( &systemProcessor->alarms ) );
-		remove( &systemProcessor->alarms, this );
-	}
-	unlock( &systemProcessor->alarm_lock );
+		verify( validate( &event_kernel->alarms ) );
+		remove( &event_kernel->alarms, this );
+	}
+	unlock( &event_kernel->lock );
 	enable_interrupts( DEBUG_CTX );
 	this->set = false;
-	// LIB_DEBUG_PRINT_BUFFER_LOCAL( STDERR_FILENO, "Kernel : unregister %p end\n", this );
-}
+}
+
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: src/libcfa/concurrency/alarm.h
===================================================================
--- src/libcfa/concurrency/alarm.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/alarm.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,26 +9,76 @@
 // Author           : Thierry Delisle
 // Created On       : Fri Jun 2 11:31:25 2017
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Jul 22 09:59:27 2017
+// Update Count     : 3
 //
 
-#ifndef ALARM_H
-#define ALARM_H
+#pragma once
 
 #include <stdbool.h>
+#include <stdint.h>
 
-#include "assert"
-
-typedef unsigned long int __cfa_time_t;
+#include <assert.h>
 
 struct thread_desc;
 struct processor;
 
+struct timespec;
+struct itimerval;
+
+//=============================================================================================
+// time type
+//=============================================================================================
+
+struct __cfa_time_t {
+	uint64_t val;
+};
+
+// ctors
+void ?{}( __cfa_time_t & this );
+void ?{}( __cfa_time_t & this, zero_t zero );
+void ?{}( __cfa_time_t & this, timespec * curr );
+void ?{}( itimerval & this, __cfa_time_t * alarm );
+
+__cfa_time_t ?=?( __cfa_time_t & this, zero_t rhs );
+
+// logical ops
+static inline bool ?==?( __cfa_time_t lhs, __cfa_time_t rhs ) { return lhs.val == rhs.val; }
+static inline bool ?!=?( __cfa_time_t lhs, __cfa_time_t rhs ) { return lhs.val != rhs.val; }
+static inline bool ?>? ( __cfa_time_t lhs, __cfa_time_t rhs ) { return lhs.val >  rhs.val; }
+static inline bool ?<? ( __cfa_time_t lhs, __cfa_time_t rhs ) { return lhs.val <  rhs.val; }
+static inline bool ?>=?( __cfa_time_t lhs, __cfa_time_t rhs ) { return lhs.val >= rhs.val; }
+static inline bool ?<=?( __cfa_time_t lhs, __cfa_time_t rhs ) { return lhs.val <= rhs.val; }
+
+static inline bool ?==?( __cfa_time_t lhs, zero_t rhs ) { return lhs.val == rhs; }
+static inline bool ?!=?( __cfa_time_t lhs, zero_t rhs ) { return lhs.val != rhs; }
+static inline bool ?>? ( __cfa_time_t lhs, zero_t rhs ) { return lhs.val >  rhs; }
+static inline bool ?<? ( __cfa_time_t lhs, zero_t rhs ) { return lhs.val <  rhs; }
+static inline bool ?>=?( __cfa_time_t lhs, zero_t rhs ) { return lhs.val >= rhs; }
+static inline bool ?<=?( __cfa_time_t lhs, zero_t rhs ) { return lhs.val <= rhs; }
+
+// addition/substract
+static inline __cfa_time_t ?+?( __cfa_time_t lhs, __cfa_time_t rhs ) {
+	__cfa_time_t ret;
+	ret.val = lhs.val + rhs.val;
+	return ret;
+}
+
+static inline __cfa_time_t ?-?( __cfa_time_t lhs, __cfa_time_t rhs ) {
+	__cfa_time_t ret;
+	ret.val = lhs.val - rhs.val;
+	return ret;
+}
+
+__cfa_time_t from_s ( uint64_t );
+__cfa_time_t from_ms( uint64_t );
+__cfa_time_t from_us( uint64_t );
+__cfa_time_t from_ns( uint64_t );
+
+extern __cfa_time_t zero_time;
+
 //=============================================================================================
 // Clock logic
 //=============================================================================================
-
-#define TIMEGRAN 1_000_000_000L				// nanosecond granularity, except for timeval
 
 __cfa_time_t __kernel_get_time();
@@ -56,6 +105,6 @@
 typedef alarm_node_t ** __alarm_it_t;
 
-void ?{}( alarm_node_t & this, thread_desc * thrd, __cfa_time_t alarm = 0, __cfa_time_t period = 0 );
-void ?{}( alarm_node_t & this, processor   * proc, __cfa_time_t alarm = 0, __cfa_time_t period = 0 );
+void ?{}( alarm_node_t & this, thread_desc * thrd, __cfa_time_t alarm = zero_time, __cfa_time_t period = zero_time );
+void ?{}( alarm_node_t & this, processor   * proc, __cfa_time_t alarm = zero_time, __cfa_time_t period = zero_time );
 void ^?{}( alarm_node_t & this );
 
@@ -76,8 +125,6 @@
 void unregister_self( alarm_node_t * this );
 
-#endif
-
 // Local Variables: //
-// mode: CFA //
+// mode: c //
 // tab-width: 6 //
 // End: //
Index: src/libcfa/concurrency/coroutine
===================================================================
--- src/libcfa/concurrency/coroutine	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/coroutine	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -10,13 +10,12 @@
 // Author           : Thierry Delisle
 // Created On       : Mon Nov 28 12:27:26 2016
-// Last Modified By : Thierry Delisle
-// Last Modified On : Mon Nov 28 12:27:26 2016
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Jul 22 09:57:17 2017
+// Update Count     : 2
 //
 
-#ifndef COROUTINES_H
-#define COROUTINES_H
+#pragma once
 
-#include "assert"
+#include <assert.h>
 #include "invoke.h"
 
@@ -63,5 +62,5 @@
 
 // Get current coroutine
-extern volatile thread_local coroutine_desc * this_coroutine;
+extern thread_local coroutine_desc * volatile this_coroutine;
 
 // Private wrappers for context switch and stack creation
@@ -129,6 +128,4 @@
 }
 
-#endif //COROUTINES_H
-
 // Local Variables: //
 // mode: c //
Index: src/libcfa/concurrency/coroutine.c
===================================================================
--- src/libcfa/concurrency/coroutine.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/coroutine.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Mon Nov 28 12:27:26 2016
-// Last Modified By : Thierry Delisle
-// Last Modified On : Mon Nov 28 12:27:26 2016
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 22:34:57 2017
+// Update Count     : 1
 //
 
@@ -26,11 +25,9 @@
 }
 
-#include "kernel"
-#include "libhdr.h"
+#include "kernel_private.h"
 
 #define __CFA_INVOKE_PRIVATE__
 #include "invoke.h"
 
-extern volatile thread_local processor * this_processor;
 
 //-----------------------------------------------------------------------------
Index: src/libcfa/concurrency/invoke.c
===================================================================
--- src/libcfa/concurrency/invoke.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/invoke.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: C -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Tue Jan 17 12:27:26 2016
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 22:28:33 2017
+// Update Count     : 1
 //
 
@@ -142,2 +141,7 @@
 #endif
 }
+
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: src/libcfa/concurrency/invoke.h
===================================================================
--- src/libcfa/concurrency/invoke.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/invoke.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: C -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Tue Jan 17 12:27:26 2016
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 22:28:56 2017
+// Update Count     : 1
 //
 
@@ -130,2 +129,7 @@
 }
 #endif
+
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: src/libcfa/concurrency/kernel
===================================================================
--- src/libcfa/concurrency/kernel	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/kernel	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,11 +9,10 @@
 // Author           : Thierry Delisle
 // Created On       : Tue Jan 17 12:27:26 2017
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Jul 22 09:58:39 2017
+// Update Count     : 2
 //
 
-#ifndef KERNEL_H
-#define KERNEL_H
+#pragma once
 
 #include <stdbool.h>
@@ -28,8 +26,8 @@
 //-----------------------------------------------------------------------------
 // Locks
-bool try_lock  ( spinlock * DEBUG_CTX_PARAM2 );
-void lock      ( spinlock * DEBUG_CTX_PARAM2 );
-void lock_yield( spinlock * DEBUG_CTX_PARAM2 );
-void unlock    ( spinlock * );
+void lock      ( spinlock * DEBUG_CTX_PARAM2 );       // Lock the spinlock, spin if already acquired
+void lock_yield( spinlock * DEBUG_CTX_PARAM2 );       // Lock the spinlock, yield repeatedly if already acquired
+bool try_lock  ( spinlock * DEBUG_CTX_PARAM2 );       // Lock the spinlock, return false if already acquired
+void unlock    ( spinlock * );                        // Unlock the spinlock
 
 struct semaphore {
@@ -48,6 +46,7 @@
 // Cluster
 struct cluster {
-	__thread_queue_t ready_queue;
-	spinlock lock;
+	spinlock ready_queue_lock;                      // Ready queue locks
+	__thread_queue_t ready_queue;                   // Ready queue for threads
+	unsigned long long int preemption;              // Preemption rate on this cluster
 };
 
@@ -76,20 +75,26 @@
 static inline void ^?{}(FinishAction & this) {}
 
+// Processor
+// Wrapper around kernel threads
 struct processor {
-	struct processorCtx_t * runner;
-	cluster * cltr;
-	pthread_t kernel_thread;
+	// Main state
+	struct processorCtx_t * runner;                 // Coroutine ctx who does keeps the state of the processor
+	cluster * cltr;                                 // Cluster from which to get threads
+	pthread_t kernel_thread;                        // Handle to pthreads
 
-	semaphore terminated;
-	volatile bool is_terminated;
+	// Termination
+	volatile bool do_terminate;                     // Set to true to notify the processor should terminate
+	semaphore terminated;                           // Termination synchronisation
 
-	struct FinishAction finish;
+	// RunThread data
+	struct FinishAction finish;                     // Action to do after a thread is ran
 
-	struct alarm_node_t * preemption_alarm;
-	unsigned int preemption;
+	// Preemption data
+	struct alarm_node_t * preemption_alarm;         // Node which is added in the discrete event simulaiton
+	bool pending_preemption;                        // If true, a preemption was triggered in an unsafe region, the processor must preempt as soon as possible
 
-	bool pending_preemption;
-
-	char * last_enable;
+#ifdef __CFA_DEBUG__
+	char * last_enable;                             // Last function to enable preemption on this processor
+#endif
 };
 
@@ -98,8 +103,6 @@
 void ^?{}(processor & this);
 
-#endif //KERNEL_H
-
 // Local Variables: //
-// mode: CFA //
-// tab-width: 6 //
+// mode: c //
+// tab-width: 4 //
 // End: //
Index: src/libcfa/concurrency/kernel.c
===================================================================
--- src/libcfa/concurrency/kernel.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/kernel.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Tue Jan 17 12:27:26 2017
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 22:33:18 2017
+// Update Count     : 2
 //
 
@@ -42,14 +41,12 @@
 //-----------------------------------------------------------------------------
 // Kernel storage
-#define KERNEL_STORAGE(T,X) static char X##Storage[sizeof(T)]
-
-KERNEL_STORAGE(processorCtx_t, systemProcessorCtx);
-KERNEL_STORAGE(cluster, systemCluster);
-KERNEL_STORAGE(system_proc_t, systemProcessor);
-KERNEL_STORAGE(thread_desc, mainThread);
+KERNEL_STORAGE(cluster,           mainCluster);
+KERNEL_STORAGE(processor,         mainProcessor);
+KERNEL_STORAGE(processorCtx_t,    mainProcessorCtx);
+KERNEL_STORAGE(thread_desc,       mainThread);
 KERNEL_STORAGE(machine_context_t, mainThreadCtx);
 
-cluster * systemCluster;
-system_proc_t * systemProcessor;
+cluster *     mainCluster;
+processor *   mainProcessor;
 thread_desc * mainThread;
 
@@ -57,7 +54,8 @@
 // Global state
 
-volatile thread_local processor * this_processor;
-volatile thread_local coroutine_desc * this_coroutine;
-volatile thread_local thread_desc * this_thread;
+thread_local coroutine_desc * volatile this_coroutine;
+thread_local thread_desc *    volatile this_thread;
+thread_local processor *      volatile this_processor;
+
 volatile thread_local bool preemption_in_progress = 0;
 volatile thread_local unsigned short disable_preempt_count = 1;
@@ -85,5 +83,5 @@
 
 	this.limit = (void *)(((intptr_t)this.base) - this.size);
-	this.context = &mainThreadCtxStorage;
+	this.context = &storage_mainThreadCtx;
 	this.top = this.base;
 }
@@ -125,5 +123,5 @@
 
 void ?{}(processor & this) {
-	this{ systemCluster };
+	this{ mainCluster };
 }
 
@@ -131,7 +129,6 @@
 	this.cltr = cltr;
 	(this.terminated){ 0 };
-	this.is_terminated = false;
+	this.do_terminate = false;
 	this.preemption_alarm = NULL;
-	this.preemption = default_preemption();
 	this.pending_preemption = false;
 
@@ -142,31 +139,18 @@
 	this.cltr = cltr;
 	(this.terminated){ 0 };
-	this.is_terminated = false;
+	this.do_terminate = false;
 	this.preemption_alarm = NULL;
-	this.preemption = default_preemption();
 	this.pending_preemption = false;
 	this.kernel_thread = pthread_self();
 
 	this.runner = &runner;
-	LIB_DEBUG_PRINT_SAFE("Kernel : constructing system processor context %p\n", &runner);
+	LIB_DEBUG_PRINT_SAFE("Kernel : constructing main processor context %p\n", &runner);
 	runner{ &this };
 }
 
-LIB_DEBUG_DO( bool validate( alarm_list_t * this ); )
-
-void ?{}(system_proc_t & this, cluster * cltr, processorCtx_t & runner) {
-	(this.alarms){};
-	(this.alarm_lock){};
-	this.pending_alarm = false;
-
-	(this.proc){ cltr, runner };
-
-	verify( validate( &this.alarms ) );
-}
-
 void ^?{}(processor & this) {
-	if( ! this.is_terminated ) {
+	if( ! this.do_terminate ) {
 		LIB_DEBUG_PRINT_SAFE("Kernel : core %p signaling termination\n", &this);
-		this.is_terminated = true;
+		this.do_terminate = true;
 		P( &this.terminated );
 		pthread_join( this.kernel_thread, NULL );
@@ -176,5 +160,7 @@
 void ?{}(cluster & this) {
 	( this.ready_queue ){};
-	( this.lock ){};
+	( this.ready_queue_lock ){};
+
+	this.preemption = default_preemption();
 }
 
@@ -199,5 +185,5 @@
 
 		thread_desc * readyThread = NULL;
-		for( unsigned int spin_count = 0; ! this->is_terminated; spin_count++ )
+		for( unsigned int spin_count = 0; ! this->do_terminate; spin_count++ )
 		{
 			readyThread = nextThread( this->cltr );
@@ -343,7 +329,7 @@
 	verifyf( thrd->next == NULL, "Expected null got %p", thrd->next );
 
-	lock( &systemProcessor->proc.cltr->lock DEBUG_CTX2 );
-	append( &systemProcessor->proc.cltr->ready_queue, thrd );
-	unlock( &systemProcessor->proc.cltr->lock );
+	lock(   &this_processor->cltr->ready_queue_lock DEBUG_CTX2 );
+	append( &this_processor->cltr->ready_queue, thrd );
+	unlock( &this_processor->cltr->ready_queue_lock );
 
 	verify( disable_preempt_count > 0 );
@@ -352,7 +338,7 @@
 thread_desc * nextThread(cluster * this) {
 	verify( disable_preempt_count > 0 );
-	lock( &this->lock DEBUG_CTX2 );
+	lock( &this->ready_queue_lock DEBUG_CTX2 );
 	thread_desc * head = pop_head( &this->ready_queue );
-	unlock( &this->lock );
+	unlock( &this->ready_queue_lock );
 	verify( disable_preempt_count > 0 );
 	return head;
@@ -452,6 +438,6 @@
 	// Start by initializing the main thread
 	// SKULLDUGGERY: the mainThread steals the process main thread
-	// which will then be scheduled by the systemProcessor normally
-	mainThread = (thread_desc *)&mainThreadStorage;
+	// which will then be scheduled by the mainProcessor normally
+	mainThread = (thread_desc *)&storage_mainThread;
 	current_stack_info_t info;
 	(*mainThread){ &info };
@@ -459,32 +445,31 @@
 	LIB_DEBUG_PRINT_SAFE("Kernel : Main thread ready\n");
 
-	// Initialize the system cluster
-	systemCluster = (cluster *)&systemClusterStorage;
-	(*systemCluster){};
-
-	LIB_DEBUG_PRINT_SAFE("Kernel : System cluster ready\n");
-
-	// Initialize the system processor and the system processor ctx
+	// Initialize the main cluster
+	mainCluster = (cluster *)&storage_mainCluster;
+	(*mainCluster){};
+
+	LIB_DEBUG_PRINT_SAFE("Kernel : main cluster ready\n");
+
+	// Initialize the main processor and the main processor ctx
 	// (the coroutine that contains the processing control flow)
-	systemProcessor = (system_proc_t *)&systemProcessorStorage;
-	(*systemProcessor){ systemCluster, *(processorCtx_t *)&systemProcessorCtxStorage };
-
-	// Add the main thread to the ready queue
-	// once resume is called on systemProcessor->runner the mainThread needs to be scheduled like any normal thread
-	ScheduleThread(mainThread);
+	mainProcessor = (processor *)&storage_mainProcessor;
+	(*mainProcessor){ mainCluster, *(processorCtx_t *)&storage_mainProcessorCtx };
 
 	//initialize the global state variables
-	this_processor = &systemProcessor->proc;
+	this_processor = mainProcessor;
 	this_thread = mainThread;
 	this_coroutine = &mainThread->cor;
-	disable_preempt_count = 1;
 
 	// Enable preemption
 	kernel_start_preemption();
 
-	// SKULLDUGGERY: Force a context switch to the system processor to set the main thread's context to the current UNIX
+	// Add the main thread to the ready queue
+	// once resume is called on mainProcessor->runner the mainThread needs to be scheduled like any normal thread
+	ScheduleThread(mainThread);
+
+	// SKULLDUGGERY: Force a context switch to the main processor to set the main thread's context to the current UNIX
 	// context. Hence, the main thread does not begin through CtxInvokeThread, like all other threads. The trick here is that
 	// mainThread is on the ready queue when this call is made.
-	resume( *systemProcessor->proc.runner );
+	resume( *mainProcessor->runner );
 
 
@@ -501,8 +486,8 @@
 	disable_interrupts();
 
-	// SKULLDUGGERY: Notify the systemProcessor it needs to terminates.
+	// SKULLDUGGERY: Notify the mainProcessor it needs to terminates.
 	// When its coroutine terminates, it return control to the mainThread
 	// which is currently here
-	systemProcessor->proc.is_terminated = true;
+	mainProcessor->do_terminate = true;
 	suspend();
 
@@ -512,8 +497,8 @@
 	kernel_stop_preemption();
 
-	// Destroy the system processor and its context in reverse order of construction
+	// Destroy the main processor and its context in reverse order of construction
 	// These were manually constructed so we need manually destroy them
-	^(*systemProcessor->proc.runner){};
-	^(systemProcessor){};
+	^(*mainProcessor->runner){};
+	^(mainProcessor){};
 
 	// Final step, destroy the main thread since it is no longer needed
@@ -699,4 +684,5 @@
 	return top;
 }
+
 // Local Variables: //
 // mode: c //
Index: src/libcfa/concurrency/kernel_private.h
===================================================================
--- src/libcfa/concurrency/kernel_private.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/kernel_private.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,11 +9,10 @@
 // Author           : Thierry Delisle
 // Created On       : Mon Feb 13 12:27:26 2017
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Jul 22 09:58:09 2017
+// Update Count     : 2
 //
 
-#ifndef KERNEL_PRIVATE_H
-#define KERNEL_PRIVATE_H
+#pragma once
 
 #include "libhdr.h"
@@ -31,5 +29,5 @@
 extern "C" {
 	void disable_interrupts();
-	void enable_interrupts_noRF();
+	void enable_interrupts_noPoll();
 	void enable_interrupts( DEBUG_CTX_PARAM );
 }
@@ -45,4 +43,5 @@
 thread_desc * nextThread(cluster * this);
 
+//Block current thread and release/wake-up the following resources
 void BlockInternal(void);
 void BlockInternal(spinlock * lock);
@@ -65,18 +64,15 @@
 void spin(processor * this, unsigned int * spin_count);
 
-struct system_proc_t {
-	processor proc;
-
+struct event_kernel_t {
 	alarm_list_t alarms;
-	spinlock alarm_lock;
-
-	bool pending_alarm;
+	spinlock lock;
 };
 
-extern cluster * systemCluster;
-extern system_proc_t * systemProcessor;
-extern volatile thread_local processor * this_processor;
-extern volatile thread_local coroutine_desc * this_coroutine;
-extern volatile thread_local thread_desc * this_thread;
+extern event_kernel_t * event_kernel;
+
+extern thread_local coroutine_desc * volatile this_coroutine;
+extern thread_local thread_desc *    volatile this_thread;
+extern thread_local processor *      volatile this_processor;
+
 extern volatile thread_local bool preemption_in_progress;
 extern volatile thread_local unsigned short disable_preempt_count;
@@ -91,5 +87,7 @@
 extern void ThreadCtxSwitch(coroutine_desc * src, coroutine_desc * dst);
 
-#endif //KERNEL_PRIVATE_H
+//-----------------------------------------------------------------------------
+// Utils
+#define KERNEL_STORAGE(T,X) static char storage_##X[sizeof(T)]
 
 // Local Variables: //
Index: src/libcfa/concurrency/monitor
===================================================================
--- src/libcfa/concurrency/monitor	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/monitor	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,15 +9,14 @@
 // Author           : Thierry Delisle
 // Created On       : Thd Feb 23 12:27:26 2017
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Jul 22 09:59:01 2017
+// Update Count     : 3
 //
 
-#ifndef MONITOR_H
-#define MONITOR_H
+#pragma once
 
 #include <stddef.h>
 
-#include "assert"
+#include <assert.h>
 #include "invoke.h"
 #include "stdlib"
@@ -99,3 +97,6 @@
 void __accept_internal( unsigned short count, __acceptable_t * acceptables, void (*func)(void) );
 
-#endif //MONITOR_H
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: src/libcfa/concurrency/monitor.c
===================================================================
--- src/libcfa/concurrency/monitor.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/monitor.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Thd Feb 23 12:27:26 2017
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon Jul 31 14:59:05 2017
+// Update Count     : 3
 //
 
@@ -485,5 +484,5 @@
 	if( !this->monitors ) {
 		// LIB_DEBUG_PRINT_SAFE("Branding\n");
-		assertf( thrd->current_monitors != NULL, "No current monitor to brand condition", thrd->current_monitors );
+		assertf( thrd->current_monitors != NULL, "No current monitor to brand condition %p", thrd->current_monitors );
 		this->monitor_count = thrd->current_monitor_count;
 
@@ -528,2 +527,7 @@
 	return head;
 }
+
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: src/libcfa/concurrency/preemption.c
===================================================================
--- src/libcfa/concurrency/preemption.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/preemption.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Mon Jun 5 14:20:42 2017
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 22:36:05 2017
+// Update Count     : 2
 //
 
@@ -34,24 +33,32 @@
 #endif
 
+//TODO move to defaults
 #define __CFA_DEFAULT_PREEMPTION__ 10000
 
+//TODO move to defaults
 __attribute__((weak)) unsigned int default_preemption() {
 	return __CFA_DEFAULT_PREEMPTION__;
 }
 
+// Short hands for signal context information
 #define __CFA_SIGCXT__ ucontext_t *
 #define __CFA_SIGPARMS__ __attribute__((unused)) int sig, __attribute__((unused)) siginfo_t *sfp, __attribute__((unused)) __CFA_SIGCXT__ cxt
 
+// FwdDeclarations : timeout handlers
 static void preempt( processor   * this );
 static void timeout( thread_desc * this );
 
+// FwdDeclarations : Signal handlers
 void sigHandler_ctxSwitch( __CFA_SIGPARMS__ );
-void sigHandler_alarm    ( __CFA_SIGPARMS__ );
 void sigHandler_segv     ( __CFA_SIGPARMS__ );
 void sigHandler_abort    ( __CFA_SIGPARMS__ );
 
+// FwdDeclarations : sigaction wrapper
 static void __kernel_sigaction( int sig, void (*handler)(__CFA_SIGPARMS__), int flags );
-LIB_DEBUG_DO( bool validate( alarm_list_t * this ); )
-
+
+// FwdDeclarations : alarm thread main
+void * alarm_loop( __attribute__((unused)) void * args );
+
+// Machine specific register name
 #ifdef __x86_64__
 #define CFA_REG_IP REG_RIP
@@ -60,4 +67,12 @@
 #endif
 
+KERNEL_STORAGE(event_kernel_t, event_kernel);         // private storage for event kernel
+event_kernel_t * event_kernel;                        // kernel public handle to even kernel
+static pthread_t alarm_thread;                        // pthread handle to alarm thread
+
+void ?{}(event_kernel_t & this) {
+	(this.alarms){};
+	(this.lock){};
+}
 
 //=============================================================================================
@@ -65,13 +80,21 @@
 //=============================================================================================
 
+// Get next expired node
+static inline alarm_node_t * get_expired( alarm_list_t * alarms, __cfa_time_t currtime ) {
+	if( !alarms->head ) return NULL;                          // If no alarms return null
+	if( alarms->head->alarm >= currtime ) return NULL;        // If alarms head not expired return null
+	return pop(alarms);                                       // Otherwise just pop head
+}
+
+// Tick one frame of the Discrete Event Simulation for alarms
 void tick_preemption() {
-	// LIB_DEBUG_PRINT_BUFFER_DECL( STDERR_FILENO, "Ticking preemption\n" );
-
-	alarm_list_t * alarms = &systemProcessor->alarms;
-	__cfa_time_t currtime = __kernel_get_time();
-	while( alarms->head && alarms->head->alarm < currtime ) {
-		alarm_node_t * node = pop(alarms);
-		// LIB_DEBUG_PRINT_BUFFER_LOCAL( STDERR_FILENO, "Ticking %p\n", node );
-
+	alarm_node_t * node = NULL;                     // Used in the while loop but cannot be declared in the while condition
+	alarm_list_t * alarms = &event_kernel->alarms;  // Local copy for ease of reading
+	__cfa_time_t currtime = __kernel_get_time();    // Check current time once so we everything "happens at once"
+
+	//Loop throught every thing expired
+	while( node = get_expired( alarms, currtime ) ) {
+
+		// Check if this is a kernel
 		if( node->kernel_alarm ) {
 			preempt( node->proc );
@@ -81,28 +104,22 @@
 		}
 
-		verify( validate( alarms ) );
-
-		if( node->period > 0 ) {
-			node->alarm = currtime + node->period;
-			insert( alarms, node );
+		// Check if this is a periodic alarm
+		__cfa_time_t period = node->period;
+		if( period > 0 ) {
+			node->alarm = currtime + period;    // Alarm is periodic, add currtime to it (used cached current time)
+			insert( alarms, node );             // Reinsert the node for the next time it triggers
 		}
 		else {
-			node->set = false;
-		}
-	}
-
-	if( alarms->head ) {
-		__kernel_set_timer( alarms->head->alarm - currtime );
-	}
-
-	verify( validate( alarms ) );
-	// LIB_DEBUG_PRINT_BUFFER_LOCAL( STDERR_FILENO, "Ticking preemption done\n" );
-}
-
+			node->set = false;                  // Node is one-shot, just mark it as not pending
+		}
+	}
+
+	// If there are still alarms pending, reset the timer
+	if( alarms->head ) { __kernel_set_timer( alarms->head->alarm - currtime ); }
+}
+
+// Update the preemption of a processor and notify interested parties
 void update_preemption( processor * this, __cfa_time_t duration ) {
-	LIB_DEBUG_PRINT_BUFFER_DECL( STDERR_FILENO, "Processor : %p updating preemption to %lu\n", this, duration );
-
 	alarm_node_t * alarm = this->preemption_alarm;
-	duration *= 1000;
 
 	// Alarms need to be enabled
@@ -134,20 +151,20 @@
 
 extern "C" {
+	// Disable interrupts by incrementing the counter
 	void disable_interrupts() {
 		__attribute__((unused)) unsigned short new_val = __atomic_add_fetch_2( &disable_preempt_count, 1, __ATOMIC_SEQ_CST );
-		verify( new_val < (unsigned short)65_000 );
-		verify( new_val != (unsigned short) 0 );
-	}
-
-	void enable_interrupts_noRF() {
-		__attribute__((unused)) unsigned short prev = __atomic_fetch_add_2( &disable_preempt_count, -1, __ATOMIC_SEQ_CST );
-		verify( prev != (unsigned short) 0 );
-	}
-
+		verify( new_val < 65_000u );              // If this triggers someone is disabling interrupts without enabling them
+	}
+
+	// Enable interrupts by decrementing the counter
+	// If counter reaches 0, execute any pending CtxSwitch
 	void enable_interrupts( DEBUG_CTX_PARAM ) {
-		processor * proc   = this_processor;
-		thread_desc * thrd = this_thread;
+		processor * proc   = this_processor;      // Cache the processor now since interrupts can start happening after the atomic add
+		thread_desc * thrd = this_thread;         // Cache the thread now since interrupts can start happening after the atomic add
+
 		unsigned short prev = __atomic_fetch_add_2( &disable_preempt_count, -1, __ATOMIC_SEQ_CST );
-		verify( prev != (unsigned short) 0 );
+		verify( prev != 0u );                     // If this triggers someone is enabled already enabled interruptsverify( prev != 0u );
+
+		// Check if we need to prempt the thread because an interrupt was missed
 		if( prev == 1 && proc->pending_preemption ) {
 			proc->pending_preemption = false;
@@ -155,8 +172,17 @@
 		}
 
+		// For debugging purposes : keep track of the last person to enable the interrupts
 		LIB_DEBUG_DO( proc->last_enable = caller; )
 	}
-}
-
+
+	// Disable interrupts by incrementint the counter
+	// Don't execute any pending CtxSwitch even if counter reaches 0
+	void enable_interrupts_noPoll() {
+		__attribute__((unused)) unsigned short prev = __atomic_fetch_add_2( &disable_preempt_count, -1, __ATOMIC_SEQ_CST );
+		verify( prev != 0u );                     // If this triggers someone is enabled already enabled interrupts
+	}
+}
+
+// sigprocmask wrapper : unblock a single signal
 static inline void signal_unblock( int sig ) {
 	sigset_t mask;
@@ -169,4 +195,5 @@
 }
 
+// sigprocmask wrapper : block a single signal
 static inline void signal_block( int sig ) {
 	sigset_t mask;
@@ -179,36 +206,44 @@
 }
 
-static inline bool preemption_ready() {
-	return disable_preempt_count == 0 && !preemption_in_progress;
-}
-
-static inline void defer_ctxSwitch() {
-	this_processor->pending_preemption = true;
-}
-
-static inline void defer_alarm() {
-	systemProcessor->pending_alarm = true;
-}
-
+// kill wrapper : signal a processor
 static void preempt( processor * this ) {
 	pthread_kill( this->kernel_thread, SIGUSR1 );
 }
 
+// reserved for future use
 static void timeout( thread_desc * this ) {
 	//TODO : implement waking threads
 }
 
+
+// Check if a CtxSwitch signal handler shoud defer
+// If true  : preemption is safe
+// If false : preemption is unsafe and marked as pending
+static inline bool preemption_ready() {
+	bool ready = disable_preempt_count == 0 && !preemption_in_progress; // Check if preemption is safe
+	this_processor->pending_preemption = !ready;                        // Adjust the pending flag accordingly
+	return ready;
+}
+
 //=============================================================================================
 // Kernel Signal Startup/Shutdown logic
 //=============================================================================================
 
-static pthread_t alarm_thread;
-void * alarm_loop( __attribute__((unused)) void * args );
-
+// Startup routine to activate preemption
+// Called from kernel_startup
 void kernel_start_preemption() {
 	LIB_DEBUG_PRINT_SAFE("Kernel : Starting preemption\n");
-	__kernel_sigaction( SIGUSR1, sigHandler_ctxSwitch, SA_SIGINFO );
-	// __kernel_sigaction( SIGSEGV, sigHandler_segv     , SA_SIGINFO );
-	// __kernel_sigaction( SIGBUS , sigHandler_segv     , SA_SIGINFO );
+
+	// Start with preemption disabled until ready
+	disable_preempt_count = 1;
+
+	// Initialize the event kernel
+	event_kernel = (event_kernel_t *)&storage_event_kernel;
+	(*event_kernel){};
+
+	// Setup proper signal handlers
+	__kernel_sigaction( SIGUSR1, sigHandler_ctxSwitch, SA_SIGINFO );         // CtxSwitch handler
+	// __kernel_sigaction( SIGSEGV, sigHandler_segv     , SA_SIGINFO );      // Failure handler
+	// __kernel_sigaction( SIGBUS , sigHandler_segv     , SA_SIGINFO );      // Failure handler
 
 	signal_block( SIGALRM );
@@ -217,22 +252,34 @@
 }
 
+// Shutdown routine to deactivate preemption
+// Called from kernel_shutdown
 void kernel_stop_preemption() {
 	LIB_DEBUG_PRINT_SAFE("Kernel : Preemption stopping\n");
 
+	// Block all signals since we are already shutting down
 	sigset_t mask;
 	sigfillset( &mask );
 	sigprocmask( SIG_BLOCK, &mask, NULL );
 
+	// Notify the alarm thread of the shutdown
 	sigval val = { 1 };
 	pthread_sigqueue( alarm_thread, SIGALRM, val );
+
+	// Wait for the preemption thread to finish
 	pthread_join( alarm_thread, NULL );
+
+	// Preemption is now fully stopped
+
 	LIB_DEBUG_PRINT_SAFE("Kernel : Preemption stopped\n");
 }
 
+// Raii ctor/dtor for the preemption_scope
+// Used by thread to control when they want to receive preemption signals
 void ?{}( preemption_scope & this, processor * proc ) {
-	(this.alarm){ proc };
+	(this.alarm){ proc, zero_time, zero_time };
 	this.proc = proc;
 	this.proc->preemption_alarm = &this.alarm;
-	update_preemption( this.proc, this.proc->preemption );
+
+	update_preemption( this.proc, from_us(this.proc->cltr->preemption) );
 }
 
@@ -240,5 +287,5 @@
 	disable_interrupts();
 
-	update_preemption( this.proc, 0 );
+	update_preemption( this.proc, zero_time );
 }
 
@@ -247,19 +294,25 @@
 //=============================================================================================
 
+// Context switch signal handler
+// Receives SIGUSR1 signal and causes the current thread to yield
 void sigHandler_ctxSwitch( __CFA_SIGPARMS__ ) {
 	LIB_DEBUG_DO( last_interrupt = (void *)(cxt->uc_mcontext.gregs[CFA_REG_IP]); )
-	if( preemption_ready() ) {
-		preemption_in_progress = true;
-		signal_unblock( SIGUSR1 );
-		this_processor->pending_preemption = false;
-		preemption_in_progress = false;
-		BlockInternal( (thread_desc*)this_thread );
-	}
-	else {
-		defer_ctxSwitch();
-	}
-}
-
+
+	// Check if it is safe to preempt here
+	if( !preemption_ready() ) { return; }
+
+	preemption_in_progress = true;                      // Sync flag : prevent recursive calls to the signal handler
+	signal_unblock( SIGUSR1 );                          // We are about to CtxSwitch out of the signal handler, let other handlers in
+	preemption_in_progress = false;                     // Clear the in progress flag
+
+	// Preemption can occur here
+
+	BlockInternal( (thread_desc*)this_thread );         // Do the actual CtxSwitch
+}
+
+// Main of the alarm thread
+// Waits on SIGALRM and send SIGUSR1 to whom ever needs it
 void * alarm_loop( __attribute__((unused)) void * args ) {
+	// Block sigalrms to control when they arrive
 	sigset_t mask;
 	sigemptyset( &mask );
@@ -270,35 +323,40 @@
 	}
 
+	// Main loop
 	while( true ) {
+		// Wait for a sigalrm
 		siginfo_t info;
 		int sig = sigwaitinfo( &mask, &info );
-		if( sig < 0 ) {
-			abortf( "internal error, sigwait" );
-		}
-		else if( sig == SIGALRM )
+
+		// If another signal arrived something went wrong
+		assertf(sig == SIGALRM, "Kernel Internal Error, sigwait: Unexpected signal %d (%d : %d)\n", sig, info.si_code, info.si_value.sival_int);
+
+		LIB_DEBUG_PRINT_SAFE("Kernel : Caught alarm from %d with %d\n", info.si_code, info.si_value.sival_int );
+		// Switch on the code (a.k.a. the sender) to
+		switch( info.si_code )
 		{
-			LIB_DEBUG_PRINT_SAFE("Kernel : Caught signal %d (%d)\n", sig, info.si_value.sival_int );
-			if( info.si_value.sival_int == 0 )
-			{
-				LIB_DEBUG_PRINT_SAFE("Kernel : Preemption thread tick\n");
-				lock( &systemProcessor->alarm_lock DEBUG_CTX2 );
-				tick_preemption();
-				unlock( &systemProcessor->alarm_lock );
-			}
-			else if( info.si_value.sival_int == 1 )
-			{
-				break;
-			}
-		}
-		else
-		{
-			LIB_DEBUG_PRINT_SAFE("Kernel : Unexpected signal %d (%d)\n", sig, info.si_value.sival_int);
-		}
-	}
-
+		// Timers can apparently be marked as sent for the kernel
+		// In either case, tick preemption
+		case SI_TIMER:
+		case SI_KERNEL:
+			LIB_DEBUG_PRINT_SAFE("Kernel : Preemption thread tick\n");
+			lock( &event_kernel->lock DEBUG_CTX2 );
+			tick_preemption();
+			unlock( &event_kernel->lock );
+			break;
+		// Signal was not sent by the kernel but by an other thread
+		case SI_QUEUE:
+			// For now, other thread only signal the alarm thread to shut it down
+			// If this needs to change use info.si_value and handle the case here
+			goto EXIT;
+		}
+	}
+
+EXIT:
 	LIB_DEBUG_PRINT_SAFE("Kernel : Preemption thread stopping\n");
 	return NULL;
 }
 
+// Sigaction wrapper : register an signal handler
 static void __kernel_sigaction( int sig, void (*handler)(__CFA_SIGPARMS__), int flags ) {
 	struct sigaction act;
@@ -316,10 +374,9 @@
 }
 
-typedef void (*sa_handler_t)(int);
-
+// Sigaction wrapper : restore default handler
 static void __kernel_sigdefault( int sig ) {
 	struct sigaction act;
 
-	// act.sa_handler = SIG_DFL;
+	act.sa_handler = SIG_DFL;
 	act.sa_flags = 0;
 	sigemptyset( &act.sa_mask );
@@ -429,2 +486,7 @@
 // 	raise( SIGABRT );
 // }
+
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: src/libcfa/concurrency/preemption.h
===================================================================
--- src/libcfa/concurrency/preemption.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/preemption.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,11 +9,10 @@
 // Author           : Thierry Delisle
 // Created On       : Mon Jun 5 14:20:42 2017
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 22:34:25 2017
+// Update Count     : 1
 //
 
-#ifndef PREEMPTION_H
-#define PREEMPTION_H
+#pragma once
 
 #include "alarm.h"
@@ -35,3 +33,6 @@
 void ^?{}( preemption_scope & this );
 
-#endif //PREEMPTION_H
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: src/libcfa/concurrency/thread
===================================================================
--- src/libcfa/concurrency/thread	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/thread	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,13 +9,12 @@
 // Author           : Thierry Delisle
 // Created On       : Tue Jan 17 12:27:26 2017
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Jul 22 09:59:40 2017
+// Update Count     : 3
 //
 
-#ifndef THREADS_H
-#define THREADS_H
+#pragma once
 
-#include "assert"
+#include <assert.h>
 #include "invoke.h"
 
@@ -54,5 +52,5 @@
 }
 
-extern volatile thread_local thread_desc * this_thread;
+extern thread_local thread_desc * volatile this_thread;
 
 forall( dtype T | is_thread(T) )
@@ -84,6 +82,4 @@
 void yield( unsigned times );
 
-#endif //THREADS_H
-
 // Local Variables: //
 // mode: c //
Index: src/libcfa/concurrency/thread.c
===================================================================
--- src/libcfa/concurrency/thread.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/concurrency/thread.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Tue Jan 17 12:27:26 2017
-// Last Modified By : Thierry Delisle
-// Last Modified On : --
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 22:34:46 2017
+// Update Count     : 1
 //
 
@@ -87,5 +86,5 @@
 
 void yield( void ) {
-	BlockInternal( (thread_desc *)this_thread );
+	BlockInternal( this_thread );
 }
 
Index: src/libcfa/containers/maybe
===================================================================
--- src/libcfa/containers/maybe	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/containers/maybe	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -9,12 +9,10 @@
 // Author           : Andrew Beach
 // Created On       : Wed May 24 14:43:00 2017
-// Last Modified By : Andrew Beach
-// Last Modified On : Fri Jun 16 15:42:00 2017
-// Update Count     : 2
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Jul 22 10:00:52 2017
+// Update Count     : 4
 //
 
-
-#ifndef MAYBE_H
-#define MAYBE_H
+#pragma once
 
 #include <stdbool.h>
@@ -66,3 +64,6 @@
 void set_none(maybe(T) * this);
 
-#endif // MAYBE_H
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: src/libcfa/containers/maybe.c
===================================================================
--- src/libcfa/containers/maybe.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/containers/maybe.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -9,11 +9,11 @@
 // Author           : Andrew Beach
 // Created On       : Wed May 24 15:40:00 2017
-// Last Modified By : Andrew Beach
-// Last Modified On : Thr May 25 15:24:00 2017
-// Update Count     : 1
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Jul 20 15:23:50 2017
+// Update Count     : 2
 //
 
 #include <containers/maybe>
-#include <assert>
+#include <assert.h>
 
 
Index: src/libcfa/containers/pair
===================================================================
--- src/libcfa/containers/pair	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/containers/pair	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -9,11 +9,10 @@
 // Author           : Aaron Moss
 // Created On       : Wed Apr 12 15:32:00 2017
-// Last Modified By : Aaron Moss
-// Last Modified On : Wed Apr 12 15:32:00 2017
-// Update Count     : 1
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Jul 22 09:59:53 2017
+// Update Count     : 2
 //
 
-#ifndef PAIR_H
-#define PAIR_H
+#pragma once
 
 forall(otype R, otype S) struct pair {
@@ -44,6 +43,4 @@
 int ?>=?(pair(R, S) p, pair(R, S) q);
 
-#endif // PAIR_H
-
 // Local Variables: //
 // mode: c //
Index: src/libcfa/containers/result
===================================================================
--- src/libcfa/containers/result	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/containers/result	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -9,12 +9,10 @@
 // Author           : Andrew Beach
 // Created On       : Wed May 24 14:45:00 2017
-// Last Modified By : Andrew Beach
-// Last Modified On : Fri Jun 16 15:41:00 2017
-// Update Count     : 2
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Jul 22 10:00:44 2017
+// Update Count     : 3
 //
 
-
-#ifndef RESULT_H
-#define RESULT_H
+#pragma once
 
 #include <stdbool.h>
@@ -78,3 +76,6 @@
 void set_error(result(T, E) * this, E error);
 
-#endif // RESULT_H
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: src/libcfa/containers/result.c
===================================================================
--- src/libcfa/containers/result.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/containers/result.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -9,11 +9,11 @@
 // Author           : Andrew Beach
 // Created On       : Wed May 24 15:40:00 2017
-// Last Modified By : Andrew Beach
-// Last Modified On : Thr May 25 15:27:00 2017
-// Update Count     : 1
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Jul 20 15:23:58 2017
+// Update Count     : 2
 //
 
 #include <containers/result>
-#include <assert>
+#include <assert.h>
 
 
Index: src/libcfa/containers/vector
===================================================================
--- src/libcfa/containers/vector	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/containers/vector	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -10,10 +10,9 @@
 // Created On       : Tue Jul  5 18:00:07 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jul  5 18:01:35 2016
-// Update Count     : 2
+// Last Modified On : Sat Jul 22 10:01:18 2017
+// Update Count     : 3
 //
 
-#ifndef VECTOR_H
-#define VECTOR_H
+#pragma once
 
 extern "C" {
@@ -166,6 +165,4 @@
 // }
 
-#endif // VECTOR_H
-
 // Local Variables: //
 // mode: c //
Index: src/libcfa/exception.c
===================================================================
--- src/libcfa/exception.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/exception.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -10,7 +10,9 @@
 // Created On       : Mon Jun 26 15:13:00 2017
 // Last Modified By : Andrew Beach
-// Last Modified On : Tus Jul 11 16:36:00 2017
-// Update Count     : 1
+// Last Modified On : Fri Aug  4 15:20:00 2017
+// Update Count     : 6
 //
+
+#include <stddef.h> // for size_t
 
 #include "exception.h"
@@ -22,19 +24,50 @@
 #include <unwind.h>
 
+// FIX ME: temporary hack to keep ARM build working
+#ifndef _URC_FATAL_PHASE1_ERROR
+#define _URC_FATAL_PHASE1_ERROR 2
+#endif // ! _URC_FATAL_PHASE1_ERROR
+#ifndef _URC_FATAL_PHASE2_ERROR
+#define _URC_FATAL_PHASE2_ERROR 2
+#endif // ! _URC_FATAL_PHASE2_ERROR
+
 #include "lsda.h"
 
+
+// Base exception vtable is abstract, you should not have base exceptions.
+struct __cfaehm__base_exception_t_vtable
+		___cfaehm__base_exception_t_vtable_instance = {
+	.parent = NULL,
+	.size = 0,
+	.copy = NULL,
+	.free = NULL,
+	.msg = NULL
+};
+
+
 // Temperary global exception context. Does not work with concurency.
-struct shared_stack_t {
+struct exception_context_t {
     struct __cfaehm__try_resume_node * top_resume;
     struct __cfaehm__try_resume_node * current_resume;
 
-    exception current_exception;
+    exception * current_exception;
     int current_handler_index;
 } shared_stack = {NULL, NULL, 0, 0};
 
-
-
-// This macro should be the only thing that needs to change across machines.
-// Used in the personality function, way down in termination.
+// Get the current exception context.
+// There can be a single global until multithreading occurs, then each stack
+// needs its own. It will have to be updated to handle that.
+struct exception_context_t * this_exception_context() {
+	return &shared_stack;
+}
+//#define SAVE_EXCEPTION_CONTEXT(to_name)
+//struct exception_context_t * to_name = this_exception_context();
+//exception * this_exception() {
+//    return this_exception_context()->current_exception;
+//}
+
+
+// This macro should be the only thing that needs to change across machines.  Used in the personality function, way down
+// in termination.
 // struct _Unwind_Context * -> _Unwind_Reason_Code(*)(exception *)
 #define MATCHER_FROM_CONTEXT(ptr_to_context) \
@@ -47,5 +80,5 @@
 
 	// DEBUG
-	printf("Throwing resumption exception %d\n", *except);
+	printf("Throwing resumption exception\n");
 
 	struct __cfaehm__try_resume_node * original_head = shared_stack.current_resume;
@@ -61,5 +94,5 @@
 	}
 
-	printf("Unhandled exception %d\n", *except);
+	printf("Unhandled exception\n");
 	shared_stack.current_resume = original_head;
 
@@ -69,8 +102,7 @@
 }
 
-/* Do we control where exceptions get thrown even with concurency?
- * If not these are not quite thread safe, the cleanup hook has to be added
- * after the node is built but before it is made the top node.
- */
+// Do we control where exceptions get thrown even with concurency?  If not these are not quite thread safe, the cleanup
+// hook has to be added after the node is built but before it is made the top node.
+
 void __cfaehm__try_resume_setup(struct __cfaehm__try_resume_node * node,
                         int (*handler)(exception * except)) {
@@ -87,9 +119,68 @@
 // TERMINATION ===============================================================
 
-// Requires -fexceptions to work.
-
-// Global which defines the current exception
-// Currently an int just to make matching easier
-//int this_exception; (became shared_stack.current_exception)
+// MEMORY MANAGEMENT (still for integers)
+// May have to move to cfa for constructors and destructors (references).
+
+struct __cfaehm__node {
+	struct __cfaehm__node * next;
+};
+
+#define NODE_TO_EXCEPT(node) ((exception *)(1 + (node)))
+#define EXCEPT_TO_NODE(except) ((struct __cfaehm__node *)(except) - 1)
+
+// Creates a copy of the indicated exception and sets current_exception to it.
+static void __cfaehm__allocate_exception( exception * except ) {
+	struct exception_context_t * context = this_exception_context();
+
+	// Allocate memory for the exception.
+	struct __cfaehm__node * store = malloc(
+		sizeof( struct __cfaehm__node ) + except->virtual_table->size );
+
+	if ( ! store ) {
+		// Failure: cannot allocate exception. Terminate thread.
+		abort(); // <- Although I think it might be the process.
+	}
+
+	// Add the node to the list:
+	store->next = EXCEPT_TO_NODE(context->current_exception);
+	context->current_exception = NODE_TO_EXCEPT(store);
+
+	// Copy the exception to storage.
+	except->virtual_table->copy( context->current_exception, except );
+}
+
+// Delete the provided exception, unsetting current_exception if relivant.
+static void __cfaehm__delete_exception( exception * except ) {
+	struct exception_context_t * context = this_exception_context();
+
+	// DEBUG
+	printf( "Deleting Exception\n");
+
+	// Remove the exception from the list.
+	struct __cfaehm__node * to_free = EXCEPT_TO_NODE(except);
+	struct __cfaehm__node * node;
+
+	if ( context->current_exception == except ) {
+		node = to_free->next;
+		context->current_exception = (node) ? NODE_TO_EXCEPT(node) : 0;
+	} else {
+		node = EXCEPT_TO_NODE(context->current_exception);
+		// It may always be in the first or second position.
+		while( to_free != node->next ) {
+			node = node->next;
+		}
+		node->next = to_free->next;
+	}
+
+	// Free the old exception node.
+	except->virtual_table->free( except );
+	free( to_free );
+}
+
+// If this isn't a rethrow (*except==0), delete the provided exception.
+void __cfaehm__cleanup_terminate( void * except ) {
+	if ( *(void**)except ) __cfaehm__delete_exception( *(exception**)except );
+}
+
 
 // We need a piece of storage to raise the exception
@@ -111,26 +202,24 @@
 }
 
-void __cfaehm__throw_terminate( exception * val ) {
-	// Store the current exception
-	shared_stack.current_exception = *val;
-
-	// DEBUG
-	printf("Throwing termination exception %d\n", *val);
+// The exception that is being thrown must already be stored.
+__attribute__((noreturn)) void __cfaehm__begin_unwind(void) {
+	if ( ! this_exception_context()->current_exception ) {
+		printf("UNWIND ERROR missing exception in begin unwind\n");
+		abort();
+	}
+
 
 	// Call stdlibc to raise the exception
 	_Unwind_Reason_Code ret = _Unwind_RaiseException( &this_exception_storage );
 
-	// If we reach here it means something happened
-	// For resumption to work we need to find a way to return back to here
-	// Most of them will probably boil down to setting a global flag and making the phase 1 either stop or fail.
-	// Causing an error on purpose may help avoiding unnecessary work but it might have some weird side effects.
-	// If we just pretend no handler was found that would work but may be expensive for no reason since we will always
-	// search the whole stack
+	// If we reach here it means something happened.  For resumption to work we need to find a way to return back to
+	// here.  Most of them will probably boil down to setting a global flag and making the phase 1 either stop or
+	// fail.  Causing an error on purpose may help avoiding unnecessary work but it might have some weird side
+	// effects.  If we just pretend no handler was found that would work but may be expensive for no reason since we
+	// will always search the whole stack.
 
 	if( ret == _URC_END_OF_STACK ) {
-		// No proper handler was found
-		// This can be handled in several way
-		// C++ calls std::terminate
-		// Here we force unwind the stack, basically raising a cancellation
+		// No proper handler was found.  This can be handled in several way.  C++ calls std::terminate Here we
+		// force unwind the stack, basically raising a cancellation.
 		printf("Uncaught exception %p\n", &this_exception_storage);
 
@@ -140,22 +229,26 @@
 	}
 
-	// We did not simply reach the end of the stack without finding a handler,
-	// Something wen't wrong
+	// We did not simply reach the end of the stack without finding a handler.  Something wen't wrong
 	printf("UNWIND ERROR %d after raise exception\n", ret);
 	abort();
 }
 
-// Nesting this the other way would probably be faster.
+void __cfaehm__throw_terminate( exception * val ) {
+	// DEBUG
+	printf("Throwing termination exception\n");
+
+	__cfaehm__allocate_exception( val );
+	__cfaehm__begin_unwind();
+}
+
 void __cfaehm__rethrow_terminate(void) {
 	// DEBUG
 	printf("Rethrowing termination exception\n");
 
-	__cfaehm__throw_terminate(&shared_stack.current_exception);
-}
-
-// This is our personality routine
-// For every stack frame anotated with ".cfi_personality 0x3,__gcfa_personality_v0"
-// This function will be called twice when unwinding
-// Once in the search phased and once in the cleanup phase
+	__cfaehm__begin_unwind();
+}
+
+// This is our personality routine.  For every stack frame anotated with ".cfi_personality 0x3,__gcfa_personality_v0".
+// This function will be called twice when unwinding.  Once in the search phased and once in the cleanup phase.
 _Unwind_Reason_Code __gcfa_personality_v0 (
 		int version, _Unwind_Action actions, unsigned long long exceptionClass,
@@ -263,5 +356,5 @@
 					_Unwind_Reason_Code (*matcher)(exception *) =
 						MATCHER_FROM_CONTEXT(context);
-					int index = matcher(&shared_stack.current_exception);
+					int index = matcher(shared_stack.current_exception);
 					_Unwind_Reason_Code ret = (0 == index)
 						? _URC_CONTINUE_UNWIND : _URC_HANDLER_FOUND;
@@ -293,5 +386,5 @@
 				// I assume this sets the instruction pointer to the adress of the landing pad
 				// It doesn't actually set it, it only state the value that needs to be set once we return _URC_INSTALL_CONTEXT
-				_Unwind_SetIP( context, lsd_info.LPStart + callsite_landing_pad );
+				_Unwind_SetIP( context, ((lsd_info.LPStart) + (callsite_landing_pad)) );
 
 				// DEBUG
@@ -317,8 +410,6 @@
 }
 
-// Try statements are hoisted out see comments for details
-// With this could probably be unique and simply linked from
-// libcfa but there is one problem left, see the exception table
-// for details
+// Try statements are hoisted out see comments for details.  With this could probably be unique and simply linked from
+// libcfa but there is one problem left, see the exception table for details
 __attribute__((noinline))
 void __cfaehm__try_terminate(void (*try_block)(),
@@ -328,11 +419,9 @@
 	//! printf("%p %p %p %p\n", &try_block, &catch_block, &match_block, &xy);
 
-	// Setup statments
-	// These 2 statments won't actually result in any code,
-	// they only setup global tables.
-	// However, they clobber gcc cancellation support from gcc.
-	// We can replace the personality routine but replacing the exception
-	// table gcc generates is not really doable, it generates labels based
-	// on how the assembly works.
+	// Setup statments: These 2 statments won't actually result in any code, they only setup global tables.
+	// However, they clobber gcc cancellation support from gcc.  We can replace the personality routine but
+	// replacing the exception table gcc generates is not really doable, it generates labels based on how the
+	// assembly works.
+
 	// Setup the personality routine
 	asm volatile (".cfi_personality 0x3,__gcfa_personality_v0");
@@ -340,5 +429,5 @@
 	asm volatile (".cfi_lsda 0x3, .LLSDACFA2");
 
-	// Label which defines the start of the area for which the handler is setup
+	// Label which defines the start of the area for which the handler is setup.
 	asm volatile (".TRYSTART:");
 
@@ -354,22 +443,20 @@
 	// Exceptionnal path
 	CATCH : __attribute__(( unused ));
-	// Label which defines the end of the area for which the handler is setup
+	// Label which defines the end of the area for which the handler is setup.
 	asm volatile (".TRYEND:");
-	// Label which defines the start of the exception landing pad
-	// basically what will be called when the exception is caught
-	// Note, if multiple handlers are given, the multiplexing should be done
-	// by the generated code, not the exception runtime
+	// Label which defines the start of the exception landing pad.  Basically what is called when the exception is
+	// caught.  Note, if multiple handlers are given, the multiplexing should be done by the generated code, not the
+	// exception runtime.
 	asm volatile (".CATCH:");
 
 	// Exception handler
-	catch_block(shared_stack.current_handler_index,
-	            &shared_stack.current_exception);
-}
-
-// Exception table data we need to generate
-// While this is almost generic, the custom data refers to
-// foo_try_match try match, which is no way generic
-// Some more works need to be done if we want to have a single
-// call to the try routine
+	catch_block( shared_stack.current_handler_index,
+	             shared_stack.current_exception );
+}
+
+// Exception table data we need to generate.  While this is almost generic, the custom data refers to foo_try_match try
+// match, which is no way generic.  Some more works need to be done if we want to have a single call to the try routine.
+
+#if defined( __x86_64__ ) || defined( __i386__ )
 asm (
 	//HEADER
@@ -394,2 +481,3 @@
 //	"	.section	.note.GNU-stack,\"x\",@progbits\n"
 );
+#endif // __x86_64__ || __i386__
Index: src/libcfa/exception.h
===================================================================
--- src/libcfa/exception.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/exception.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -10,18 +10,31 @@
 // Created On       : Mon Jun 26 15:11:00 2017
 // Last Modified By : Andrew Beach
-// Last Modified On : Tus Jul 11 16:31:00 2017
-// Update Count     : 2
+// Last Modified On : Fri Aug  4 15:20:00 2017
+// Update Count     : 5
 //
 
-#ifndef EXCEPTION_H
-#define EXCEPTION_H
+#pragma once
 
-
-// Later to be a special structure type.
-typedef int exception;
 
 #ifdef __CFORALL__
 extern "C" {
 #endif
+
+struct __cfaehm__base_exception_t;
+typedef struct __cfaehm__base_exception_t exception;
+struct __cfaehm__base_exception_t_vtable {
+	const struct __cfaehm__base_exception_t_vtable * parent;
+	size_t size;
+	void (*copy)(struct __cfaehm__base_exception_t *this,
+	             struct __cfaehm__base_exception_t * other);
+	void (*free)(struct __cfaehm__base_exception_t *this);
+	const char (*msg)(struct __cfaehm__base_exception_t *this);
+};
+struct __cfaehm__base_exception_t {
+	struct __cfaehm__base_exception_t_vtable const * virtual_table;
+};
+extern struct __cfaehm__base_exception_t_vtable
+	___cfaehm__base_exception_t_vtable_instance;
+
 
 // Used in throw statement translation.
@@ -36,4 +49,7 @@
     int (*match_block)(exception * except));
 
+// Clean-up the exception in catch blocks.
+void __cfaehm__cleanup_terminate(void * except);
+
 // Data structure creates a list of resume handlers.
 struct __cfaehm__try_resume_node {
@@ -42,4 +58,5 @@
 };
 
+// These act as constructor and destructor for the resume node.
 void __cfaehm__try_resume_setup(
     struct __cfaehm__try_resume_node * node,
@@ -49,10 +66,7 @@
 
 // Check for a standard way to call fake deconstructors.
-struct __cfaehm__cleanup_hook {
-};
+struct __cfaehm__cleanup_hook {};
 
 #ifdef __CFORALL__
 }
 #endif
-
-#endif //EXCEPTION_H
Index: src/libcfa/fstream.c
===================================================================
--- src/libcfa/fstream.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/fstream.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -10,11 +10,10 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jul  6 18:38:25 2017
-// Update Count     : 251
+// Last Modified On : Thu Jul 20 15:20:49 2017
+// Update Count     : 252
 //
 
 #include "fstream"
 
-extern "C" {
 #include <stdio.h>										// vfprintf, vfscanf
 #include <stdlib.h>										// exit
@@ -24,6 +23,5 @@
 #include <float.h>										// DBL_DIG, LDBL_DIG
 #include <complex.h>									// creal, cimag
-}
-#include "assert"
+#include <assert.h>
 
 #define IO_MSG "I/O error: "
Index: src/libcfa/interpose.c
===================================================================
--- src/libcfa/interpose.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/interpose.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Wed Mar 29 16:10:31 2017
-// Last Modified By :
-// Last Modified On :
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 22:27:33 2017
+// Update Count     : 1
 //
 
@@ -141,2 +140,7 @@
 	}
 }
+
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: src/libcfa/interpose.h
===================================================================
--- src/libcfa/interpose.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/interpose.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,11 +9,10 @@
 // Author           : Thierry Delisle
 // Created On       : Wed Mar 29 15:56:41 2017
-// Last Modified By : 
-// Last Modified On : 
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 22:33:02 2017
+// Update Count     : 2
 //
 
-#ifndef INTERPOSE_H
-#define INTERPOSE_H
+#pragma once
 
 void * interpose_symbol( const char* symbol, , const char *version );
@@ -23,3 +21,6 @@
 extern __typeof__( exit ) libc_abort __attribute__(( noreturn ));
 
-#endif //INTERPOSE_H
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: src/libcfa/iostream
===================================================================
--- src/libcfa/iostream	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/iostream	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jul  7 08:35:59 2017
-// Update Count     : 118
+// Last Modified On : Wed Aug  9 16:42:47 2017
+// Update Count     : 131
 //
 
@@ -46,6 +46,10 @@
 }; // ostream
 
-trait writeable( otype T ) {
-	forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, T );
+// trait writeable( otype T ) {
+// 	forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, T );
+// }; // writeable
+
+trait writeable( otype T, dtype ostype | ostream( ostype ) ) {
+	ostype * ?|?( ostype *, T );
 }; // writeable
 
@@ -77,5 +81,6 @@
 
 // tuples
-forall( dtype ostype, otype T, ttype Params | ostream( ostype ) | writeable( T ) | { ostype * ?|?( ostype *, Params ); } ) ostype * ?|?( ostype * os, T arg, Params rest );
+forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype * ?|?( ostype *, Params ); } )
+ostype * ?|?( ostype * os, T arg, Params rest );
 
 // manipulators
@@ -90,9 +95,9 @@
 
 // writes the range [begin, end) to the given stream
-forall( otype elt_type | writeable( elt_type ), otype iterator_type | iterator( iterator_type, elt_type ), dtype os_type | ostream( os_type ) )
-void write( iterator_type begin, iterator_type end, os_type *os );
+forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) )
+void write( iterator_type begin, iterator_type end, ostype * os );
 
-forall( otype elt_type | writeable( elt_type ), otype iterator_type | iterator( iterator_type, elt_type ), dtype os_type | ostream( os_type ) )
-void write_reverse( iterator_type begin, iterator_type end, os_type *os );
+forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) )
+void write_reverse( iterator_type begin, iterator_type end, ostype * os );
 
 //---------------------------------------
Index: src/libcfa/iostream.c
===================================================================
--- src/libcfa/iostream.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/iostream.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jul  6 18:14:17 2017
-// Update Count     : 396
+// Last Modified On : Wed Aug  9 16:46:51 2017
+// Update Count     : 401
 //
 
@@ -125,9 +125,6 @@
 forall( dtype ostype | ostream( ostype ) )
 ostype * ?|?( ostype * os, float _Complex fc ) {
-	os | crealf( fc );
-	_Bool temp = sepDisable( os );						// disable separators within complex value
-	if ( cimagf( fc ) >= 0 ) os | '+';					// negative value prints '-'
-	os | cimagf( fc ) | 'i';
-	sepReset( os, temp );								// reset separator
+	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+	fmt( os, "%g%+gi", crealf( fc ), cimagf( fc ) );
 	return os;
 } // ?|?
@@ -135,9 +132,6 @@
 forall( dtype ostype | ostream( ostype ) )
 ostype * ?|?( ostype * os, double _Complex dc ) {
-	os | creal( dc );
-	_Bool temp = sepDisable( os );						// disable separators within complex value
-	if ( cimag( dc ) >= 0 ) os | '+';					// negative value prints '-'
-	os | cimag( dc ) | 'i';
-	sepReset( os, temp );								// reset separator
+	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+	fmt( os, "%.*lg%+.*lgi", DBL_DIG, creal( dc ), DBL_DIG, cimag( dc ) );
 	return os;
 } // ?|?
@@ -145,9 +139,6 @@
 forall( dtype ostype | ostream( ostype ) )
 ostype * ?|?( ostype * os, long double _Complex ldc ) {
-	os | creall( ldc );
-	_Bool temp = sepDisable( os );						// disable separators within complex value
-	if ( cimagl( ldc ) >= 0 ) os | '+';					// negative value prints '-'
-	os | cimagl( ldc ) | 'i';
-	sepReset( os, temp );								// reset separator
+	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+	fmt( os, "%.*Lg%+.*Lgi", LDBL_DIG, creall( ldc ), LDBL_DIG, cimagl( ldc ) );
 	return os;
 } // ?|?
@@ -202,5 +193,5 @@
 
 // tuples
-forall( dtype ostype, otype T, ttype Params | ostream( ostype ) | writeable( T ) | { ostype * ?|?( ostype *, Params ); } )
+forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype * ?|?( ostype *, Params ); } )
 ostype * ?|?( ostype * os, T arg, Params rest ) {
 	os | arg;											// print first argument
@@ -265,13 +256,13 @@
 //---------------------------------------
 
-forall( otype elttype | writeable( elttype ), otype iteratortype | iterator( iteratortype, elttype ), dtype ostype | ostream( ostype ) )
-void write( iteratortype begin, iteratortype end, ostype * os ) {
-	void print( elttype i ) { os | i; }
+forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) )
+void write( iterator_type begin, iterator_type end, ostype * os ) {
+	void print( elt_type i ) { os | i; }
 	for_each( begin, end, print );
 } // ?|?
 
-forall( otype elttype | writeable( elttype ), otype iteratortype | iterator( iteratortype, elttype ), dtype ostype | ostream( ostype ) )
-void write_reverse( iteratortype begin, iteratortype end, ostype * os ) {
-	void print( elttype i ) { os | i; }
+forall( dtype ostype, otype elt_type | writeable( elt_type, ostype ), otype iterator_type | iterator( iterator_type, elt_type ) )
+void write_reverse( iterator_type begin, iterator_type end, ostype * os ) {
+	void print( elt_type i ) { os | i; }
 	for_each_reverse( begin, end, print );
 } // ?|?
Index: src/libcfa/libhdr.h
===================================================================
--- src/libcfa/libhdr.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/libhdr.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -9,11 +9,10 @@
 // Author           : Thierry Delisle
 // Created On       : Mon Nov 28 12:27:26 2016
-// Last Modified By : Thierry Delisle
-// Last Modified On : Mon Nov 28 12:27:26 2016
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Jul 22 09:56:32 2017
+// Update Count     : 1
 //
 
-#ifndef __LIB_HDR_H__
-#define __LIB_HDR_H__
+#pragma once
 
 #include "libalign.h"
@@ -21,6 +20,4 @@
 #include "libtools.h"
 
-#endif //__LIB_HDR_H__
-
 // Local Variables: //
 // mode: c //
Index: src/libcfa/libhdr/libalign.h
===================================================================
--- src/libcfa/libhdr/libalign.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/libhdr/libalign.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: C++ -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,7 +9,7 @@
 // Author           : Thierry Delisle
 // Created On       : Mon Nov 28 12:27:26 2016
-// Last Modified By : Thierry Delisle
-// Last Modified On : Mon Nov 28 12:27:26 2016
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Fri Jul 21 23:05:35 2017
+// Update Count     : 2
 //
 // This  library is free  software; you  can redistribute  it and/or  modify it
@@ -28,9 +27,7 @@
 //
 
+#pragma once
 
-#ifndef __LIB_ALIGN_H__
-#define __LIB_ALIGN_H__
-
-#include "assert"
+#include <assert.h>
 #include <stdbool.h>
 
@@ -61,8 +58,4 @@
 } // uCeiling
 
-
-#endif // __LIB_ALIGN_H__
-
-
 // Local Variables: //
 // compile-command: "make install" //
Index: src/libcfa/libhdr/libdebug.h
===================================================================
--- src/libcfa/libhdr/libdebug.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/libhdr/libdebug.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -9,11 +9,10 @@
 // Author           : Thierry Delisle
 // Created On       : Mon Nov 28 12:27:26 2016
-// Last Modified By : Thierry Delisle
-// Last Modified On : Mon Nov 28 12:27:26 2016
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Jul 22 10:02:24 2017
+// Update Count     : 1
 //
 
-#ifndef __LIB_DEBUG_H__
-#define __LIB_DEBUG_H__
+#pragma once
 
 #ifdef __CFA_DEBUG__
@@ -78,6 +77,4 @@
 #endif
 
-#endif //__LIB_DEBUG_H__
-
 // Local Variables: //
 // mode: c //
Index: src/libcfa/libhdr/libtools.h
===================================================================
--- src/libcfa/libhdr/libtools.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/libhdr/libtools.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -9,11 +9,10 @@
 // Author           : Thierry Delisle
 // Created On       : Mon Nov 28 12:27:26 2016
-// Last Modified By : Thierry Delisle
-// Last Modified On : Mon Nov 28 12:27:26 2016
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Jul 22 10:02:10 2017
+// Update Count     : 1
 //
 
-#ifndef __LIB_TOOLS_H__
-#define __LIB_TOOLS_H__
+#pragma once
 
 // void abortf( const char *fmt, ... ) {
@@ -30,6 +29,4 @@
 #endif
 
-#endif //__LIB_TOOLS_H__
-
 // Local Variables: //
 // mode: c //
Index: src/libcfa/math
===================================================================
--- src/libcfa/math	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/math	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -10,337 +10,341 @@
 // Created On       : Mon Apr 18 23:37:04 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jul  7 09:34:15 2017
-// Update Count     : 61
+// Last Modified On : Mon Aug  7 07:51:15 2017
+// Update Count     : 108
 //
 
 #pragma once
 
-extern "C" {
-#include <math.h>										// fpclassify, isfinite, isnormal, isnan, isinf
-} // extern "C"
-
-float ?%?( float, float );
-float fmod( float, float );
-double ?%?( double, double );
+#include <math.h>
+#include <complex.h>
+
+//---------------------- General ----------------------
+
+static inline float ?%?( float x, float y ) { return fmodf( x, y ); }
+static inline float fmod( float x, float y ) { return fmodf( x, y ); }
+static inline double ?%?( double x, double y ) { return fmod( x, y ); }
 // extern "C" { double fmod( double, double ); }
-long double ?%?( long double, long double );
-long double fmod( long double, long double );
-
-float remainder( float, float );
+static inline long double ?%?( long double x, long double y ) { return fmodl( x, y ); }
+static inline long double fmod( long double x, long double y ) { return fmodl( x, y ); }
+
+static inline float remainder( float x, float y ) { return remainderf( x, y ); }
 // extern "C" { double remainder( double, double ); }
-long double remainder( long double, long double );
-
-[ int, float ] remquo( float, float );
-float remquo( float, float, int * );
-[ int, double ] remquo( double, double );
-// extern "C" { double remquo( double, double, int * ); }
-[ int, long double ] remquo( long double, long double );
-long double remquo( long double, long double, int * );
-
-[ int, float ] div( float, float );						// alternative name for remquo
-float div( float, float, int * );
-[ int, double ] div( double, double );
-// extern "C" { double div( double, double, int * ); }
-[ int, long double ] div( long double, long double );
-long double div( long double, long double, int * );
-
-float fma( float, float, float );
+static inline long double remainder( long double x, long double y ) { return remainderl( x, y ); }
+
+static inline float remquo( float x, float y, int * quo ) { return remquof( x, y, quo ); }
+// extern "C" { double remquo( double x, double y, int * quo ); }
+static inline long double remquo( long double x, long double y, int * quo ) { return remquol( x, y, quo ); }
+static inline [ int, float ] remquo( float x, float y ) { int quo; x = remquof( x, y, &quo ); return [ quo, x ]; }
+static inline [ int, double ] remquo( double x, double y ) { int quo; x = remquo( x, y, &quo ); return [ quo, x ]; }
+static inline [ int, long double ] remquo( long double x, long double y ) { int quo; x = remquol( x, y, &quo ); return [ quo, x ]; }
+
+static inline [ float, float ] div( float x, float y ) { y = modff( x / y, &x ); return [ x, y ]; }
+static inline [ double, double ] div( double x, double y ) { y = modf( x / y, &x ); return [ x, y ]; }
+static inline [ long double, long double ] div( long double x, long double y ) { y = modfl( x / y, &x ); return [ x, y ]; }
+
+static inline float fma( float x, float y, float z ) { return fmaf( x, y, z ); }
 // extern "C" { double fma( double, double, double ); }
-long double fma( long double, long double, long double );
-
-float fdim( float, float );
+static inline long double fma( long double x, long double y, long double z ) { return fmal( x, y, z ); }
+
+static inline float fdim( float x, float y ) { return fdimf( x, y ); }
 // extern "C" { double fdim( double, double ); }
-long double fdim( long double, long double );
-
-float nan( const char * );
+static inline long double fdim( long double x, long double y ) { return fdiml( x, y ); }
+
+static inline float nan( const char * tag ) { return nanf( tag ); }
 // extern "C" { double nan( const char * ); }
-long double nan( const char * );
+static inline long double nan( const char * tag ) { return nanl( tag ); }
 
 //---------------------- Exponential ----------------------
 
-float exp( float );
+static inline float exp( float x ) { return expf( x ); }
 // extern "C" { double exp( double ); }
-long double exp( long double );
-float _Complex exp( float _Complex );
-double _Complex exp( double _Complex );
-long double _Complex exp( long double _Complex );
-
-float exp2( float );
+static inline long double exp( long double x ) { return expl( x ); }
+static inline float _Complex exp( float _Complex x ) { return cexpf( x ); }
+static inline double _Complex exp( double _Complex x ) { return cexp( x ); }
+static inline long double _Complex exp( long double _Complex x ) { return cexpl( x ); }
+
+static inline float exp2( float x ) { return exp2f( x ); }
 // extern "C" { double exp2( double ); }
-long double exp2( long double );
-// float _Complex exp2( float _Complex );
-// double _Complex exp2( double _Complex );
-// long double _Complex exp2( long double _Complex );
-
-float expm1( float );
+static inline long double exp2( long double x ) { return exp2l( x ); }
+//static inline float _Complex exp2( float _Complex x ) { return cexp2f( x ); }
+//static inline double _Complex exp2( double _Complex x ) { return cexp2( x ); }
+//static inline long double _Complex exp2( long double _Complex x ) { return cexp2l( x ); }
+
+static inline float expm1( float x ) { return expm1f( x ); }
 // extern "C" { double expm1( double ); }
-long double expm1( long double );
-
-float log( float );
+static inline long double expm1( long double x ) { return expm1l( x ); }
+
+static inline float pow( float x, float y ) { return powf( x, y ); }
+// extern "C" { double pow( double, double ); }
+static inline long double pow( long double x, long double y ) { return powl( x, y ); }
+static inline float _Complex pow( float _Complex x, float _Complex y ) { return cpowf( x, y ); }
+static inline double _Complex pow( double _Complex x, double _Complex y ) { return cpow( x, y ); }
+static inline long double _Complex pow( long double _Complex x, long double _Complex y ) { return cpowl( x, y ); }
+
+//---------------------- Logarithm ----------------------
+
+static inline float log( float x ) { return logf( x ); }
 // extern "C" { double log( double ); }
-long double log( long double );
-float _Complex log( float _Complex );
-double _Complex log( double _Complex );
-long double _Complex log( long double _Complex );
-
-float log2( float );
+static inline long double log( long double x ) { return logl( x ); }
+static inline float _Complex log( float _Complex x ) { return clogf( x ); }
+static inline double _Complex log( double _Complex x ) { return clog( x ); }
+static inline long double _Complex log( long double _Complex x ) { return clogl( x ); }
+
+static inline float log2( float x ) { return log2f( x ); }
 // extern "C" { double log2( double ); }
-long double log2( long double );
-// float _Complex log2( float _Complex );
-// double _Complex log2( double _Complex );
-// long double _Complex log2( long double _Complex );
-
-float log10( float );
+static inline long double log2( long double x ) { return log2l( x ); }
+// static inline float _Complex log2( float _Complex x ) { return clog2f( x ); }
+// static inline double _Complex log2( double _Complex x ) { return clog2( x ); }
+// static inline long double _Complex log2( long double _Complex x ) { return clog2l( x ); }
+
+static inline float log10( float x ) { return log10f( x ); }
 // extern "C" { double log10( double ); }
-long double log10( long double );
-// float _Complex log10( float _Complex );
-// double _Complex log10( double _Complex );
-// long double _Complex log10( long double _Complex );
-
-float log1p( float );
+static inline long double log10( long double x ) { return log10l( x ); }
+// static inline float _Complex log10( float _Complex x ) { return clog10f( x ); }
+// static inline double _Complex log10( double _Complex x ) { return clog10( x ); }
+// static inline long double _Complex log10( long double _Complex x ) { return clog10l( x ); }
+
+static inline float log1p( float x ) { return log1pf( x ); }
 // extern "C" { double log1p( double ); }
-long double log1p( long double );
-
-int ilogb( float );
+static inline long double log1p( long double x ) { return log1pl( x ); }
+
+static inline int ilogb( float x ) { return ilogbf( x ); }
 // extern "C" { int ilogb( double ); }
-int ilogb( long double );
-
-float logb( float );
+static inline int ilogb( long double x ) { return ilogbl( x ); }
+
+static inline float logb( float x ) { return logbf( x ); }
 // extern "C" { double logb( double ); }
-long double logb( long double );
-
-//---------------------- Power ----------------------
-
-float sqrt( float );
+static inline long double logb( long double x ) { return logbl( x ); }
+
+static inline float sqrt( float x ) { return sqrtf( x ); }
 // extern "C" { double sqrt( double ); }
-long double sqrt( long double );
-float _Complex sqrt( float _Complex );
-double _Complex sqrt( double _Complex );
-long double _Complex sqrt( long double _Complex );
-
-float cbrt( float );
+static inline long double sqrt( long double x ) { return sqrtl( x ); }
+static inline float _Complex sqrt( float _Complex x ) { return csqrtf( x ); }
+static inline double _Complex sqrt( double _Complex x ) { return csqrt( x ); }
+static inline long double _Complex sqrt( long double _Complex x ) { return csqrtl( x ); }
+
+static inline float cbrt( float x ) { return cbrtf( x ); }
 // extern "C" { double cbrt( double ); }
-long double cbrt( long double );
-
-float hypot( float, float );
+static inline long double cbrt( long double x ) { return cbrtl( x ); }
+
+static inline float hypot( float x, float y ) { return hypotf( x, y ); }
 // extern "C" { double hypot( double, double ); }
-long double hypot( long double, long double );
-
-float pow( float, float );
-// extern "C" { double pow( double, double ); }
-long double pow( long double, long double );
-float _Complex pow( float _Complex, float _Complex );
-double _Complex pow( double _Complex, double _Complex );
-long double _Complex pow( long double _Complex, long double _Complex );
+static inline long double hypot( long double x, long double y ) { return hypotl( x, y ); }
 
 //---------------------- Trigonometric ----------------------
 
-float sin( float );
+static inline float sin( float x ) { return sinf( x ); }
 // extern "C" { double sin( double ); }
-long double sin( long double );
-float _Complex sin( float _Complex );
-double _Complex sin( double _Complex );
-long double _Complex sin( long double _Complex );
-
-float cos( float );
+static inline long double sin( long double x ) { return sinl( x ); }
+static inline float _Complex sin( float _Complex x ) { return csinf( x ); }
+static inline double _Complex sin( double _Complex x ) { return csin( x ); }
+static inline long double _Complex sin( long double _Complex x ) { return csinl( x ); }
+
+static inline float cos( float x ) { return cosf( x ); }
 // extern "C" { double cos( double ); }
-long double cos( long double );
-float _Complex cos( float _Complex );
-double _Complex cos( double _Complex );
-long double _Complex cos( long double _Complex );
-
-float tan( float );
+static inline long double cos( long double x ) { return cosl( x ); }
+static inline float _Complex cos( float _Complex x ) { return ccosf( x ); }
+static inline double _Complex cos( double _Complex x ) { return ccos( x ); }
+static inline long double _Complex cos( long double _Complex x ) { return ccosl( x ); }
+
+static inline float tan( float x ) { return tanf( x ); }
 // extern "C" { double tan( double ); }
-long double tan( long double );
-float _Complex tan( float _Complex );
-double _Complex tan( double _Complex );
-long double _Complex tan( long double _Complex );
-
-float asin( float );
+static inline long double tan( long double x ) { return tanl( x ); }
+static inline float _Complex tan( float _Complex x ) { return ctanf( x ); }
+static inline double _Complex tan( double _Complex x ) { return ctan( x ); }
+static inline long double _Complex tan( long double _Complex x ) { return ctanl( x ); }
+
+static inline float asin( float x ) { return asinf( x ); }
 // extern "C" { double asin( double ); }
-long double asin( long double );
-float _Complex asin( float _Complex );
-double _Complex asin( double _Complex );
-long double _Complex asin( long double _Complex );
-
-float acos( float );
+static inline long double asin( long double x ) { return asinl( x ); }
+static inline float _Complex asin( float _Complex x ) { return casinf( x ); }
+static inline double _Complex asin( double _Complex x ) { return casin( x ); }
+static inline long double _Complex asin( long double _Complex x ) { return casinl( x ); }
+
+static inline float acos( float x ) { return acosf( x ); }
 // extern "C" { double acos( double ); }
-long double acos( long double );
-float _Complex acos( float _Complex );
-double _Complex acos( double _Complex );
-long double _Complex acos( long double _Complex );
-
-float atan( float );
+static inline long double acos( long double x ) { return acosl( x ); }
+static inline float _Complex acos( float _Complex x ) { return cacosf( x ); }
+static inline double _Complex acos( double _Complex x ) { return cacos( x ); }
+static inline long double _Complex acos( long double _Complex x ) { return cacosl( x ); }
+
+static inline float atan( float x ) { return atanf( x ); }
 // extern "C" { double atan( double ); }
-long double atan( long double );
-float _Complex atan( float _Complex );
-double _Complex atan( double _Complex );
-long double _Complex atan( long double _Complex );
-
-float atan2( float, float );
+static inline long double atan( long double x ) { return atanl( x ); }
+static inline float _Complex atan( float _Complex x ) { return catanf( x ); }
+static inline double _Complex atan( double _Complex x ) { return catan( x ); }
+static inline long double _Complex atan( long double _Complex x ) { return catanl( x ); }
+
+static inline float atan2( float x, float y ) { return atan2f( x, y ); }
 // extern "C" { double atan2( double, double ); }
-long double atan2( long double, long double );
-
-float atan( float, float );								// alternative name for atan2
-double atan( double, double );
-long double atan( long double, long double );
+static inline long double atan2( long double x, long double y ) { return atan2l( x, y ); }
+
+// alternative name for atan2
+static inline float atan( float x, float y ) { return atan2f( x, y ); }
+static inline double atan( double x, double y ) { return atan2( x, y ); }
+static inline long double atan( long double x, long double y ) { return atan2l( x, y ); }
 
 //---------------------- Hyperbolic ----------------------
 
-float sinh( float );
+static inline float sinh( float x ) { return sinhf( x ); }
 // extern "C" { double sinh( double ); }
-long double sinh( long double );
-float _Complex sinh( float _Complex );
-double _Complex sinh( double _Complex );
-long double _Complex sinh( long double _Complex );
-
-float cosh( float );
+static inline long double sinh( long double x ) { return sinhl( x ); }
+static inline float _Complex sinh( float _Complex x ) { return csinhf( x ); }
+static inline double _Complex sinh( double _Complex x ) { return csinh( x ); }
+static inline long double _Complex sinh( long double _Complex x ) { return csinhl( x ); }
+
+static inline float cosh( float x ) { return coshf( x ); }
 // extern "C" { double cosh( double ); }
-long double cosh( long double );
-float _Complex cosh( float _Complex );
-double _Complex cosh( double _Complex );
-long double _Complex cosh( long double _Complex );
-
-float tanh( float );
+static inline long double cosh( long double x ) { return coshl( x ); }
+static inline float _Complex cosh( float _Complex x ) { return ccoshf( x ); }
+static inline double _Complex cosh( double _Complex x ) { return ccosh( x ); }
+static inline long double _Complex cosh( long double _Complex x ) { return ccoshl( x ); }
+
+static inline float tanh( float x ) { return tanhf( x ); }
 // extern "C" { double tanh( double ); }
-long double tanh( long double );
-float _Complex tanh( float _Complex );
-double _Complex tanh( double _Complex );
-long double _Complex tanh( long double _Complex );
-
-float asinh( float );
+static inline long double tanh( long double x ) { return tanhl( x ); }
+static inline float _Complex tanh( float _Complex x ) { return ctanhf( x ); }
+static inline double _Complex tanh( double _Complex x ) { return ctanh( x ); }
+static inline long double _Complex tanh( long double _Complex x ) { return ctanhl( x ); }
+
+static inline float asinh( float x ) { return asinhf( x ); }
 // extern "C" { double asinh( double ); }
-long double asinh( long double );
-float _Complex asinh( float _Complex );
-double _Complex asinh( double _Complex );
-long double _Complex asinh( long double _Complex );
-
-float acosh( float );
+static inline long double asinh( long double x ) { return asinhl( x ); }
+static inline float _Complex asinh( float _Complex x ) { return casinhf( x ); }
+static inline double _Complex asinh( double _Complex x ) { return casinh( x ); }
+static inline long double _Complex asinh( long double _Complex x ) { return casinhl( x ); }
+
+static inline float acosh( float x ) { return acoshf( x ); }
 // extern "C" { double acosh( double ); }
-long double acosh( long double );
-float _Complex acosh( float _Complex );
-double _Complex acosh( double _Complex );
-long double _Complex acosh( long double _Complex );
-
-float atanh( float );
+static inline long double acosh( long double x ) { return acoshl( x ); }
+static inline float _Complex acosh( float _Complex x ) { return cacoshf( x ); }
+static inline double _Complex acosh( double _Complex x ) { return cacosh( x ); }
+static inline long double _Complex acosh( long double _Complex x ) { return cacoshl( x ); }
+
+static inline float atanh( float x ) { return atanhf( x ); }
 // extern "C" { double atanh( double ); }
-long double atanh( long double );
-float _Complex atanh( float _Complex );
-double _Complex atanh( double _Complex );
-long double _Complex atanh( long double _Complex );
+static inline long double atanh( long double x ) { return atanhl( x ); }
+static inline float _Complex atanh( float _Complex x ) { return catanhf( x ); }
+static inline double _Complex atanh( double _Complex x ) { return catanh( x ); }
+static inline long double _Complex atanh( long double _Complex x ) { return catanhl( x ); }
 
 //---------------------- Error / Gamma ----------------------
 
-float erf( float );
+static inline float erf( float x ) { return erff( x ); }
 // extern "C" { double erf( double ); }
-long double erf( long double );
+static inline long double erf( long double x ) { return erfl( x ); }
 // float _Complex erf( float _Complex );
 // double _Complex erf( double _Complex );
 // long double _Complex erf( long double _Complex );
 
-float erfc( float );
+static inline float erfc( float x ) { return erfcf( x ); }
 // extern "C" { double erfc( double ); }
-long double erfc( long double );
+static inline long double erfc( long double x ) { return erfcl( x ); }
 // float _Complex erfc( float _Complex );
 // double _Complex erfc( double _Complex );
 // long double _Complex erfc( long double _Complex );
 
-float lgamma( float );
+static inline float lgamma( float x ) { return lgammaf( x ); }
 // extern "C" { double lgamma( double ); }
-long double lgamma( long double );
-float lgamma( float, int * );
-double lgamma( double, int * );
-long double lgamma( long double, int * );
-
-float tgamma( float );
+static inline long double lgamma( long double x ) { return lgammal( x ); }
+static inline float lgamma( float x, int * sign ) { return lgammaf_r( x, sign ); }
+static inline double lgamma( double x, int * sign ) { return lgamma_r( x, sign ); }
+static inline long double lgamma( long double x, int * sign ) { return lgammal_r( x, sign ); }
+
+static inline float tgamma( float x ) { return tgammaf( x ); }
 // extern "C" { double tgamma( double ); }
-long double tgamma( long double );
+static inline long double tgamma( long double x ) { return tgammal( x ); }
 
 //---------------------- Nearest Integer ----------------------
 
-float floor( float );
+static inline float floor( float x ) { return floorf( x ); }
 // extern "C" { double floor( double ); }
-long double floor( long double );
-
-float ceil( float );
+static inline long double floor( long double x ) { return floorl( x ); }
+
+static inline float ceil( float x ) { return ceilf( x ); }
 // extern "C" { double ceil( double ); }
-long double ceil( long double );
-
-float trunc( float );
+static inline long double ceil( long double x ) { return ceill( x ); }
+
+static inline float trunc( float x ) { return truncf( x ); }
 // extern "C" { double trunc( double ); }
-long double trunc( long double );
-
-float rint( float );
-long double rint( long double );
-long int rint( float );
-long int rint( double );
-long int rint( long double );
-long long int rint( float );
-long long int rint( double );
-long long int rint( long double );
-
-long int lrint( float );
+static inline long double trunc( long double x ) { return truncl( x ); }
+
+static inline float rint( float x ) { return rintf( x ); }
+// extern "C" { double rint( double x ); }
+static inline long double rint( long double x ) { return rintl( x ); }
+static inline long int rint( float x ) { return lrintf( x ); }
+static inline long int rint( double x ) { return lrint( x ); }
+static inline long int rint( long double x ) { return lrintl( x ); }
+static inline long long int rint( float x ) { return llrintf( x ); }
+static inline long long int rint( double x ) { return llrint( x ); }
+static inline long long int rint( long double x ) { return llrintl( x ); }
+
+static inline long int lrint( float x ) { return lrintf( x ); }
 // extern "C" { long int lrint( double ); }
-long int lrint( long double );
-long long int llrint( float );
+static inline long int lrint( long double x ) { return lrintl( x ); }
+static inline long long int llrint( float x ) { return llrintf( x ); }
 // extern "C" { long long int llrint( double ); }
-long long int llrint( long double );
-
-float nearbyint( float );
+static inline long long int llrint( long double x ) { return llrintl( x ); }
+
+static inline float nearbyint( float x ) { return nearbyintf( x ); }
 // extern "C" { double nearbyint( double ); }
-long double nearbyint( long double );
-
-float round( float );
-long double round( long double );
-long int round( float );
-long int round( double );
-long int round( long double );
-long long int round( float );
-long long int round( double );
-long long int round( long double );
-
-long int lround( float );
+static inline long double nearbyint( long double x ) { return nearbyintl( x ); }
+
+static inline float round( float x ) { return roundf( x ); }
+// extern "C" { double round( double x ); }
+static inline long double round( long double x ) { return roundl( x ); }
+static inline long int round( float x ) { return lroundf( x ); }
+static inline long int round( double x ) { return lround( x ); }
+static inline long int round( long double x ) { return lroundl( x ); }
+static inline long long int round( float x ) { return llroundf( x ); }
+static inline long long int round( double x ) { return llround( x ); }
+static inline long long int round( long double x ) { return llroundl( x ); }
+
+static inline long int lround( float x ) { return lroundf( x ); }
 // extern "C" { long int lround( double ); }
-long int lround( long double );
-long long int llround( float );
+static inline long int lround( long double x ) { return lroundl( x ); }
+static inline long long int llround( float x ) { return llroundf( x ); }
 // extern "C" { long long int llround( double ); }
-long long int llround( long double );
+static inline long long int llround( long double x ) { return llroundl( x ); }
 
 //---------------------- Manipulation ----------------------
 
-float copysign( float, float );
+static inline float copysign( float x, float y ) { return copysignf( x, y ); }
 // extern "C" { double copysign( double, double ); }
-long double copysign( long double, long double );
-
-float frexp( float, int * );
+static inline long double copysign( long double x, long double y ) { return copysignl( x, y ); }
+
+static inline float frexp( float x, int * ip ) { return frexpf( x, ip ); }
 // extern "C" { double frexp( double, int * ); }
-long double frexp( long double, int * );
-
-float ldexp( float, int );
+static inline long double frexp( long double x, int * ip ) { return frexpl( x, ip ); }
+
+static inline float ldexp( float x, int exp2 ) { return ldexpf( x, exp2 ); }
 // extern "C" { double ldexp( double, int ); }
-long double ldexp( long double, int );
-
-[ float, float ] modf( float );
-float modf( float, float * );
-[ double, double ] modf( double );
+static inline long double ldexp( long double x, int exp2 ) { return ldexpl( x, exp2 ); }
+
+static inline [ float, float ] modf( float x ) { float i; x = modff( x, &i ); return [ i, x ]; }
+static inline float modf( float x, float * i ) { return modff( x, i ); }
+static inline [ double, double ] modf( double x ) { double i; x = modf( x, &i ); return [ i, x ]; }
 // extern "C" { double modf( double, double * ); }
-[ long double, long double ] modf( long double );
-long double modf( long double, long double * );
-
-float nextafter( float, float );
+static inline [ long double, long double ] modf( long double x ) { long double i; x = modfl( x, &i ); return [ i, x ]; }
+static inline long double modf( long double x, long double * i ) { return modfl( x, i ); }
+
+static inline float nextafter( float x, float y ) { return nextafterf( x, y ); }
 // extern "C" { double nextafter( double, double ); }
-long double nextafter( long double, long double );
-
-float nexttoward( float, long double );
+static inline long double nextafter( long double x, long double y ) { return nextafterl( x, y ); }
+
+static inline float nexttoward( float x, long double y ) { return nexttowardf( x, y ); }
 // extern "C" { double nexttoward( double, long double ); }
-long double nexttoward( long double, long double );
-
-float scalbn( float, int );
+static inline long double nexttoward( long double x, long double y ) { return nexttowardl( x, y ); }
+
+static inline float scalbn( float x, int exp ) { return scalbnf( x, exp ); }
 // extern "C" { double scalbn( double, int ); }
-long double scalbn( long double, int );
-
-float scalbln( float, long int );
+static inline long double scalbn( long double x, int exp ) { return scalbnl( x, exp ); }
+static inline float scalbn( float x, long int exp ) { return scalblnf( x, exp ); }
+static inline double scalbn( double x, long int exp ) { return scalbln( x, exp ); }
+static inline long double scalbn( long double x, long int exp ) { return scalblnl( x, exp ); }
+
+static inline float scalbln( float x, long int exp ) { return scalblnf( x, exp ); }
 // extern "C" { double scalbln( double, long int ); }
-long double scalbln( long double, long int );
+static inline long double scalbln( long double x, long int exp ) { return scalblnl( x, exp ); }
 
 // Local Variables: //
Index: src/libcfa/math.c
===================================================================
--- src/libcfa/math.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ 	(revision )
@@ -1,299 +1,0 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// math.c --
-//
-// Author           : Peter A. Buhr
-// Created On       : Tue Apr 19 22:23:08 2016
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Tue May 23 22:52:13 2017
-// Update Count     : 76
-//
-
-#include "math"
-
-extern "C" {
-#include <complex.h>
-} // extern "C"
-
-float ?%?( float x, float y ) { return fmodf( x, y ); }
-float fmod( float x, float y ) { return fmodf( x, y ); }
-double ?%?( double x, double y ) { return fmod( x, y ); }
-long double ?%?( long double x, long double y ) { return fmodl( x, y ); }
-long double fmod( long double x, long double y ) { return fmodl( x, y ); }
-
-float remainder( float x, float y ) { return remainderf( x, y ); }
-long double remainder( long double x, long double y ) { return remainderl( x, y ); }
-
-[ int, float ] remquo( float x, float y ) { int quo; x = remquof( x, y, &quo ); return [ quo, x ]; }
-float remquo( float x, float y, int *quo ) { return remquof( x, y, quo ); }
-[ int, double ] remquo( double x, double y ) { int quo; x = remquo( x, y, &quo ); return [ quo, x ]; }
-[ int, long double ] remquo( long double x, long double y ) { int quo; x = remquol( x, y, &quo ); return [ quo, x ]; }
-long double remquo( long double x, long double y, int *quo ) { return remquol( x, y, quo ); }
-
-[ int, float ] div( float x, float y ) { int quo; x = remquof( x, y, &quo ); return [ quo, x ]; }
-float div( float x, float y, int *quo ) { return remquof( x, y, quo ); }
-[ int, double ] div( double x, double y ) { int quo; x = remquo( x, y, &quo ); return [ quo, x ]; }
-[ int, long double ] div( long double x, long double y ) { int quo; x = remquol( x, y, &quo ); return [ quo, x ]; }
-long double div( long double x, long double y, int *quo ) { return remquol( x, y, quo ); }
-
-float fma( float x, float y, float z ) { return fmaf( x, y, z ); }
-long double fma( long double x, long double y, long double z ) { return fmal( x, y, z ); }
-
-float fdim( float x, float y ) { return fdimf( x, y ); }
-long double fdim( long double x, long double y ) { return fdiml( x, y ); }
-
-float nan( const char *tag ) { return nanf( tag ); }
-long double nan( const char *tag ) { return nanl( tag ); }
-
-//---------------------- Exponential ----------------------
-
-float exp( float x ) { return expf( x ); }
-long double exp( long double x ) { return expl( x ); }
-float _Complex exp( float _Complex x ) { return cexpf( x ); }
-double _Complex exp( double _Complex x ) { return cexp( x ); }
-long double _Complex exp( long double _Complex x ) { return cexpl( x ); }
-
-float exp2( float x ) { return exp2f( x ); }
-long double exp2( long double x ) { return exp2l( x ); }
-// float _Complex exp2( float _Complex x ) { return cexp2f( x ); }
-// double _Complex exp2( double _Complex x ) { return cexp2( x ); }
-// long double _Complex exp2( long double _Complex x ) { return cexp2l( x ); }
-
-float expm1( float x ) { return expm1f( x ); }
-long double expm1( long double x ) { return expm1l( x ); }
-
-float log( float x ) { return logf( x ); }
-long double log( long double x ) { return logl( x ); }
-float _Complex log( float _Complex x ) { return clogf( x ); }
-double _Complex log( double _Complex x ) { return clog( x ); }
-long double _Complex log( long double _Complex x ) { return clogl( x ); }
-
-float log2( float x ) { return log2f( x ); }
-long double log2( long double x ) { return log2l( x ); }
-// float _Complex log2( float _Complex x ) { return clog2f( x ); }
-// double _Complex log2( double _Complex x ) { return clog2( x ); }
-// long double _Complex log2( long double _Complex x ) { return clog2l( x ); }
-
-float log10( float x ) { return log10f( x ); }
-long double log10( long double x ) { return log10l( x ); }
-// float _Complex log10( float _Complex x ) { return clog10f( x ); }
-// double _Complex log10( double _Complex x ) { return clog10( x ); }
-// long double _Complex log10( long double _Complex x ) { return clog10l( x ); }
-
-float log1p( float x ) { return log1pf( x ); }
-long double log1p( long double x ) { return log1pl( x ); }
-
-int ilogb( float x ) { return ilogbf( x ); }
-int ilogb( long double x ) { return ilogbl( x ); }
-
-float logb( float x ) { return logbf( x ); }
-long double logb( long double x ) { return logbl( x ); }
-
-//---------------------- Power ----------------------
-
-float sqrt( float x ) { return sqrtf( x ); }
-long double sqrt( long double x ) { return sqrtl( x ); }
-float _Complex sqrt( float _Complex x ) { return csqrtf( x ); }
-double _Complex sqrt( double _Complex x ) { return csqrt( x ); }
-long double _Complex sqrt( long double _Complex x ) { return csqrtl( x ); }
-
-float cbrt( float x ) { return cbrtf( x ); }
-long double cbrt( long double x ) { return cbrtl( x ); }
-
-float hypot( float x, float y ) { return hypotf( x, y ); }
-long double hypot( long double x, long double y ) { return hypotl( x, y ); }
-
-float pow( float x, float y ) { return powf( x, y ); }
-long double pow( long double x, long double y ) { return powl( x, y ); }
-float _Complex pow( float _Complex x, float _Complex y ) { return cpowf( x, y ); }
-double _Complex pow( double _Complex x, double _Complex y ) { return cpow( x, y ); }
-long double _Complex pow( long double _Complex x, long double _Complex y ) { return cpowl( x, y ); }
-
-//---------------------- Trigonometric ----------------------
-
-float sin( float x ) { return sinf( x ); }
-long double sin( long double x ) { return sinl( x ); }
-float _Complex sin( float _Complex x ) { return csinf( x ); }
-double _Complex sin( double _Complex x ) { return csin( x ); }
-long double _Complex sin( long double _Complex x ) { return csinl( x ); }
-
-float cos( float x ) { return cosf( x ); }
-long double cos( long double x ) { return cosl( x ); }
-float _Complex cos( float _Complex x ) { return ccosf( x ); }
-double _Complex cos( double _Complex x ) { return ccos( x ); }
-long double _Complex cos( long double _Complex x ) { return ccosl( x ); }
-
-float tan( float x ) { return tanf( x ); }
-long double tan( long double x ) { return tanl( x ); }
-float _Complex tan( float _Complex x ) { return ctanf( x ); }
-double _Complex tan( double _Complex x ) { return ctan( x ); }
-long double _Complex tan( long double _Complex x ) { return ctanl( x ); }
-
-float asin( float x ) { return asinf( x ); }
-long double asin( long double x ) { return asinl( x ); }
-float _Complex asin( float _Complex x ) { return casinf( x ); }
-double _Complex asin( double _Complex x ) { return casin( x ); }
-long double _Complex asin( long double _Complex x ) { return casinl( x ); }
-
-float acos( float x ) { return acosf( x ); }
-long double acos( long double x ) { return acosl( x ); }
-float _Complex acos( float _Complex x ) { return cacosf( x ); }
-double _Complex acos( double _Complex x ) { return cacos( x ); }
-long double _Complex acos( long double _Complex x ) { return cacosl( x ); }
-
-float atan( float x ) { return atanf( x ); }
-long double atan( long double x ) { return atanl( x ); }
-float _Complex atan( float _Complex x ) { return catanf( x ); }
-double _Complex atan( double _Complex x ) { return catan( x ); }
-long double _Complex atan( long double _Complex x ) { return catanl( x ); }
-
-float atan2( float x, float y ) { return atan2f( x, y ); }
-long double atan2( long double x, long double y ) { return atan2l( x, y ); }
-
-float atan( float x, float y ) { return atan2f( x, y ); }
-double atan( double x, double y ) { return atan2( x, y ); }
-long double atan( long double x, long double y ) { return atan2l( x, y ); }
-
-//---------------------- Hyperbolic ----------------------
-
-float sinh( float x ) { return sinhf( x ); }
-long double sinh( long double x ) { return sinhl( x ); }
-float _Complex sinh( float _Complex x ) { return csinhf( x ); }
-double _Complex sinh( double _Complex x ) { return csinh( x ); }
-long double _Complex sinh( long double _Complex x ) { return csinhl( x ); }
-
-float cosh( float x ) { return coshf( x ); }
-long double cosh( long double x ) { return coshl( x ); }
-float _Complex cosh( float _Complex x ) { return ccoshf( x ); }
-double _Complex cosh( double _Complex x ) { return ccosh( x ); }
-long double _Complex cosh( long double _Complex x ) { return ccoshl( x ); }
-
-float tanh( float x ) { return tanhf( x ); }
-long double tanh( long double x ) { return tanhl( x ); }
-float _Complex tanh( float _Complex x ) { return ctanhf( x ); }
-double _Complex tanh( double _Complex x ) { return ctanh( x ); }
-long double _Complex tanh( long double _Complex x ) { return ctanhl( x ); }
-
-float asinh( float x ) { return asinhf( x ); }
-long double asinh( long double x ) { return asinhl( x ); }
-float _Complex asinh( float _Complex x ) { return casinhf( x ); }
-double _Complex asinh( double _Complex x ) { return casinh( x ); }
-long double _Complex asinh( long double _Complex x ) { return casinhl( x ); }
-
-float acosh( float x ) { return acoshf( x ); }
-long double acosh( long double x ) { return acoshl( x ); }
-float _Complex acosh( float _Complex x ) { return cacoshf( x ); }
-double _Complex acosh( double _Complex x ) { return cacosh( x ); }
-long double _Complex acosh( long double _Complex x ) { return cacoshl( x ); }
-
-float atanh( float x ) { return atanhf( x ); }
-long double atanh( long double x ) { return atanhl( x ); }
-float _Complex atanh( float _Complex x ) { return catanhf( x ); }
-double _Complex atanh( double _Complex x ) { return catanh( x ); }
-long double _Complex atanh( long double _Complex x ) { return catanhl( x ); }
-
-//---------------------- Error / Gamma ----------------------
-
-float erf( float x ) { return erff( x ); }
-long double erf( long double x ) { return erfl( x ); }
-// float _Complex erf( float _Complex x ) { return crflf( x ); }
-// double _Complex erf( double _Complex x ) { return crfl( x ); }
-// long double _Complex erf( long double _Complex x ) { return crfll( x ); }
-
-float erfc( float x ) { return erfcf( x ); }
-long double erfc( long double x ) { return erfcl( x ); }
-// float _Complex erfc( float _Complex x ) { return cerfcf( x ); }
-// double _Complex erfc( double _Complex x ) { return cerfc( x ); }
-// long double _Complex erfc( long double _Complex x ) { return cerfcl( x ); }
-
-float lgamma( float x ) { return lgammaf( x ); }
-long double lgamma( long double x ) { return lgammal( x ); }
-float lgamma( float x, int *sign ) { return lgammaf_r( x, sign ); }
-double lgamma( double x, int *sign ) { return lgamma_r( x, sign ); }
-long double lgamma( long double x, int *sign ) { return lgammal_r( x, sign ); }
-
-float tgamma( float x ) { return tgammaf( x ); }
-long double tgamma( long double x ) { return tgammal( x ); }
-
-//---------------------- Nearest Integer ----------------------
-
-float floor( float x ) { return floorf( x ); }
-long double floor( long double x ) { return floorl( x ); }
-
-float ceil( float x ) { return ceilf( x ); }
-long double ceil( long double x ) { return ceill( x ); }
-
-float trunc( float x ) { return truncf( x ); }
-long double trunc( long double x ) { return truncl( x ); }
-
-float rint( float x ) { return rintf( x ); }
-long double rint( long double x ) { return rintl( x ); }
-long int rint( float x ) { return lrintf( x ); }
-long int rint( double x ) { return lrint( x ); }
-long int rint( long double x ) { return lrintl( x ); }
-long long int rint( float x ) { return llrintf( x ); }
-long long int rint( double x ) { return llrint( x ); }
-long long int rint( long double x ) { return llrintl( x ); }
-
-long int lrint( float x ) { return lrintf( x ); }
-long int lrint( long double x ) { return lrintl( x ); }
-long long int llrint( float x ) { return llrintf( x ); }
-long long int llrint( long double x ) { return llrintl( x ); }
-
-float nearbyint( float x ) { return nearbyintf( x ); }
-long double nearbyint( long double x ) { return nearbyintl( x ); }
-
-float round( float x ) { return roundf( x ); }
-long double round( long double x ) { return roundl( x ); }
-long int round( float x ) { return lroundf( x ); }
-long int round( double x ) { return lround( x ); }
-long int round( long double x ) { return lroundl( x ); }
-long long int round( float x ) { return llroundf( x ); }
-long long int round( double x ) { return llround( x ); }
-long long int round( long double x ) { return llroundl( x ); }
-
-long int lround( float x ) { return lroundf( x ); }
-long int lround( long double x ) { return lroundl( x ); }
-long long int llround( float x ) { return llroundf( x ); }
-long long int llround( long double x ) { return llroundl( x ); }
-
-//---------------------- Manipulation ----------------------
-
-float copysign( float x, float y ) { return copysignf( x, y ); }
-long double copysign( long double x, long double y ) { return copysignl( x, y ); }
-
-float frexp( float x, int *ip ) { return frexpf( x, ip ); }
-long double frexp( long double x, int *ip ) { return frexpl( x, ip ); }
-
-float ldexp( float x, int exp2 ) { return ldexpf( x, exp2 ); }
-long double ldexp( long double x, int exp2 ) { return ldexpl( x, exp2 ); }
-
-[ float, float ] modf( float x ) { float i; x = modff( x, &i ); return [ i, x ]; }
-float modf( float x, float *i ) { return modff( x, i ); }
-[ double, double ] modf( double x ) { double i; x = modf( x, &i ); return [ i, x ]; }
-[ long double, long double ] modf( long double x ) { long double i; x = modfl( x, &i ); return [ i, x ]; }
-long double modf( long double x, long double *i ) { return modfl( x, i ); }
-
-float nextafter( float x, float y ) { return nextafterf( x, y ); }
-long double nextafter( long double x, long double y ) { return nextafterl( x, y ); }
-
-float nexttoward( float x, long double y ) { return nexttowardf( x, y ); }
-long double nexttoward( long double x, long double y ) { return nexttowardl( x, y ); }
-
-float scalbn( float x, int exp ) { return scalbnf( x, exp ); }
-long double scalbn( long double x, int exp ) { return scalbnl( x, exp ); }
-float scalbn( float x, long int exp ) { return scalblnf( x, exp ); }
-double scalbn( double x, long int exp ) { return scalbln( x, exp ); }
-long double scalbn( long double x, long int exp ) { return scalblnl( x, exp ); }
-
-float scalbln( float x, long int exp ) { return scalblnf( x, exp ); }
-long double scalbln( long double x, long int exp ) { return scalblnl( x, exp ); }
-
-// Local Variables: //
-// mode: c //
-// tab-width: 4 //
-// End: //
Index: src/libcfa/startup.h
===================================================================
--- src/libcfa/startup.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/startup.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                              -*- Mode: CFA -*-
 //
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -10,11 +9,10 @@
 // Author           : Thierry Delisle
 // Created On       : Wed Mar 29 15:56:41 2017
-// Last Modified By : 
-// Last Modified On : 
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Jul 20 21:37:11 2017
+// Update Count     : 2
 //
 
-#ifndef STARTUP_H
-#define STARTUP_H
+#pragma once
 
 #if GCC_VERSION > 50000
@@ -34,3 +32,6 @@
 #endif
 
-#endif //STARTUP_H
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: src/libcfa/stdhdr/assert.h
===================================================================
--- src/libcfa/stdhdr/assert.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/stdhdr/assert.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -10,6 +10,6 @@
 // Created On       : Mon Jul  4 23:25:26 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jul  5 20:34:23 2016
-// Update Count     : 8
+// Last Modified On : Mon Jul 31 23:09:32 2017
+// Update Count     : 13
 // 
 
@@ -18,6 +18,15 @@
 #endif //__CFORALL__
 
-// has internal check for multiple expansion
 #include_next <assert.h>
+
+#ifdef NDEBUG
+	#define assertf( expr, fmt, ... ) ((void)0)
+#else
+	#define __STRINGIFY__(str) #str
+	#define __VSTRINGIFY__(str) __STRINGIFY__(str)
+	#define assertf( expr, fmt, ... ) ((expr) ? ((void)0) : __assert_fail_f(__VSTRINGIFY__(expr), __FILE__, __LINE__, __PRETTY_FUNCTION__, fmt, ## __VA_ARGS__ ))
+
+	void __assert_fail_f( const char *assertion, const char *file, unsigned int line, const char *function, const char *fmt, ... ) __attribute__((noreturn, format( printf, 5, 6) ));
+#endif
 
 #ifdef __CFORALL__
Index: src/libcfa/stdhdr/bfdlink.h
===================================================================
--- src/libcfa/stdhdr/bfdlink.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
+++ src/libcfa/stdhdr/bfdlink.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -0,0 +1,33 @@
+// 
+// Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
+// 
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+// 
+// bfdlink.h -- 
+// 
+// Author           : Peter A. Buhr
+// Created On       : Tue Jul 18 07:26:04 2017
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue Jul 18 07:46:50 2017
+// Update Count     : 3
+// 
+
+// include file uses the CFA keyword "with".
+#if ! defined( with )									// nesting ?
+#define with `with`										// make keyword an identifier
+#define __CFA_BFDLINK_H__
+#endif
+
+#include_next <bfdlink.h>								// must have internal check for multiple expansion
+
+#if defined( with ) && defined( __CFA_BFDLINK_H__ )		// reset only if set
+#undef with
+#undef __CFA_BFDLINK_H__
+#endif
+
+// Local Variables: //
+// tab-width: 4 //
+// mode: c++ //
+// compile-command: "make install" //
+// End: //
Index: src/libcfa/stdhdr/gmp.h
===================================================================
--- src/libcfa/stdhdr/gmp.h	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/stdhdr/gmp.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -1,3 +1,2 @@
-//                               -*- Mode: C -*- 
 // 
 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
@@ -11,6 +10,6 @@
 // Created On       : Sun May 14 23:46:01 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun May 14 23:46:34 2017
-// Update Count     : 1
+// Last Modified On : Thu Jul 20 18:10:52 2017
+// Update Count     : 4
 // 
 
Index: src/libcfa/stdhdr/hwloc.h
===================================================================
--- src/libcfa/stdhdr/hwloc.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
+++ src/libcfa/stdhdr/hwloc.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -0,0 +1,33 @@
+// 
+// Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
+// 
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+// 
+// hwloc.h -- 
+// 
+// Author           : Peter A. Buhr
+// Created On       : Tue Jul 18 07:45:00 2017
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue Jul 18 07:56:33 2017
+// Update Count     : 3
+// 
+
+// include file uses the CFA keyword "thread".
+#if ! defined( thread )									// nesting ?
+#define thread `thread`									// make keyword an identifier
+#define __CFA_HWLOC_H__
+#endif
+
+#include_next <hwloc.h>									// must have internal check for multiple expansion
+
+#if defined( thread ) && defined( __CFA_HWLOC_H__ )		// reset only if set
+#undef thread
+#undef __CFA_HWLOC_H__
+#endif
+
+// Local Variables: //
+// tab-width: 4 //
+// mode: c++ //
+// compile-command: "make install" //
+// End: //
Index: src/libcfa/stdhdr/krb5.h
===================================================================
--- src/libcfa/stdhdr/krb5.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
+++ src/libcfa/stdhdr/krb5.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -0,0 +1,33 @@
+// 
+// Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
+// 
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+// 
+// krb5.h -- 
+// 
+// Author           : Peter A. Buhr
+// Created On       : Tue Jul 18 07:55:44 2017
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue Jul 18 07:58:01 2017
+// Update Count     : 3
+// 
+
+// include file uses the CFA keyword "enable".
+#if ! defined( enable )									// nesting ?
+#define enable `enable`									// make keyword an identifier
+#define __CFA_KRB5_H__
+#endif
+
+#include_next <krb5.h>									// must have internal check for multiple expansion
+
+#if defined( enable ) && defined( __CFA_KRB5_H__ )		// reset only if set
+#undef enable
+#undef __CFA_KRB5_H__
+#endif
+
+// Local Variables: //
+// tab-width: 4 //
+// mode: c++ //
+// compile-command: "make install" //
+// End: //
Index: src/libcfa/stdhdr/malloc.h
===================================================================
--- src/libcfa/stdhdr/malloc.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
+++ src/libcfa/stdhdr/malloc.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -0,0 +1,24 @@
+// 
+// Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+// 
+// malloc.h -- 
+// 
+// Author           : Peter A. Buhr
+// Created On       : Thu Jul 20 15:58:16 2017
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Jul 20 16:00:12 2017
+// Update Count     : 4
+// 
+
+extern "C" {
+#include_next <malloc.h>								// has internal check for multiple expansion
+} // extern "C"
+
+// Local Variables: //
+// tab-width: 4 //
+// mode: c++ //
+// compile-command: "make install" //
+// End: //
Index: src/libcfa/stdlib
===================================================================
--- src/libcfa/stdlib	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/stdlib	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:12:35 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jul  7 09:34:49 2017
-// Update Count     : 219
+// Last Modified On : Mon Aug  7 11:19:07 2017
+// Update Count     : 223
 //
 
@@ -18,10 +18,8 @@
 //---------------------------------------
 
-extern "C" {
 #ifndef EXIT_FAILURE
 #define	EXIT_FAILURE	1								// failing exit status
 #define	EXIT_SUCCESS	0								// successful exit status
 #endif // ! EXIT_FAILURE
-} // extern "C"
 
 //---------------------------------------
@@ -185,6 +183,9 @@
 //---------------------------------------
 
+[ int, int ] div( int num, int denom );
+[ long int, long int ] div( long int num, long int denom );
+[ long long int, long long int ] div( long long int num, long long int denom );
 forall( otype T | { T ?/?( T, T ); T ?%?( T, T ); } )
-[ T, T ] div( T t1, T t2 );
+[ T, T ] div( T num, T demon );
 
 //---------------------------------------
Index: src/libcfa/stdlib.c
===================================================================
--- src/libcfa/stdlib.c	(revision 83a071f98d287fe0dd150376b0c6ea5ff812b18b)
+++ src/libcfa/stdlib.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:10:29 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jun  1 21:52:57 2017
-// Update Count     : 280
+// Last Modified On : Tue Aug  8 17:31:13 2017
+// Update Count     : 291
 //
 
@@ -18,5 +18,4 @@
 //---------------------------------------
 
-extern "C" {
 #define _XOPEN_SOURCE 600								// posix_memalign, *rand48
 #include <stdlib.h>										// malloc, free, calloc, realloc, memalign, posix_memalign, bsearch
@@ -25,5 +24,4 @@
 #include <math.h>										// fabsf, fabs, fabsl
 #include <complex.h>									// _Complex_I
-} // extern "C"
 
 // resize, non-array types
@@ -257,6 +255,9 @@
 //---------------------------------------
 
+[ int, int ] div( int num, int denom ) { div_t qr = div( num, denom ); return [ qr.quot, qr.rem ]; }
+[ long int, long int ] div( long int num, long int denom ) { ldiv_t qr = ldiv( num, denom ); return [ qr.quot, qr.rem ]; }
+[ long long int, long long int ] div( long long int num, long long int denom ) { lldiv_t qr = lldiv( num, denom ); return [ qr.quot, qr.rem ]; }
 forall( otype T | { T ?/?( T, T ); T ?%?( T, T ); } )
-[ T, T ] div( T t1, T t2 ) { return [ t1 / t2, t1 % t2 ]; }
+[ T, T ] div( T num, T denom ) { return [ num / denom, num % denom ]; }
 
 //---------------------------------------
Index: src/libcfa/virtual.c
===================================================================
--- src/libcfa/virtual.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
+++ src/libcfa/virtual.c	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -0,0 +1,31 @@
+//
+// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+//
+// virtual.c --
+//
+// Author           : Andrew Beach
+// Created On       : Tus Jul 11 15:10:00 2017
+// Last Modified By : Andrew Beach
+// Last Modified On : Wed Jul 26 14:24:00 2017
+// Update Count     : 1
+//
+
+#include "virtual.h"
+
+int __cfa__is_parent( struct __cfa__parent_vtable const * parent,
+    	struct __cfa__parent_vtable const * child ) {
+	do {
+		if ( parent == child )
+			return 1;
+		child = child->parent;
+	} while ( child );
+	return 0;
+}
+
+void * __cfa__virtual_cast( struct __cfa__parent_vtable const * parent,
+    	struct __cfa__parent_vtable const * const * child ) {
+	return (__cfa__is_parent(parent, *child)) ? (void *)child : (void *)0;
+}
Index: src/libcfa/virtual.h
===================================================================
--- src/libcfa/virtual.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
+++ src/libcfa/virtual.h	(revision 6cfe8bb19e75c323029ef055e256b576fa8d4bfd)
@@ -0,0 +1,39 @@
+//
+// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+//
+// virtual.h -- Builtins for hierarchy objects.
+//
+// Author           : Andrew Beach
+// Created On       : Tus Jul 11 15:08:00 2017
+// Last Modified By : Andrew Beach
+// Last Modified On : Wed Jul 26 14:18:00 2017
+// Update Count     : 1
+//
+
+#pragma once
+
+#ifdef __CFORALL__
+extern "C" {
+#endif
+
+// All strict/explicate vtables should have this head, showing their parent.
+struct __cfa__parent_vtable {
+    struct __cfa__parent_vtable const * const parent;
+};
+
+// Takes in two non-null pointers to type_objects.
+int __cfa__is_parent( struct __cfa__parent_vtable const * parent,
+		struct __cfa__parent_vtable const * child );
+
+// If parent is a parent of child then return child, otherwise return NULL.
+// Input pointers are none-null, child's first level should be an object with
+// a vtable
+void * __cfa__virtual_cast( struct __cfa__parent_vtable const * parent,
+		struct __cfa__parent_vtable const * const * child );
+
+#ifdef __CFORALL__
+}
+#endif
