Index: src/tests/.expect/64/gmp.txt
===================================================================
--- src/tests/.expect/64/gmp.txt	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
+++ src/tests/.expect/64/gmp.txt	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
@@ -0,0 +1,276 @@
+constructors
+50000000000000000000 3 50000000000000000003
+x:50000000000000000000 y:3 z:50000000000000000003
+conversions
+y:97
+y:12345678901234567890123456789
+y:3
+y:-3
+y:4
+y:3
+y:3 b:3 si:3
+comparison
+1
+0
+0
+1
+0
+1
+arithmetic
+z:100000000000000000006
+z:50000000000000000000
+z:-3
+z:-450000000000000000000
+z:150000000000000000000
+z:150000000000000000000
+z:16666666666666666666
+16666666666666666666, 2 16666666666666666666, 2
+x:16666666666666666666 y:2
+
+12345678901234567890123456789 12345678901234567890123456789 12345678901234567890123456789
+
+Fibonacci Numbers
+0 0
+1 1
+2 1
+3 2
+4 3
+5 5
+6 8
+7 13
+8 21
+9 34
+10 55
+11 89
+12 144
+13 233
+14 377
+15 610
+16 987
+17 1597
+18 2584
+19 4181
+20 6765
+21 10946
+22 17711
+23 28657
+24 46368
+25 75025
+26 121393
+27 196418
+28 317811
+29 514229
+30 832040
+31 1346269
+32 2178309
+33 3524578
+34 5702887
+35 9227465
+36 14930352
+37 24157817
+38 39088169
+39 63245986
+40 102334155
+41 165580141
+42 267914296
+43 433494437
+44 701408733
+45 1134903170
+46 1836311903
+47 2971215073
+48 4807526976
+49 7778742049
+50 12586269025
+51 20365011074
+52 32951280099
+53 53316291173
+54 86267571272
+55 139583862445
+56 225851433717
+57 365435296162
+58 591286729879
+59 956722026041
+60 1548008755920
+61 2504730781961
+62 4052739537881
+63 6557470319842
+64 10610209857723
+65 17167680177565
+66 27777890035288
+67 44945570212853
+68 72723460248141
+69 117669030460994
+70 190392490709135
+71 308061521170129
+72 498454011879264
+73 806515533049393
+74 1304969544928657
+75 2111485077978050
+76 3416454622906707
+77 5527939700884757
+78 8944394323791464
+79 14472334024676221
+80 23416728348467685
+81 37889062373143906
+82 61305790721611591
+83 99194853094755497
+84 160500643816367088
+85 259695496911122585
+86 420196140727489673
+87 679891637638612258
+88 1100087778366101931
+89 1779979416004714189
+90 2880067194370816120
+91 4660046610375530309
+92 7540113804746346429
+93 12200160415121876738
+94 19740274219868223167
+95 31940434634990099905
+96 51680708854858323072
+97 83621143489848422977
+98 135301852344706746049
+99 218922995834555169026
+100 354224848179261915075
+101 573147844013817084101
+102 927372692193078999176
+103 1500520536206896083277
+104 2427893228399975082453
+105 3928413764606871165730
+106 6356306993006846248183
+107 10284720757613717413913
+108 16641027750620563662096
+109 26925748508234281076009
+110 43566776258854844738105
+111 70492524767089125814114
+112 114059301025943970552219
+113 184551825793033096366333
+114 298611126818977066918552
+115 483162952612010163284885
+116 781774079430987230203437
+117 1264937032042997393488322
+118 2046711111473984623691759
+119 3311648143516982017180081
+120 5358359254990966640871840
+121 8670007398507948658051921
+122 14028366653498915298923761
+123 22698374052006863956975682
+124 36726740705505779255899443
+125 59425114757512643212875125
+126 96151855463018422468774568
+127 155576970220531065681649693
+128 251728825683549488150424261
+129 407305795904080553832073954
+130 659034621587630041982498215
+131 1066340417491710595814572169
+132 1725375039079340637797070384
+133 2791715456571051233611642553
+134 4517090495650391871408712937
+135 7308805952221443105020355490
+136 11825896447871834976429068427
+137 19134702400093278081449423917
+138 30960598847965113057878492344
+139 50095301248058391139327916261
+140 81055900096023504197206408605
+141 131151201344081895336534324866
+142 212207101440105399533740733471
+143 343358302784187294870275058337
+144 555565404224292694404015791808
+145 898923707008479989274290850145
+146 1454489111232772683678306641953
+147 2353412818241252672952597492098
+148 3807901929474025356630904134051
+149 6161314747715278029583501626149
+150 9969216677189303386214405760200
+151 16130531424904581415797907386349
+152 26099748102093884802012313146549
+153 42230279526998466217810220532898
+154 68330027629092351019822533679447
+155 110560307156090817237632754212345
+156 178890334785183168257455287891792
+157 289450641941273985495088042104137
+158 468340976726457153752543329995929
+159 757791618667731139247631372100066
+160 1226132595394188293000174702095995
+161 1983924214061919432247806074196061
+162 3210056809456107725247980776292056
+163 5193981023518027157495786850488117
+164 8404037832974134882743767626780173
+165 13598018856492162040239554477268290
+166 22002056689466296922983322104048463
+167 35600075545958458963222876581316753
+168 57602132235424755886206198685365216
+169 93202207781383214849429075266681969
+170 150804340016807970735635273952047185
+171 244006547798191185585064349218729154
+172 394810887814999156320699623170776339
+173 638817435613190341905763972389505493
+174 1033628323428189498226463595560281832
+175 1672445759041379840132227567949787325
+176 2706074082469569338358691163510069157
+177 4378519841510949178490918731459856482
+178 7084593923980518516849609894969925639
+179 11463113765491467695340528626429782121
+180 18547707689471986212190138521399707760
+181 30010821454963453907530667147829489881
+182 48558529144435440119720805669229197641
+183 78569350599398894027251472817058687522
+184 127127879743834334146972278486287885163
+185 205697230343233228174223751303346572685
+186 332825110087067562321196029789634457848
+187 538522340430300790495419781092981030533
+188 871347450517368352816615810882615488381
+189 1409869790947669143312035591975596518914
+190 2281217241465037496128651402858212007295
+191 3691087032412706639440686994833808526209
+192 5972304273877744135569338397692020533504
+193 9663391306290450775010025392525829059713
+194 15635695580168194910579363790217849593217
+195 25299086886458645685589389182743678652930
+196 40934782466626840596168752972961528246147
+197 66233869353085486281758142155705206899077
+198 107168651819712326877926895128666735145224
+199 173402521172797813159685037284371942044301
+200 280571172992510140037611932413038677189525
+
+Factorial Numbers
+0 1
+1 1
+2 2
+3 6
+4 24
+5 120
+6 720
+7 5040
+8 40320
+9 362880
+10 3628800
+11 39916800
+12 479001600
+13 6227020800
+14 87178291200
+15 1307674368000
+16 20922789888000
+17 355687428096000
+18 6402373705728000
+19 121645100408832000
+20 2432902008176640000
+21 51090942171709440000
+22 1124000727777607680000
+23 25852016738884976640000
+24 620448401733239439360000
+25 15511210043330985984000000
+26 403291461126605635584000000
+27 10888869450418352160768000000
+28 304888344611713860501504000000
+29 8841761993739701954543616000000
+30 265252859812191058636308480000000
+31 8222838654177922817725562880000000
+32 263130836933693530167218012160000000
+33 8683317618811886495518194401280000000
+34 295232799039604140847618609643520000000
+35 10333147966386144929666651337523200000000
+36 371993326789901217467999448150835200000000
+37 13763753091226345046315979581580902400000000
+38 523022617466601111760007224100074291200000000
+39 20397882081197443358640281739902897356800000000
+40 815915283247897734345611269596115894272000000000
Index: src/tests/.expect/gmp.txt
===================================================================
--- src/tests/.expect/gmp.txt	(revision e4719f0e80cb4049b4bb349f27241a040a5f85c6)
+++ 	(revision )
@@ -1,276 +1,0 @@
-constructors
-50000000000000000000 3 50000000000000000003
-x:50000000000000000000 y:3 z:50000000000000000003
-conversions
-y:97
-y:12345678901234567890123456789
-y:3
-y:-3
-y:4
-y:3
-y:3 b:3 si:3
-comparison
-1
-0
-0
-1
-0
-1
-arithmetic
-z:100000000000000000006
-z:50000000000000000000
-z:-3
-z:-450000000000000000000
-z:150000000000000000000
-z:150000000000000000000
-z:16666666666666666666
-16666666666666666666, 2 16666666666666666666, 2
-x:16666666666666666666 y:2
-
-12345678901234567890123456789 12345678901234567890123456789 12345678901234567890123456789
-
-Fibonacci Numbers
-0 0
-1 1
-2 1
-3 2
-4 3
-5 5
-6 8
-7 13
-8 21
-9 34
-10 55
-11 89
-12 144
-13 233
-14 377
-15 610
-16 987
-17 1597
-18 2584
-19 4181
-20 6765
-21 10946
-22 17711
-23 28657
-24 46368
-25 75025
-26 121393
-27 196418
-28 317811
-29 514229
-30 832040
-31 1346269
-32 2178309
-33 3524578
-34 5702887
-35 9227465
-36 14930352
-37 24157817
-38 39088169
-39 63245986
-40 102334155
-41 165580141
-42 267914296
-43 433494437
-44 701408733
-45 1134903170
-46 1836311903
-47 2971215073
-48 4807526976
-49 7778742049
-50 12586269025
-51 20365011074
-52 32951280099
-53 53316291173
-54 86267571272
-55 139583862445
-56 225851433717
-57 365435296162
-58 591286729879
-59 956722026041
-60 1548008755920
-61 2504730781961
-62 4052739537881
-63 6557470319842
-64 10610209857723
-65 17167680177565
-66 27777890035288
-67 44945570212853
-68 72723460248141
-69 117669030460994
-70 190392490709135
-71 308061521170129
-72 498454011879264
-73 806515533049393
-74 1304969544928657
-75 2111485077978050
-76 3416454622906707
-77 5527939700884757
-78 8944394323791464
-79 14472334024676221
-80 23416728348467685
-81 37889062373143906
-82 61305790721611591
-83 99194853094755497
-84 160500643816367088
-85 259695496911122585
-86 420196140727489673
-87 679891637638612258
-88 1100087778366101931
-89 1779979416004714189
-90 2880067194370816120
-91 4660046610375530309
-92 7540113804746346429
-93 12200160415121876738
-94 19740274219868223167
-95 31940434634990099905
-96 51680708854858323072
-97 83621143489848422977
-98 135301852344706746049
-99 218922995834555169026
-100 354224848179261915075
-101 573147844013817084101
-102 927372692193078999176
-103 1500520536206896083277
-104 2427893228399975082453
-105 3928413764606871165730
-106 6356306993006846248183
-107 10284720757613717413913
-108 16641027750620563662096
-109 26925748508234281076009
-110 43566776258854844738105
-111 70492524767089125814114
-112 114059301025943970552219
-113 184551825793033096366333
-114 298611126818977066918552
-115 483162952612010163284885
-116 781774079430987230203437
-117 1264937032042997393488322
-118 2046711111473984623691759
-119 3311648143516982017180081
-120 5358359254990966640871840
-121 8670007398507948658051921
-122 14028366653498915298923761
-123 22698374052006863956975682
-124 36726740705505779255899443
-125 59425114757512643212875125
-126 96151855463018422468774568
-127 155576970220531065681649693
-128 251728825683549488150424261
-129 407305795904080553832073954
-130 659034621587630041982498215
-131 1066340417491710595814572169
-132 1725375039079340637797070384
-133 2791715456571051233611642553
-134 4517090495650391871408712937
-135 7308805952221443105020355490
-136 11825896447871834976429068427
-137 19134702400093278081449423917
-138 30960598847965113057878492344
-139 50095301248058391139327916261
-140 81055900096023504197206408605
-141 131151201344081895336534324866
-142 212207101440105399533740733471
-143 343358302784187294870275058337
-144 555565404224292694404015791808
-145 898923707008479989274290850145
-146 1454489111232772683678306641953
-147 2353412818241252672952597492098
-148 3807901929474025356630904134051
-149 6161314747715278029583501626149
-150 9969216677189303386214405760200
-151 16130531424904581415797907386349
-152 26099748102093884802012313146549
-153 42230279526998466217810220532898
-154 68330027629092351019822533679447
-155 110560307156090817237632754212345
-156 178890334785183168257455287891792
-157 289450641941273985495088042104137
-158 468340976726457153752543329995929
-159 757791618667731139247631372100066
-160 1226132595394188293000174702095995
-161 1983924214061919432247806074196061
-162 3210056809456107725247980776292056
-163 5193981023518027157495786850488117
-164 8404037832974134882743767626780173
-165 13598018856492162040239554477268290
-166 22002056689466296922983322104048463
-167 35600075545958458963222876581316753
-168 57602132235424755886206198685365216
-169 93202207781383214849429075266681969
-170 150804340016807970735635273952047185
-171 244006547798191185585064349218729154
-172 394810887814999156320699623170776339
-173 638817435613190341905763972389505493
-174 1033628323428189498226463595560281832
-175 1672445759041379840132227567949787325
-176 2706074082469569338358691163510069157
-177 4378519841510949178490918731459856482
-178 7084593923980518516849609894969925639
-179 11463113765491467695340528626429782121
-180 18547707689471986212190138521399707760
-181 30010821454963453907530667147829489881
-182 48558529144435440119720805669229197641
-183 78569350599398894027251472817058687522
-184 127127879743834334146972278486287885163
-185 205697230343233228174223751303346572685
-186 332825110087067562321196029789634457848
-187 538522340430300790495419781092981030533
-188 871347450517368352816615810882615488381
-189 1409869790947669143312035591975596518914
-190 2281217241465037496128651402858212007295
-191 3691087032412706639440686994833808526209
-192 5972304273877744135569338397692020533504
-193 9663391306290450775010025392525829059713
-194 15635695580168194910579363790217849593217
-195 25299086886458645685589389182743678652930
-196 40934782466626840596168752972961528246147
-197 66233869353085486281758142155705206899077
-198 107168651819712326877926895128666735145224
-199 173402521172797813159685037284371942044301
-200 280571172992510140037611932413038677189525
-
-Factorial Numbers
-0 1
-1 1
-2 2
-3 6
-4 24
-5 120
-6 720
-7 5040
-8 40320
-9 362880
-10 3628800
-11 39916800
-12 479001600
-13 6227020800
-14 87178291200
-15 1307674368000
-16 20922789888000
-17 355687428096000
-18 6402373705728000
-19 121645100408832000
-20 2432902008176640000
-21 51090942171709440000
-22 1124000727777607680000
-23 25852016738884976640000
-24 620448401733239439360000
-25 15511210043330985984000000
-26 403291461126605635584000000
-27 10888869450418352160768000000
-28 304888344611713860501504000000
-29 8841761993739701954543616000000
-30 265252859812191058636308480000000
-31 8222838654177922817725562880000000
-32 263130836933693530167218012160000000
-33 8683317618811886495518194401280000000
-34 295232799039604140847618609643520000000
-35 10333147966386144929666651337523200000000
-36 371993326789901217467999448150835200000000
-37 13763753091226345046315979581580902400000000
-38 523022617466601111760007224100074291200000000
-39 20397882081197443358640281739902897356800000000
-40 815915283247897734345611269596115894272000000000
Index: src/tests/.expect/ifcond.txt
===================================================================
--- src/tests/.expect/ifcond.txt	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
+++ src/tests/.expect/ifcond.txt	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
@@ -0,0 +1,3 @@
+x != 0 correct
+x != 0 && y == 0 incorrect
+x == y correct
Index: src/tests/gmp.c
===================================================================
--- src/tests/gmp.c	(revision e4719f0e80cb4049b4bb349f27241a040a5f85c6)
+++ src/tests/gmp.c	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
@@ -10,7 +10,9 @@
 // Created On       : Tue Apr 19 08:55:51 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Aug 24 09:33:26 2017
