summary refs log tree commit diff stats
path: root/tinyc/tests/boundtest.c
diff options
context:
space:
mode:
Diffstat (limited to 'tinyc/tests/boundtest.c')
-rw-r--r--tinyc/tests/boundtest.c285
1 files changed, 0 insertions, 285 deletions
diff --git a/tinyc/tests/boundtest.c b/tinyc/tests/boundtest.c
deleted file mode 100644
index 15bffb4ed..000000000
--- a/tinyc/tests/boundtest.c
+++ /dev/null
@@ -1,285 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#define NB_ITS 1000000
-//#define NB_ITS 1
-#define TAB_SIZE 100
-
-int tab[TAB_SIZE];
-int ret_sum;
-char tab3[256];
-
-int test1(void)
-{
-    int i, sum = 0;
-    for(i=0;i<TAB_SIZE;i++) {
-        sum += tab[i];
-    }
-    return sum;
-}
-
-/* error */
-int test2(void)
-{
-    int i, sum = 0;
-    for(i=0;i<TAB_SIZE + 1;i++) {
-        sum += tab[i];
-    }
-    return sum;
-}
-
-/* actually, profiling test */
-int test3(void)
-{
-    int sum;
-    int i, it;
-
-    sum = 0;
-    for(it=0;it<NB_ITS;it++) {
-        for(i=0;i<TAB_SIZE;i++) {
-            sum += tab[i];
-        }
-    }
-    return sum;
-}
-
-/* ok */
-int test4(void)
-{
-    int i, sum = 0;
-    int *tab4;
-
-    fprintf(stderr, "%s start\n", __FUNCTION__);
-
-    tab4 = malloc(20 * sizeof(int));
-    for(i=0;i<20;i++) {
-        sum += tab4[i];
-    }
-    free(tab4);
-
-    fprintf(stderr, "%s end\n", __FUNCTION__);
-    return sum;
-}
-
-/* error */
-int test5(void)
-{
-    int i, sum = 0;
-    int *tab4;
-
-    fprintf(stderr, "%s start\n", __FUNCTION__);
-
-    tab4 = malloc(20 * sizeof(int));
-    for(i=0;i<21;i++) {
-        sum += tab4[i];
-    }
-    free(tab4);
-
-    fprintf(stderr, "%s end\n", __FUNCTION__);
-    return sum;
-}
-
-/* error */
-/* XXX: currently: bug */
-int test6(void)
-{
-    int i, sum = 0;
-    int *tab4;
-    
-    tab4 = malloc(20 * sizeof(int));
-    free(tab4);
-    for(i=0;i<21;i++) {
-        sum += tab4[i];
-    }
-
-    return sum;
-}
-
-/* error */
-int test7(void)
-{
-    int i, sum = 0;
-    int *p;
-
-    for(i=0;i<TAB_SIZE + 1;i++) {
-        p = &tab[i];
-        if (i == TAB_SIZE)
-            printf("i=%d %x\n", i, p);
-        sum += *p;
-    }
-    return sum;
-}
-
-/* ok */
-int test8(void)
-{
-    int i, sum = 0;
-    int tab[10];
-
-    for(i=0;i<10;i++) {
-        sum += tab[i];
-    }
-    return sum;
-}
-
-/* error */
-int test9(void)
-{
-    int i, sum = 0;
-    char tab[10];
-
-    for(i=0;i<11;i++) {
-        sum += tab[i];
-    }
-    return sum;
-}
-
-/* ok */
-int test10(void)
-{
-    char tab[10];
-    char tab1[10];
-
-    memset(tab, 0, 10);
-    memcpy(tab, tab1, 10);
-    memmove(tab, tab1, 10);
-    return 0;
-}
-
-/* error */
-int test11(void)
-{
-    char tab[10];
-
-    memset(tab, 0, 11);
-    return 0;
-}
-
-/* error */
-int test12(void)
-{
-    void *ptr;
-    ptr = malloc(10);
-    free(ptr);
-    free(ptr);
-    return 0;
-}
-
-/* error */
-int test13(void)
-{
-    char pad1 = 0;
-    char tab[10];
-    char pad2 = 0;
-    memset(tab, 'a', sizeof(tab));
-    return strlen(tab);
-}
-
-int test14(void)
-{
-    char *p = alloca(TAB_SIZE);
-    memset(p, 'a', TAB_SIZE);
-    p[TAB_SIZE-1] = 0;
-    return strlen(p);
-}
-
-/* error */
-int test15(void)
-{
-    char *p = alloca(TAB_SIZE-1);
-    memset(p, 'a', TAB_SIZE);
-    p[TAB_SIZE-1] = 0;
-    return strlen(p);
-}
-
-/* ok */
-int test16()
-{
-    char *demo = "This is only a test.";
-    char *p;
-
-    fprintf(stderr, "%s start\n", __FUNCTION__);
-
-    p = alloca(16);
-    strcpy(p,"12345678901234");
-    printf("alloca: p is %s\n", p);
-
-    /* Test alloca embedded in a larger expression */
-    printf("alloca: %s\n", strcpy(alloca(strlen(demo)+1),demo) );
-
-    fprintf(stderr, "%s end\n", __FUNCTION__);
-}
-
-/* error */
-int test17()
-{
-    char *demo = "This is only a test.";
-    char *p;
-
-    fprintf(stderr, "%s start\n", __FUNCTION__);
-
-    p = alloca(16);
-    strcpy(p,"12345678901234");
-    printf("alloca: p is %s\n", p);
-
-    /* Test alloca embedded in a larger expression */
-    printf("alloca: %s\n", strcpy(alloca(strlen(demo)),demo) );
-
-    fprintf(stderr, "%s end\n", __FUNCTION__);
-}
-
-int (*table_test[])(void) = {
-    test1,
-    test2,
-    test3,
-    test4,
-    test5,
-    test6,
-    test7,
-    test8,
-    test9,
-    test10,
-    test11,
-    test12,
-    test13,
-    test14,
-    test15,
-    test16,
-    test17,
-};
-
-int main(int argc, char **argv)
-{
-    int index;
-    int (*ftest)(void);
-    int index_max = sizeof(table_test)/sizeof(table_test[0]);
-
-    if (argc < 2) {
-        printf(
-    	    "test TCC bound checking system\n"
-	    "usage: boundtest N\n"
-            "  1 <= N <= %d\n", index_max);
-        exit(1);
-    }
-
-    index = 0;
-    if (argc >= 2)
-        index = atoi(argv[1]) - 1;
-
-    if ((index < 0) || (index >= index_max)) {
-        printf("N is outside of the valid range (%d)\n", index);
-        exit(2);
-    }
-
-    /* well, we also use bounds on this ! */
-    ftest = table_test[index];
-    ftest();
-
-    return 0;
-}
-
-/*
- * without bound   0.77 s
- * with bounds    4.73
- */