diff options
Diffstat (limited to 'test/FrontendC/2002-07-14-MiscListTests.c')
-rw-r--r-- | test/FrontendC/2002-07-14-MiscListTests.c | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/test/FrontendC/2002-07-14-MiscListTests.c b/test/FrontendC/2002-07-14-MiscListTests.c deleted file mode 100644 index 4a5459a..0000000 --- a/test/FrontendC/2002-07-14-MiscListTests.c +++ /dev/null @@ -1,71 +0,0 @@ -// RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null - -// Test list stuff - -void *malloc(unsigned); - -// Test opaque structure support. the list type is defined later -struct list; - -struct list *PassThroughList(struct list *L) { - return L; -} - - -// Recursive data structure tests... - -typedef struct list { - int Data; - struct list *Next; -} list; - -list *Data; - -void foo() { - static int Foo = 0; // Test static local variable - Foo += 1; // Increment static variable - - Data = (list*)malloc(12); // This is not a proper list allocation -} - -extern list ListNode1; -list ListNode3 = { 4, 0 }; -list ListNode2 = { 3, &ListNode3 }; -list ListNode0 = { 1, &ListNode1 }; -list ListNode1 = { 2, &ListNode2 }; - - -list ListArray[10]; - -// Iterative insert fn -void InsertIntoListTail(list **L, int Data) { - while (*L) - L = &(*L)->Next; - *L = (list*)malloc(sizeof(list)); - (*L)->Data = Data; - (*L)->Next = 0; -} - -// Recursive list search fn -list *FindData(list *L, int Data) { - if (L == 0) return 0; - if (L->Data == Data) return L; - return FindData(L->Next, Data); -} - -void foundIt(void); - -// Driver fn... -void DoListStuff() { - list *MyList = 0; - InsertIntoListTail(&MyList, 100); - InsertIntoListTail(&MyList, 12); - InsertIntoListTail(&MyList, 42); - InsertIntoListTail(&MyList, 1123); - InsertIntoListTail(&MyList, 1213); - - if (FindData(MyList, 75)) foundIt(); - if (FindData(MyList, 42)) foundIt(); - if (FindData(MyList, 700)) foundIt(); -} - |