-// Update Count     : 543
+// Last Modified On : Fri Aug 25 12:50:01 2017
+// Update Count     : 544
 // 
+
+// NOTE: UBUNTU DOES NOT SUPPORT GMP MULTILIB, SO ONLY 64-BIT GMP IS TESTED.
 
 #include <gmp>
Index: src/tests/ifcond.c
===================================================================
--- src/tests/ifcond.c	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
+++ src/tests/ifcond.c	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
@@ -0,0 +1,46 @@
+//                               -*- Mode: C -*- 
+// 
+// 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.
+// 
+// ifcond.c -- 
+// 
+// Author           : Peter A. Buhr
+// Created On       : Sat Aug 26 10:13:11 2017
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Sat Aug 26 11:13:00 2017
+// Update Count     : 11
+// 
+
+#include<fstream>
+
+int f( int r ) { return r; }
+
+int main( void ) {
+	int x = 4, y = 3;
+
+	if ( int x = 1 ) {
+		sout | "x != 0 correct" | endl;
+	} else {
+		sout | "x == 0 incorrect" | endl;
+	} // if
+
+	if ( int x = 4, y = 0 ) {							// FIXME && distribution
+		sout | "x != 0 && y != 0 correct" | endl;
+    } else {
+		sout | "x != 0 && y == 0 incorrect" | endl;
+	} // if
+
+	if ( int x = 5, y = f( x ); x == y ) {
+		sout | "x == y correct" | endl;
+	} else {
+		sout | "x != y incorrect" | endl;
+	} // if
+} // main
+
+// Local Variables: //
+// tab-width: 4 //
+// compile-command: "cfa ifcond.c" //
+// End: //
Index: src/tests/preempt_longrun/stack.c
===================================================================
--- src/tests/preempt_longrun/stack.c	(revision e4719f0e80cb4049b4bb349f27241a040a5f85c6)
+++ src/tests/preempt_longrun/stack.c	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
@@ -15,8 +15,8 @@
 
 void main(worker_t * this) {
-	volatile long p = 5_021_609ul;
-	volatile long a = 326_417ul;
-	volatile long n = 1l;
-	for (volatile long i = 0; i < p; i++) {
+	volatile long long p = 5_021_609ul;
+	volatile long long a = 326_417ul;
+	volatile long long n = 1l;
+	for (volatile long long i = 0; i < p; i++) {
 		n *= a;
 		n %= p;
Index: src/tests/sched-ext.c
===================================================================
--- src/tests/sched-ext.c	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
+++ src/tests/sched-ext.c	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
@@ -0,0 +1,89 @@
+#include <fstream>
+#include <kernel>
+#include <monitor>
+#include <stdlib>
+#include <thread>
+
+#include <time.h>
+
+static const unsigned long N = 500ul;
+
+#ifndef PREEMPTION_RATE
+#define PREEMPTION_RATE 10_000ul
+#endif
+
+unsigned int default_preemption() {
+	return PREEMPTION_RATE;
+}
+
+monitor global_t {};
+
+global_t globalA;
+
+thread Acceptor {};
+thread Acceptee {};
+
+volatile bool done;
+
+unsigned rand10() {
+	return (unsigned)rand48() % 10;
+}
+
+//----------------------------------------------------------------------------------------------------
+// Acceptor
+void do_notify( global_t * mutex a );
+
+void do_wait( global_t * mutex a ) {
+	sout | "Waiting to accept" | endl;
+	yield( rand10() );
+
+	sout | "Accepting" | endl;
+
+	__acceptable_t acceptable;
+	acceptable.func          = (fptr_t)do_notify;
+	acceptable.count         = 1;
+	acceptable.monitors      = &a;
+
+	__accept_internal( 1, &acceptable );
+
+	sout | "Accepted" | endl;
+	yield( rand10() );
+}
+
+void main( Acceptor* this ) {
+	for( int i = 0; i < N; i++ ) {
+		do_wait( &globalA );
+		sout | i | endl;
+	}
+
+	done = true;
+}
+
+//----------------------------------------------------------------------------------------------------
+// Acceptee
+void do_notify( global_t * mutex a ) {
+
+}
+
+void main( Acceptee* this ) {
+	while( !done ) {
+		yield( rand10() );
+		do_notify( &globalA );
+		yield( rand10() );
+	}
+}
+
+//----------------------------------------------------------------------------------------------------
+// Main
+int main(int argc, char* argv[]) {
+	done = false;
+	rand48seed( time( NULL ) );
+	printf("%p\n", &globalA);
+	sout | "Starting" | endl;
+	{
+		Acceptor r;
+		Acceptee e[13];
+
+	}
+	sout | "Done" | endl;
+}
Index: src/tests/sched-int-disjoint.c
===================================================================
--- src/tests/sched-int-disjoint.c	(revision e4719f0e80cb4049b4bb349f27241a040a5f85c6)
+++ src/tests/sched-int-disjoint.c	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
@@ -3,4 +3,6 @@
 #include <monitor>
 #include <thread>
+
+#include <time.h>
 
 static const unsigned long N = 10_000ul;
@@ -107,4 +109,5 @@
 // Main loop
 int main(int argc, char* argv[]) {
+	rand48seed( time( NULL ) );
 	all_done = false;
 	processor p;
Index: src/tests/sched-int-wait.c
===================================================================
--- src/tests/sched-int-wait.c	(revision e4719f0e80cb4049b4bb349f27241a040a5f85c6)
+++ src/tests/sched-int-wait.c	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
@@ -5,5 +5,7 @@
 #include <thread>
 
-static const unsigned long N = 10_000ul;
+#include <time.h>
+
+static const unsigned long N = 2_500ul;
 
 #ifndef PREEMPTION_RATE
@@ -119,4 +121,5 @@
 // Main
 int main(int argc, char* argv[]) {
+	rand48seed( time( NULL ) );
 	waiter_left = 4;
 	processor p[2];
Index: src/tests/switch.c
===================================================================
--- src/tests/switch.c	(revision e4719f0e80cb4049b4bb349f27241a040a5f85c6)
+++ src/tests/switch.c	(revision 1cb758f27ecd2c57c8b7af48401267ff564acac8)
@@ -10,11 +10,11 @@
 // Created On       : Tue Jul 12 06:50:22 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Aug  4 11:44:29 2016
-// Update Count     : 31
+// Last Modified On : Sat Aug 26 10:14:21 2017
+// Update Count     : 33
 // 
 
 int f( int i ) { return i; }
 
-int main() {
+int main( void ) {
 	int i = 0;
 	switch ( i ) case 3 : i = 1;
@@ -100,5 +100,5 @@
 		j = 5;
 	} // choose
-}
+} // main
 
 // Local Variables: //
