CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
72 lines
1.4 KiB
C
72 lines
1.4 KiB
C
// RUN: %clang_cc1 -emit-llvm %s -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(void) {
|
|
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(void) {
|
|
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();
|
|
}
|
|
|