aboutsummaryrefslogtreecommitdiffstats
path: root/test/ccured_olden/treeadd
diff options
context:
space:
mode:
Diffstat (limited to 'test/ccured_olden/treeadd')
-rw-r--r--test/ccured_olden/treeadd/.cvsignore27
-rw-r--r--test/ccured_olden/treeadd/CVS/Entries27
-rw-r--r--test/ccured_olden/treeadd/CVS/Repository1
-rw-r--r--test/ccured_olden/treeadd/CVS/Root1
-rw-r--r--test/ccured_olden/treeadd/HOWTO1
-rw-r--r--test/ccured_olden/treeadd/HOWTO.bak1
-rw-r--r--test/ccured_olden/treeadd/Makefile38
-rw-r--r--test/ccured_olden/treeadd/Makefile.plain8
-rw-r--r--test/ccured_olden/treeadd/Makefile.ss10
-rw-r--r--test/ccured_olden/treeadd/args.c47
-rw-r--r--test/ccured_olden/treeadd/node.c74
-rw-r--r--test/ccured_olden/treeadd/old-exe/CVS/Entries1
-rw-r--r--test/ccured_olden/treeadd/old-exe/CVS/Repository1
-rw-r--r--test/ccured_olden/treeadd/old-exe/CVS/Root1
-rw-r--r--test/ccured_olden/treeadd/out.diff0
-rw-r--r--test/ccured_olden/treeadd/out.orig5
-rw-r--r--test/ccured_olden/treeadd/out_20_110
-rw-r--r--test/ccured_olden/treeadd/out_20_1.mac_cnt28
-rw-r--r--test/ccured_olden/treeadd/out_20_1.mac_cnt_sil22
-rw-r--r--test/ccured_olden/treeadd/out_20_1.mac_nocnt_sil15
-rw-r--r--test/ccured_olden/treeadd/out_20_1.nm_nocnt17
-rw-r--r--test/ccured_olden/treeadd/out_20_1.nwm_nocnt6
-rw-r--r--test/ccured_olden/treeadd/out_22_110
-rw-r--r--test/ccured_olden/treeadd/out_22_1.mac_nocnt_sil15
-rw-r--r--test/ccured_olden/treeadd/out_23_110
-rw-r--r--test/ccured_olden/treeadd/out_23_1.mac_nocnt_sil15
-rw-r--r--test/ccured_olden/treeadd/out_25_18
-rw-r--r--test/ccured_olden/treeadd/out_25_1.mac_nocnt_sil7
-rw-r--r--test/ccured_olden/treeadd/output5
-rw-r--r--test/ccured_olden/treeadd/par-alloc.c33
-rw-r--r--test/ccured_olden/treeadd/ssplain.c70
-rw-r--r--test/ccured_olden/treeadd/ssplain.h128
-rwxr-xr-xtest/ccured_olden/treeadd/testit22
-rw-r--r--test/ccured_olden/treeadd/tree.h18
34 files changed, 682 insertions, 0 deletions
diff --git a/test/ccured_olden/treeadd/.cvsignore b/test/ccured_olden/treeadd/.cvsignore
new file mode 100644
index 00000000..ea04e03d
--- /dev/null
+++ b/test/ccured_olden/treeadd/.cvsignore
@@ -0,0 +1,27 @@
+*.o
+*.obj
+*.exe
+*.pdb
+*.ilk
+*.cpp
+*.i
+*.s
+*.asm
+*cil.c
+*.rtl
+*box.c
+*infer.c
+*_ppp.c
+*.origi
+*.stackdump
+*_all.c
+treeadd
+allcfiles
+ope.m
+*_comb.c
+*.exe_comb.browser
+*cured.c
+*.optim.c
+changes
+output
+out.diff
diff --git a/test/ccured_olden/treeadd/CVS/Entries b/test/ccured_olden/treeadd/CVS/Entries
new file mode 100644
index 00000000..c689f04f
--- /dev/null
+++ b/test/ccured_olden/treeadd/CVS/Entries
@@ -0,0 +1,27 @@
+/HOWTO/1.1/Fri Jun 29 11:24:14 2001//
+/HOWTO.bak/1.1/Fri Jun 29 11:24:14 2001//
+/Makefile.plain/1.1/Fri Jun 29 11:24:14 2001//
+/Makefile.ss/1.1/Fri Jun 29 11:24:14 2001//
+/args.c/1.1/Fri Jun 29 11:24:14 2001//
+/node.c/1.1/Fri Jun 29 11:24:14 2001//
+/out_20_1/1.1/Fri Jun 29 11:24:14 2001//
+/out_20_1.mac_cnt/1.1/Fri Jun 29 11:24:14 2001//
+/out_20_1.mac_cnt_sil/1.1/Fri Jun 29 11:24:14 2001//
+/out_20_1.mac_nocnt_sil/1.1/Fri Jun 29 11:24:14 2001//
+/out_20_1.nm_nocnt/1.1/Fri Jun 29 11:24:14 2001//
+/out_20_1.nwm_nocnt/1.1/Fri Jun 29 11:24:14 2001//
+/out_22_1/1.1/Fri Jun 29 11:24:14 2001//
+/out_22_1.mac_nocnt_sil/1.1/Fri Jun 29 11:24:14 2001//
+/out_23_1/1.1/Fri Jun 29 11:24:14 2001//
+/out_23_1.mac_nocnt_sil/1.1/Fri Jun 29 11:24:14 2001//
+/out_25_1/1.1/Fri Jun 29 11:24:14 2001//
+/out_25_1.mac_nocnt_sil/1.1/Fri Jun 29 11:24:14 2001//
+/par-alloc.c/1.1/Fri Jun 29 11:24:14 2001//
+/tree.h/1.1/Fri Jun 29 11:24:14 2001//
+/ssplain.c/1.5/Sat Nov 3 05:33:28 2001//
+/Makefile/1.6/Fri Nov 9 01:27:01 2001//
+/out.orig/1.1/Mon Nov 12 08:08:28 2001//
+/testit/1.2/Tue Dec 4 05:07:50 2001//
+/.cvsignore/1.9/Fri Oct 4 16:28:44 2002//
+/ssplain.h/1.6/Mon Jan 6 23:29:45 2003//
+D/old-exe////
diff --git a/test/ccured_olden/treeadd/CVS/Repository b/test/ccured_olden/treeadd/CVS/Repository
new file mode 100644
index 00000000..6d2ed236
--- /dev/null
+++ b/test/ccured_olden/treeadd/CVS/Repository
@@ -0,0 +1 @@
+cil/test/olden/treeadd
diff --git a/test/ccured_olden/treeadd/CVS/Root b/test/ccured_olden/treeadd/CVS/Root
new file mode 100644
index 00000000..35f411e9
--- /dev/null
+++ b/test/ccured_olden/treeadd/CVS/Root
@@ -0,0 +1 @@
+/home/cvs-repository
diff --git a/test/ccured_olden/treeadd/HOWTO b/test/ccured_olden/treeadd/HOWTO
new file mode 100644
index 00000000..d456a9ee
--- /dev/null
+++ b/test/ccured_olden/treeadd/HOWTO
@@ -0,0 +1 @@
+21 1
diff --git a/test/ccured_olden/treeadd/HOWTO.bak b/test/ccured_olden/treeadd/HOWTO.bak
new file mode 100644
index 00000000..bfd056e3
--- /dev/null
+++ b/test/ccured_olden/treeadd/HOWTO.bak
@@ -0,0 +1 @@
+20 1
diff --git a/test/ccured_olden/treeadd/Makefile b/test/ccured_olden/treeadd/Makefile
new file mode 100644
index 00000000..f17f1155
--- /dev/null
+++ b/test/ccured_olden/treeadd/Makefile
@@ -0,0 +1,38 @@
+# /* For copyright information, see olden_v1.0/COPYRIGHT */
+
+BINARY = treeadd.exe
+FILES = par-alloc node args ssplain
+
+
+OLDENHOME = /tmp/olden
+
+CC = gcc
+
+SRC = .c
+OBJ = .o
+ASM = .s
+SRCS = $(addsuffix $(SRC),$(FILES))
+OBJS = $(addsuffix $(OBJ),$(FILES))
+ASMS = $(addsuffix $(ASM),$(FILES))
+INCDIRS = /usr/include
+
+EXTRA_CDEFS = -DI_TIME -DI_SYS_TIME -DULTRIX
+CDEFS = -DPLAIN -DSS_PLAIN #-I$(OLDENHOME)/common
+OPTFLAGS = -g -Wall -O3
+
+LIBS = -lm
+LIBPATH =
+
+$(BINARY): $(OBJS)
+ $(CC) $(LDFALGS) $(OPTFLAGS) -o $@ $(OBJS) $(LIBPATH) $(LIBS)
+
+$(SRC)$(OBJ):
+ $(CC) $(CDEFS) $(EXTRA_CDEFS) $(MY_CDEFS) $(OPTFLAGS) -c $<
+
+clean:
+ rm -f $(BINARY) $(OBJS) $(ASMS) *~ *.light.c
+
+links:
+ /bin/rm -f ssplain.[hc]
+ ln -s $(OLDENHOME)/common/ssplain.h
+ ln -s $(OLDENHOME)/common/ssplain.c
diff --git a/test/ccured_olden/treeadd/Makefile.plain b/test/ccured_olden/treeadd/Makefile.plain
new file mode 100644
index 00000000..5083bd76
--- /dev/null
+++ b/test/ccured_olden/treeadd/Makefile.plain
@@ -0,0 +1,8 @@
+# /* For copyright information, see olden_v1.0/COPYRIGHT */
+
+BINARY = treeadd
+FILES = par-alloc node args ssplain
+
+include ../Makefile.plain
+
+
diff --git a/test/ccured_olden/treeadd/Makefile.ss b/test/ccured_olden/treeadd/Makefile.ss
new file mode 100644
index 00000000..7d3b7d23
--- /dev/null
+++ b/test/ccured_olden/treeadd/Makefile.ss
@@ -0,0 +1,10 @@
+# /* For copyright information, see olden_v1.0/COPYRIGHT */
+
+BINARY = treeadd
+FILES = par-alloc node args ssplain
+
+MY_CDEFS = -DOLDEN
+
+include ../Makefile.ss
+
+
diff --git a/test/ccured_olden/treeadd/args.c b/test/ccured_olden/treeadd/args.c
new file mode 100644
index 00000000..279f2d12
--- /dev/null
+++ b/test/ccured_olden/treeadd/args.c
@@ -0,0 +1,47 @@
+/* For copyright information, see olden_v1.0/COPYRIGHT */
+
+#ifdef SS_PLAIN
+#include "ssplain.h"
+#else SS_PLAIN
+#include <cm/cmmd.h>
+#include <fcntl.h>
+
+extern int __NumNodes;
+#endif SS_PLAIN
+
+#include "tree.h"
+
+void filestuff()
+{
+#ifndef SS_PLAIN
+ CMMD_fset_io_mode(stdout, CMMD_independent);
+ fcntl(fileno(stdout), F_SETFL, O_APPEND);
+ if (CMMD_self_address()) exit(0);
+ __InitRegs(0);
+#endif SS_PLAIN
+}
+
+int level;
+int iters;
+
+int dealwithargs(int argc, char *argv[])
+{
+#ifndef SS_PLAIN
+ if (argc > 3)
+ __NumNodes = atoi(argv[2]);
+ else
+ __NumNodes = 4;
+#endif SS_PLAIN
+
+ if (argc > 2)
+ iters = atoi(argv[2]);
+ else
+ iters = 1;
+
+ if (argc > 1)
+ level = atoi(argv[1]);
+ else
+ level = 5;
+
+ return level;
+}
diff --git a/test/ccured_olden/treeadd/node.c b/test/ccured_olden/treeadd/node.c
new file mode 100644
index 00000000..1e609132
--- /dev/null
+++ b/test/ccured_olden/treeadd/node.c
@@ -0,0 +1,74 @@
+/* For copyright information, see olden_v1.0/COPYRIGHT */
+
+/* node.c
+ */
+#include <stdio.h>
+#ifdef SS_PLAIN
+#include "ssplain.h"
+#endif SS_PLAIN
+
+#include "tree.h"
+
+
+int dealwithargs(int argc, char *argv[]);
+
+typedef struct {
+ long level;
+} startmsg_t;
+
+int TreeAdd (/* tree_t *t */);
+extern tree_t *TreeAlloc (/* int level */);
+
+main (int argc, char *argv[])
+{
+ tree_t *root;
+ int i, result = 0;
+
+ filestuff();
+ (void)dealwithargs(argc, argv);
+
+ chatting("Treeadd with %d levels\n", level);
+
+ chatting("About to enter TreeAlloc\n");
+ root = TreeAlloc (level);
+ chatting("About to enter TreeAdd\n");
+
+ for (i = 0; i < iters; i++)
+ {
+ fprintf(stderr, "Iteration %d...", i);
+ result = TreeAdd (root);
+ fprintf(stderr, "done\n");
+ }
+
+ chatting("Received result of %d\n",result);
+ exit(0);
+}
+
+/* TreeAdd:
+ */
+int TreeAdd (t)
+ register tree_t *t;
+{
+ if (t == NULL)
+ {
+ return 0;
+ }
+ else
+ {
+ int leftval;
+ int rightval;
+ tree_t *tleft, *tright;
+ int value;
+
+ tleft = t->left;
+ leftval = TreeAdd(tleft);
+ tright = t->right;
+ rightval = TreeAdd(tright);
+
+ value = t->val;
+ return leftval + rightval + value;
+ }
+} /* end of TreeAdd */
+
+
+
diff --git a/test/ccured_olden/treeadd/old-exe/CVS/Entries b/test/ccured_olden/treeadd/old-exe/CVS/Entries
new file mode 100644
index 00000000..17848105
--- /dev/null
+++ b/test/ccured_olden/treeadd/old-exe/CVS/Entries
@@ -0,0 +1 @@
+D
diff --git a/test/ccured_olden/treeadd/old-exe/CVS/Repository b/test/ccured_olden/treeadd/old-exe/CVS/Repository
new file mode 100644
index 00000000..9518434e
--- /dev/null
+++ b/test/ccured_olden/treeadd/old-exe/CVS/Repository
@@ -0,0 +1 @@
+cil/test/olden/treeadd/old-exe
diff --git a/test/ccured_olden/treeadd/old-exe/CVS/Root b/test/ccured_olden/treeadd/old-exe/CVS/Root
new file mode 100644
index 00000000..35f411e9
--- /dev/null
+++ b/test/ccured_olden/treeadd/old-exe/CVS/Root
@@ -0,0 +1 @@
+/home/cvs-repository
diff --git a/test/ccured_olden/treeadd/out.diff b/test/ccured_olden/treeadd/out.diff
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/test/ccured_olden/treeadd/out.diff
diff --git a/test/ccured_olden/treeadd/out.orig b/test/ccured_olden/treeadd/out.orig
new file mode 100644
index 00000000..fde5b808
--- /dev/null
+++ b/test/ccured_olden/treeadd/out.orig
@@ -0,0 +1,5 @@
+Treeadd with 21 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 2097151
diff --git a/test/ccured_olden/treeadd/out_20_1 b/test/ccured_olden/treeadd/out_20_1
new file mode 100644
index 00000000..3ece101b
--- /dev/null
+++ b/test/ccured_olden/treeadd/out_20_1
@@ -0,0 +1,10 @@
+1.83u 0.32s 0:02.28 94.2%
+
+Treeadd with 20 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 1048575
+
+1.83u 0.32s 0:02.28 94.2%
+
diff --git a/test/ccured_olden/treeadd/out_20_1.mac_cnt b/test/ccured_olden/treeadd/out_20_1.mac_cnt
new file mode 100644
index 00000000..c71bf72b
--- /dev/null
+++ b/test/ccured_olden/treeadd/out_20_1.mac_cnt
@@ -0,0 +1,28 @@
+58.54u 1.33s 1:00.23 99.4%
+
+[/usr/include/stdio.h:201.1] WARNING: extern with incomplete type not initialized
+[/usr/include/stdio.h:230.1] WARNING: extern with incomplete type not initialized
+[/usr/include/stdlib.h:119.1] WARNING: extern with incomplete type not initialized
+[/usr/include/stdio.h:201.1] WARNING: extern with incomplete type not initialized
+Note: strictPointer mode is OFF
+Note: stack grows decreasingly!
+Treeadd with 20 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 1048575
+Total time: 58.540 u, 1.310 s
+Call init functions: 0.000 u, 0.000 s
+Process externs: 0.000 u, 0.010 s
+Prog_main: 58.530 u, 1.300 s
+processReturns : tot 5242883, empty 5242878, common 5
+Macro counts (function counts):
+verifyPtr : char 0(0), aggr 0(0), etc 6291452(3145725)
+verifyTag : char 0(0), aggr 0(0), etc 19922937(0)
+ copyTag : char 0(0), aggr 0(0), etc 16777218(3145725)
+ setScalarTag : char 0(0), etc 11534344(0)
+setScalarUninitTag : char 0(0), etc 8388607(0)
+processArgTag : scalar 5242883(0) (promo 0), aggr 0(0)
+
+58.54u 1.33s 1:00.23 99.4%
+
diff --git a/test/ccured_olden/treeadd/out_20_1.mac_cnt_sil b/test/ccured_olden/treeadd/out_20_1.mac_cnt_sil
new file mode 100644
index 00000000..6cc96e0d
--- /dev/null
+++ b/test/ccured_olden/treeadd/out_20_1.mac_cnt_sil
@@ -0,0 +1,22 @@
+58.02u 1.24s 0:59.66 99.3%
+
+Treeadd with 20 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 1048575
+Total time: 58.010 u, 1.230 s
+Call init functions: 0.000 u, 0.000 s
+Process externs: 0.000 u, 0.000 s
+Prog_main: 58.000 u, 1.230 s
+processReturns : tot 5242883, empty 5242878, common 5
+Macro counts (function counts):
+verifyPtr : char 0(0), aggr 0(0), etc 6291452(3145725)
+verifyTag : char 0(0), aggr 0(0), etc 19922937(0)
+ copyTag : char 0(0), aggr 0(0), etc 16777218(3145725)
+ setScalarTag : char 0(0), etc 11534344(0)
+setScalarUninitTag : char 0(0), etc 8388607(0)
+processArgTag : scalar 5242883(0) (promo 0), aggr 0(0)
+
+58.02u 1.24s 0:59.66 99.3%
+
diff --git a/test/ccured_olden/treeadd/out_20_1.mac_nocnt_sil b/test/ccured_olden/treeadd/out_20_1.mac_nocnt_sil
new file mode 100644
index 00000000..66ea6134
--- /dev/null
+++ b/test/ccured_olden/treeadd/out_20_1.mac_nocnt_sil
@@ -0,0 +1,15 @@
+51.89u 1.42s 0:53.59 99.4%
+
+Treeadd with 20 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 1048575
+Total time: 51.890 u, 1.390 s
+Call init functions: 0.000 u, 0.000 s
+Process externs: 0.000 u, 0.000 s
+Prog_main: 51.880 u, 1.390 s
+processReturns : tot 5242883, empty 5242878, common 5
+
+51.89u 1.42s 0:53.59 99.4%
+
diff --git a/test/ccured_olden/treeadd/out_20_1.nm_nocnt b/test/ccured_olden/treeadd/out_20_1.nm_nocnt
new file mode 100644
index 00000000..6de580b0
--- /dev/null
+++ b/test/ccured_olden/treeadd/out_20_1.nm_nocnt
@@ -0,0 +1,17 @@
+3[/usr/include/stdio.h:201.1]
+3[/usr/include/stdio.h:230.1]
+3[/usr/include/stdlib.h:119.1]
+3[/usr/include/stdio.h:201.1]
+Note: strictPointer mode is OFF
+Note: stack grows decreasingly!
+Treeadd with 20 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 1048575
+Total time: 47.640 u, 1.080 s
+Call init functions: 0.000 u, 0.000 s
+Process externs: 0.000 u, 0.010 s
+Prog_main: 47.640 u, 1.060 s
+processReturns : tot 5242883, empty 5242878, common 5
+47.64u 1.10s 0:52.27 93.2%
diff --git a/test/ccured_olden/treeadd/out_20_1.nwm_nocnt b/test/ccured_olden/treeadd/out_20_1.nwm_nocnt
new file mode 100644
index 00000000..c68935f6
--- /dev/null
+++ b/test/ccured_olden/treeadd/out_20_1.nwm_nocnt
@@ -0,0 +1,6 @@
+Treeadd with 20 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 1048575
+48.41u 1.28s 0:49.87 99.6%
diff --git a/test/ccured_olden/treeadd/out_22_1 b/test/ccured_olden/treeadd/out_22_1
new file mode 100644
index 00000000..8a7794dd
--- /dev/null
+++ b/test/ccured_olden/treeadd/out_22_1
@@ -0,0 +1,10 @@
+7.00u 3.06s 0:10.29 97.7%
+
+Treeadd with 22 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 4194303
+
+7.00u 3.06s 0:10.29 97.7%
+
diff --git a/test/ccured_olden/treeadd/out_22_1.mac_nocnt_sil b/test/ccured_olden/treeadd/out_22_1.mac_nocnt_sil
new file mode 100644
index 00000000..614d3acb
--- /dev/null
+++ b/test/ccured_olden/treeadd/out_22_1.mac_nocnt_sil
@@ -0,0 +1,15 @@
+208.87u 14.48s 13:01.91 28.5%
+
+Treeadd with 22 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 4194303
+Total time: 208.870 u, 14.430 s
+Call init functions: 0.000 u, 0.000 s
+Process externs: 0.000 u, 0.000 s
+Prog_main: 208.850 u, 14.430 s
+processReturns : tot 20971523, empty 20971518, common 5
+
+208.87u 14.48s 13:01.91 28.5%
+
diff --git a/test/ccured_olden/treeadd/out_23_1 b/test/ccured_olden/treeadd/out_23_1
new file mode 100644
index 00000000..bba776e0
--- /dev/null
+++ b/test/ccured_olden/treeadd/out_23_1
@@ -0,0 +1,10 @@
+13.85u 9.47s 0:23.97 97.2%
+
+Treeadd with 23 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 8388607
+
+13.85u 9.47s 0:23.97 97.2%
+
diff --git a/test/ccured_olden/treeadd/out_23_1.mac_nocnt_sil b/test/ccured_olden/treeadd/out_23_1.mac_nocnt_sil
new file mode 100644
index 00000000..378b40cc
--- /dev/null
+++ b/test/ccured_olden/treeadd/out_23_1.mac_nocnt_sil
@@ -0,0 +1,15 @@
+415.79u 41.59s 25:49.99 29.5%
+
+Treeadd with 23 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 8388607
+Total time: 415.790 u, 41.570 s
+Call init functions: 0.000 u, 0.000 s
+Process externs: 0.000 u, 0.000 s
+Prog_main: 415.780 u, 41.570 s
+processReturns : tot 41943043, empty 41943038, common 5
+
+415.79u 41.59s 25:49.99 29.5%
+
diff --git a/test/ccured_olden/treeadd/out_25_1 b/test/ccured_olden/treeadd/out_25_1
new file mode 100644
index 00000000..03a8d49f
--- /dev/null
+++ b/test/ccured_olden/treeadd/out_25_1
@@ -0,0 +1,8 @@
+Treeadd with 25 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 33554431
+
+out_25_1: about 5-6 minutes (lost the exact timing)
+
diff --git a/test/ccured_olden/treeadd/out_25_1.mac_nocnt_sil b/test/ccured_olden/treeadd/out_25_1.mac_nocnt_sil
new file mode 100644
index 00000000..a688a081
--- /dev/null
+++ b/test/ccured_olden/treeadd/out_25_1.mac_nocnt_sil
@@ -0,0 +1,7 @@
+Some output (through starting TreeAlloc), then:
+
+[1] Segmentation fault treeadd-mac_nocnt_sil.instr 25 1 >& out_25_1.mac_nocnt_sil
+656.30u 109.95s 12:55.55 98.8%
+
+out_25_1: about 5-6 minutes (lost the output)
+
diff --git a/test/ccured_olden/treeadd/output b/test/ccured_olden/treeadd/output
new file mode 100644
index 00000000..fde5b808
--- /dev/null
+++ b/test/ccured_olden/treeadd/output
@@ -0,0 +1,5 @@
+Treeadd with 21 levels
+About to enter TreeAlloc
+About to enter TreeAdd
+Iteration 0...done
+Received result of 2097151
diff --git a/test/ccured_olden/treeadd/par-alloc.c b/test/ccured_olden/treeadd/par-alloc.c
new file mode 100644
index 00000000..4749e195
--- /dev/null
+++ b/test/ccured_olden/treeadd/par-alloc.c
@@ -0,0 +1,33 @@
+/* For copyright information, see olden_v1.0/COPYRIGHT */
+
+/* tree-alloc.c
+ */
+
+#ifdef SS_PLAIN
+#include "ssplain.h"
+#endif SS_PLAIN
+
+#include "tree.h"
+
+
+tree_t *TreeAlloc (level)
+ int level;
+{
+
+ if (level == 0)
+ {
+ return NULL;
+ }
+ else
+ {
+ struct tree *new, *right, *left;
+
+ new = (struct tree *) mymalloc(sizeof(tree_t));
+ left = TreeAlloc(level-1);
+ right=TreeAlloc(level-1);
+ new->val = 1;
+ new->left = (struct tree *) left;
+ new->right = (struct tree *) right;
+ return new;
+ }
+}
diff --git a/test/ccured_olden/treeadd/ssplain.c b/test/ccured_olden/treeadd/ssplain.c
new file mode 100644
index 00000000..18c8a721
--- /dev/null
+++ b/test/ccured_olden/treeadd/ssplain.c
@@ -0,0 +1,70 @@
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <limits.h>
+#include <stddef.h>
+#include "ssplain.h"
+
+
+void chatting(char *s, ...)
+{
+ va_list ap;
+ va_start(ap,s);
+ vfprintf(stderr, s, ap);
+ va_end(ap);
+}
+
+
+#ifdef SS_RAND
+double drand48()
+{
+ double d;
+ d = (double) random() / LONG_MAX;
+ return d;
+}
+
+
+long lrand48()
+{
+ long l = random();
+ return l;
+}
+
+void srand48(long seed)
+{
+ srand(seed);
+}
+#endif SS_RAND
+
+
+#ifndef BEFOREBOX
+static unsigned long bytes_allocated = 0;
+static unsigned long allocations = 0;
+
+void*
+ssplain_malloc(int size)
+{
+ allocations++;
+ bytes_allocated+=size;
+ return malloc(size);
+}
+
+void*
+ssplain_calloc(int nelems, int size)
+{
+ void *p;
+ allocations++;
+ bytes_allocated+= nelems * size;
+ p = calloc(nelems, size);
+ if(! p) { printf("Cannot allocate\n"); exit(3); }
+ return p;
+}
+
+void
+ssplain_alloc_stats()
+{
+ chatting("Allocation stats: %d bytes allocated in %d allocations\n",
+ bytes_allocated, allocations);
+}
+#endif
diff --git a/test/ccured_olden/treeadd/ssplain.h b/test/ccured_olden/treeadd/ssplain.h
new file mode 100644
index 00000000..865fbf47
--- /dev/null
+++ b/test/ccured_olden/treeadd/ssplain.h
@@ -0,0 +1,128 @@
+#ifndef SS_PLAIN_H
+#define SS_PLAIN_H
+
+void * ssplain_malloc(int size);
+void * ssplain_calloc(int nelems, int size);
+void ssplain_alloc_stats();
+
+/* Convert MP shutdown to exit */
+#define __ShutDown(ID) { ssplain_alloc_stats(); exit(ID); }
+
+/* All these CM-5 things are nops */
+#define CMMD_node_timer_clear(ID)
+#define CMMD_node_timer_start(ID)
+#define CMMD_node_timer_stop(ID)
+#define CMMD_node_timer_elapsed(ID) ((double)0)
+
+#define CMMD_self_address() 0
+
+#define ClearAllStats()
+
+/* define away the CM-5 allocator */
+#include <stdlib.h>
+
+#ifndef ALLOC
+#define ALLOC(NUM,ESIZE) ssplain_calloc (NUM+1,ESIZE)
+#endif ALLOC
+
+#ifndef mymalloc
+#define mymalloc malloc
+#endif mymalloc
+
+/* Get all of these multiprocessing things out of here. */
+/* My id will stay that way */
+#define IDMASK 0xffffffff
+
+/* Nothing is getting tested */
+#ifndef RETEST
+#define RETEST()
+#endif RETEST
+
+#ifndef NOTEST
+#define NOTEST()
+#endif NOTEST
+
+/* Everything is local */
+#ifndef local
+#define local
+#endif local
+
+#ifndef LOCAL
+#define LOCAL(VAL) (VAL)
+#endif LOCAL
+
+#ifndef ISLOCPTR
+#define ISLOCPTR(VAL) (1)
+#endif ISLOCPTR
+
+#ifndef MLOCAL
+#define MLOCAL(VAL)
+#endif MLOCAL
+
+/* An atomic increment is a normal increment */
+#ifndef ATOMICINC
+#define ATOMICINC(PVAL) (*(PVAL) = *(PVAL) + 1)
+#endif ATOMICINC
+
+/* Nothing is migrating anywhere */
+#ifndef MIGRATE
+#define MIGRATE(ID)
+#endif MIGRATE
+
+#ifndef MIGRPH
+#define MIGRPH()
+#endif MIGRPH
+
+#ifndef UNPHASE
+#define UNPHASE()
+#endif UNPHASE
+
+#ifndef PID
+#define PID(VAL) (0)
+#endif PID
+
+/* All these functions */
+#pragma ccuredvararg("chatting", printf(1))
+void chatting(char *s, ...);
+
+/* just define these guys, they are not going to change */
+#define __NumNodes 1
+#define __MyNodeId 0
+#define __NDim 0
+
+typedef struct ss_future_cell_int {
+ int value;
+} future_cell_int;
+
+/* Where are these things for real? */
+#ifdef SS_RAND
+long lrand48();
+double drand48();
+void srand48(long seed);
+#endif SS_RAND
+
+#define MOD(V,M) ((V) & ((M) - 1))
+#define INC_MOD(V,M) (V) = MOD((V) + 1, (M))
+
+/* Prefetch instructions */
+
+/* Use these for 1 lookahead prefetching */
+
+#ifdef OVERHEAD_ONLY
+#define ASSEMBLE_PREFETCH(ARG)
+#define ASSEMBLE_PREFETCH_HEAD(ARG)
+#else !OVERHEAD_ONLY
+
+#define ASSEMBLE_PREFETCH(ARG) \
+ asm ("lw $0, %0" : /* no outputs */ : "g" (ARG))
+
+/* Use these for infinite lookahead prefetching */
+#define ASSEMBLE_PREFETCH_HEAD(ARG) \
+ asm ("lh $0, %0" : /* no outputs */ : "g" (ARG))
+
+#endif OVERHEAD_ONLY
+
+#endif SS_PLAIN_H
+
+
+
diff --git a/test/ccured_olden/treeadd/testit b/test/ccured_olden/treeadd/testit
new file mode 100755
index 00000000..031c54bd
--- /dev/null
+++ b/test/ccured_olden/treeadd/testit
@@ -0,0 +1,22 @@
+#!/bin/sh
+# test a treeadd binary
+
+if [ "$1" = "" ]; then
+ echo "usage: $0 ./treeadd.exe"
+ exit
+fi
+
+# all of treeadd's output is to stderr
+echo "running: $1 21 1 2>output"
+if ! $1 21 1 2>output; then
+ echo "$1 failed directly"
+ exit 2
+fi
+
+if ! diff out.orig output >out.diff; then
+ echo "$1 got the wrong answer. See out.diff"
+ exit 4
+else
+ echo "$1 seems to work"
+fi
+ \ No newline at end of file
diff --git a/test/ccured_olden/treeadd/tree.h b/test/ccured_olden/treeadd/tree.h
new file mode 100644
index 00000000..39b141dc
--- /dev/null
+++ b/test/ccured_olden/treeadd/tree.h
@@ -0,0 +1,18 @@
+/* For copyright information, see olden_v1.0/COPYRIGHT */
+
+/* tree.h
+ */
+
+typedef struct tree {
+ int val;
+ struct tree *left, *right;
+} tree_t;
+
+#ifndef SS_PLAIN
+#define NULL 0
+#endif SS_PLAIN
+
+extern tree_t *TreeAlloc (/*int level*/);
+
+extern int level;
+extern int iters;