Index: src/Common/Assert.cc
===================================================================
--- src/Common/Assert.cc	(revision 1cb22825bab5d56d090288212b0e42e25eff9ae1)
+++ src/Common/Assert.cc	(revision 1cb22825bab5d56d090288212b0e42e25eff9ae1)
@@ -0,0 +1,46 @@
+// 
+// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+// 
+// Assert.cc -- 
+// 
+// Author           : Peter A. Buhr
+// Created On       : Thu Aug 18 13:26:59 2016
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Aug 18 16:32:47 2016
+// Update Count     : 7
+// 
+
+
+#include <assert.h>
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+
+extern const char * __progname;							// global name of running executable (argv[0])
+
+#define CFA_ASSERT_FMT "*CFA assertion error* from program \"%s\" in \"%s\" at line %d in file \"%s\""
+
+// called by macro assert in assert.h
+void __assert_fail( const char *assertion, const char *file, unsigned int line, const char *function ) {
+	fprintf( stderr, CFA_ASSERT_FMT ".\n", __progname, function, line, file );
+	exit( EXIT_FAILURE );
+}
+
+// called by macro assertf
+void __assert_fail_f( const char *assertion, const char *file, unsigned int line, const char *function, const char *fmt, ... ) {
+	fprintf( stderr, CFA_ASSERT_FMT ": ", __progname, function, line, file );
+	va_list args;
+	va_start( args, fmt );
+	vfprintf( stderr, fmt, args );
+	exit( EXIT_FAILURE );
+}
+
+// Local Variables: //
+// tab-width: 4 //
+// mode: c++ //
+// compile-command: "make install" //
+// End:  //
+
Index: src/Common/module.mk
===================================================================
--- src/Common/module.mk	(revision 3b8e52c836b70faf7ced33547b03bc3cca997743)
+++ src/Common/module.mk	(revision 1cb22825bab5d56d090288212b0e42e25eff9ae1)
@@ -11,8 +11,9 @@
 ## Created On       : Mon Jun  1 17:49:17 2015
 ## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  1 17:51:23 2015
-## Update Count     : 1
+## Last Modified On : Thu Aug 18 13:29:04 2016
+## Update Count     : 2
 ###############################################################################
 
 SRC += Common/SemanticError.cc \
-       Common/UniqueName.cc
+       Common/UniqueName.cc \
+       Common/Assert.cc
Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision 3b8e52c836b70faf7ced33547b03bc3cca997743)
+++ src/Makefile.am	(revision 1cb22825bab5d56d090288212b0e42e25eff9ae1)
@@ -11,6 +11,6 @@
 ## Created On       : Sun May 31 08:51:46 2015
 ## Last Modified By : Peter A. Buhr
-## Last Modified On : Fri Jul  8 12:22:25 2016
-## Update Count     : 60
+## Last Modified On : Thu Aug 18 16:37:20 2016
+## Update Count     : 68
 ###############################################################################
 
@@ -42,9 +42,6 @@
 cfa_cpplib_PROGRAMS = driver/cfa-cpp
 driver_cfa_cpp_SOURCES = ${SRC}
-driver_cfa_cpp_LDADD = ${LEXLIB}	# yywrap
-# need files Common/utility.h
-driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL
-
-AM_CXXFLAGS = -g -std=c++11
+driver_cfa_cpp_LDADD = ${LEXLIB}			# yywrap
+driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I@CFA_PREFIX@/src/include
 
 MAINTAINERCLEANFILES += ${libdir}/${notdir ${cfa_cpplib_PROGRAMS}}
Index: src/Makefile.in
===================================================================
--- src/Makefile.in	(revision 3b8e52c836b70faf7ced33547b03bc3cca997743)
+++ src/Makefile.in	(revision 1cb22825bab5d56d090288212b0e42e25eff9ae1)
@@ -105,4 +105,5 @@
 	Common/driver_cfa_cpp-SemanticError.$(OBJEXT) \
 	Common/driver_cfa_cpp-UniqueName.$(OBJEXT) \
+	Common/driver_cfa_cpp-Assert.$(OBJEXT) \
 	ControlStruct/driver_cfa_cpp-LabelGenerator.$(OBJEXT) \
 	ControlStruct/driver_cfa_cpp-LabelFixer.$(OBJEXT) \
@@ -369,5 +370,5 @@
 	CodeGen/CodeGenerator.cc CodeGen/GenType.cc \
 	CodeGen/FixNames.cc CodeGen/OperatorTable.cc \
-	Common/SemanticError.cc Common/UniqueName.cc \
+	Common/SemanticError.cc Common/UniqueName.cc Common/Assert.cc \
 	ControlStruct/LabelGenerator.cc ControlStruct/LabelFixer.cc \
 	ControlStruct/MLEMutator.cc ControlStruct/Mutate.cc \
@@ -425,8 +426,7 @@
 cfa_cpplibdir = ${libdir}
 driver_cfa_cpp_SOURCES = ${SRC}
-driver_cfa_cpp_LDADD = ${LEXLIB}	# yywrap
+driver_cfa_cpp_LDADD = ${LEXLIB}			# yywrap
 # need files Common/utility.h
-driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL
-AM_CXXFLAGS = -g -std=c++11
+driver_cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I@CFA_PREFIX@/src/include
 all: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -527,4 +527,6 @@
 	Common/$(DEPDIR)/$(am__dirstamp)
 Common/driver_cfa_cpp-UniqueName.$(OBJEXT): Common/$(am__dirstamp) \
+	Common/$(DEPDIR)/$(am__dirstamp)
+Common/driver_cfa_cpp-Assert.$(OBJEXT): Common/$(am__dirstamp) \
 	Common/$(DEPDIR)/$(am__dirstamp)
 ControlStruct/$(am__dirstamp):
