Index: libcfa/prelude/prelude-gen.cc
===================================================================
--- libcfa/prelude/prelude-gen.cc	(revision 2782f38a71eacbc10ee2e26fb9a636cb17b6ccd4)
+++ libcfa/prelude/prelude-gen.cc	(revision 45af7e1145e9631b244b43c9e04278d852a2e414)
@@ -1,2 +1,17 @@
+// 
+// Cforall Version 1.0.0 Copyright (C) 2018 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+// 
+// prelude-gen.cc -- 
+// 
+// Author           : Rob Schluntz and Thierry Delisle
+// Created On       : Sat Feb 16 08:44:58 2019
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon Feb 18 09:47:33 2019
+// Update Count     : 22
+// 
+
 #include <algorithm>
 #include <array>
@@ -11,7 +26,7 @@
 	bool hasComparison;
 } basicTypes[] = {
-	// { "char"                  , false, true , },
-	// { "signed char"           , false, true , },
-	// { "unsigned char"         , false, true , },
+	{ "char"                  , false, true , },
+	{ "signed char"           , false, true , },
+	{ "unsigned char"         , false, true , },
 	{ "signed short"          , false, true , },
 	{ "unsigned short"        , false, true , },
@@ -150,7 +165,7 @@
 	cout << endl;
 
-	cout << "signed int ?==?( zero_t, zero_t ),							?!=?( zero_t, zero_t );" << endl;
-	cout << "signed int ?==?( one_t, one_t ),							?!=?( one_t, one_t );" << endl;
-	cout << "signed int ?==?( _Bool, _Bool ),							?!=?( _Bool, _Bool );" << endl;
+	cout << "signed int ?==?( zero_t, zero_t ),	?!=?( zero_t, zero_t );" << endl;
+	cout << "signed int ?==?( one_t, one_t ),	?!=?( one_t, one_t );" << endl;
+	cout << "signed int ?==?( _Bool, _Bool ),	?!=?( _Bool, _Bool );" << endl;
 	cout << "signed int !?( _Bool );" << endl;
 
@@ -188,13 +203,15 @@
 	cout << "// Arithmetic Constructors //" << endl;
 	cout << "/////////////////////////////" << endl;
+	cout << endl;
+
 	auto otype = [](const std::string & type, bool do_volatile = false) {
-		cout << "void \t?{} ( " << type << " & );" << endl;
-		cout << "void \t?{} ( " << type << " &, " << type << " );" << endl;
-		cout << type << " \t?=? ( " << type << " &, " << type << " )";
-		if( do_volatile ) {
-			cout << ", \t?=?( volatile " << type << " &, " << type << " )";
+		cout << "void ?{} (" << type << " &);" << endl;
+		cout << "void ?{} (" << type << " &, " << type << ");" << endl;
+		cout << type << "  ?=? (" << type << " &, " << type << ")";
+		if ( do_volatile ) {
+			cout << ",  ?=?(volatile " << type << " &, " << type << ")";
 		}
 		cout << ";" << endl;
-		cout << "void \t^?{}( " << type << " & );" << endl;
+		cout << "void ^?{}( " << type << " & );" << endl;
 	};
 
@@ -202,11 +219,10 @@
 	otype("one_t");
 	otype("_Bool", true);
-	otype("char", true);
-	otype("signed char", true);
-	otype("unsigned char", true);
+	cout << endl;
 
 	for (auto type : basicTypes) {
-		cout << "void  ?{}(" << type.name << " &);" << endl;
-		cout << "void  ?{}(" << type.name << " &, " << type.name << ");" << endl;
+		cout << "void ?{}(" << type.name << " &);" << endl;
+		cout << "void ?{}(" << type.name << " &, " << type.name << ");" << endl;
+		cout << "void ?{}(" << type.name << " &, zero_t);" << endl;
 		cout << "void ^?{}(" << type.name << " &);" << endl;
 		cout << endl;
@@ -217,6 +233,8 @@
 	cout << "// Pointer Constructors //" << endl;
 	cout << "//////////////////////////" << endl;
-	cout << "forall(ftype FT) void  ?{}( FT *&, FT * );" << endl;
-	cout << "forall(ftype FT) void  ?{}( FT * volatile &, FT * );" << endl;
+	cout << endl;
+
+	cout << "forall(ftype FT) void ?{}( FT *&, FT * );" << endl;
+	cout << "forall(ftype FT) void ?{}( FT * volatile &, FT * );" << endl;
 
 	// generate qualifiers
@@ -242,10 +260,10 @@
 		for (auto cvq : qualifiersPair) {
 			for (auto is_vol : { "        ", "volatile" }) {
-				cout << "forall(dtype DT) void  ?{}(" << cvq.first << type << " * " << is_vol << " &, " << cvq.second << "DT *);" << endl;
+				cout << "forall(dtype DT) void ?{}(" << cvq.first << type << " * " << is_vol << " &, " << cvq.second << "DT *);" << endl;
 			}
 		}
 		for (auto cvq : qualifiersSingle) {
 			for (auto is_vol : { "        ", "volatile" }) {
-				cout << "forall(dtype DT) void  ?{}(" << cvq << type << " * " << is_vol << " &);" << endl;
+				cout << "forall(dtype DT) void ?{}(" << cvq << type << " * " << is_vol << " &);" << endl;
 			}
 			for (auto is_vol : { "        ", "volatile" }) {
@@ -386,2 +404,6 @@
 	cout << endl;
 }
+
+// Local Variables: //
+// tab-width: 4 //
+// End: //
