From ca0c62265eb8cdd5fb0d8a8b34ee77baf3de987e Mon Sep 17 00:00:00 2001 From: blazy Date: Fri, 20 Oct 2006 12:37:13 +0000 Subject: Ajout du banc de tests de CCured (Olden benchmark suite, cf. CCured: type-safe retrofitting of legacy code, G.Necula et al.) rapportCompcert_all.txt liste les erreurs produites par ccomp. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@121 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- test/ccured_olden/treeadd/node.c | 74 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 test/ccured_olden/treeadd/node.c (limited to 'test/ccured_olden/treeadd/node.c') 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 +#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 */ + + + -- cgit