@@ -814,4 +816,5 @@
 	-rm -f CodeGen/driver_cfa_cpp-Generate.$(OBJEXT)
 	-rm -f CodeGen/driver_cfa_cpp-OperatorTable.$(OBJEXT)
+	-rm -f Common/driver_cfa_cpp-Assert.$(OBJEXT)
 	-rm -f Common/driver_cfa_cpp-SemanticError.$(OBJEXT)
 	-rm -f Common/driver_cfa_cpp-UniqueName.$(OBJEXT)
@@ -923,4 +926,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/driver_cfa_cpp-Generate.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/driver_cfa_cpp-OperatorTable.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/driver_cfa_cpp-Assert.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/driver_cfa_cpp-SemanticError.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/driver_cfa_cpp-UniqueName.Po@am__quote@
@@ -1164,4 +1168,18 @@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/driver_cfa_cpp-UniqueName.obj `if test -f 'Common/UniqueName.cc'; then $(CYGPATH_W) 'Common/UniqueName.cc'; else $(CYGPATH_W) '$(srcdir)/Common/UniqueName.cc'; fi`
 
+Common/driver_cfa_cpp-Assert.o: Common/Assert.cc
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/driver_cfa_cpp-Assert.o -MD -MP -MF Common/$(DEPDIR)/driver_cfa_cpp-Assert.Tpo -c -o Common/driver_cfa_cpp-Assert.o `test -f 'Common/Assert.cc' || echo '$(srcdir)/'`Common/Assert.cc
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) Common/$(DEPDIR)/driver_cfa_cpp-Assert.Tpo Common/$(DEPDIR)/driver_cfa_cpp-Assert.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Common/Assert.cc' object='Common/driver_cfa_cpp-Assert.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/driver_cfa_cpp-Assert.o `test -f 'Common/Assert.cc' || echo '$(srcdir)/'`Common/Assert.cc
+
+Common/driver_cfa_cpp-Assert.obj: Common/Assert.cc
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/driver_cfa_cpp-Assert.obj -MD -MP -MF Common/$(DEPDIR)/driver_cfa_cpp-Assert.Tpo -c -o Common/driver_cfa_cpp-Assert.obj `if test -f 'Common/Assert.cc'; then $(CYGPATH_W) 'Common/Assert.cc'; else $(CYGPATH_W) '$(srcdir)/Common/Assert.cc'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) Common/$(DEPDIR)/driver_cfa_cpp-Assert.Tpo Common/$(DEPDIR)/driver_cfa_cpp-Assert.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='Common/Assert.cc' object='Common/driver_cfa_cpp-Assert.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/driver_cfa_cpp-Assert.obj `if test -f 'Common/Assert.cc'; then $(CYGPATH_W) 'Common/Assert.cc'; else $(CYGPATH_W) '$(srcdir)/Common/Assert.cc'; fi`
+
 ControlStruct/driver_cfa_cpp-LabelGenerator.o: ControlStruct/LabelGenerator.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/driver_cfa_cpp-LabelGenerator.o -MD -MP -MF ControlStruct/$(DEPDIR)/driver_cfa_cpp-LabelGenerator.Tpo -c -o ControlStruct/driver_cfa_cpp-LabelGenerator.o `test -f 'ControlStruct/LabelGenerator.cc' || echo '$(srcdir)/'`ControlStruct/LabelGenerator.cc
Index: src/main.cc
===================================================================
--- src/main.cc	(revision 3b8e52c836b70faf7ced33547b03bc3cca997743)
+++ src/main.cc	(revision 1cb22825bab5d56d090288212b0e42e25eff9ae1)
@@ -10,6 +10,6 @@
 // Created On       : Fri May 15 23:12:02 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Aug 17 22:13:38 2016
-// Update Count     : 341
+// Last Modified On : Thu Aug 18 16:33:49 2016
+// Update Count     : 347
 //
 
@@ -70,30 +70,4 @@
 static void dump( std::list< Declaration * > & translationUnit, std::ostream & out = std::cout );
 
-//************************************************
-
-#define __STRINGIFY__(str) #str
-#define __VSTRINGIFY__(str) __STRINGIFY__(str)
-#define assertf(expr, fmt, ...) ((expr) ? static_cast<void>(0) : __assert_fail_f(__VSTRINGIFY__(expr), __FILE__, __LINE__, __PRETTY_FUNCTION__, fmt, ## __VA_ARGS__ ))
-#define CFA_ASSERT_FMT "*CFA assertion error* from program \"%s\" in \"%s\" at line %d in file \"%s\": "
-
-extern const char * __progname;							// global name of running executable (argv[0])
-// called by macro assert in assert.h
-void __assert_fail( const char *assertion, const char *file, unsigned int line, const char *function ) {
-	fprintf( stderr, CFA_ASSERT_FMT, __progname, function, line, file );
-	exit( EXIT_FAILURE );
-}
-
-#include <cstdarg>
-// called by macro assertf
-void __assert_fail_f( const char *assertion, const char *file, unsigned int line, const char *function, const char *fmt, ... ) {
-	fprintf( stderr, CFA_ASSERT_FMT, __progname, function, line, file );
-	va_list args;
-	va_start( args, fmt );
-	vfprintf( stderr, fmt, args );
-	exit( EXIT_FAILURE );
-}
-
-//************************************************
-
 int main( int argc, char * argv[] ) {
 	FILE * input;										// use FILE rather than istream because yyin is FILE
@@ -408,6 +382,4 @@
 } // dump
 
-
-
 // Local Variables: //
 // tab-width: 4 //
