summaryrefslogtreecommitdiff
path: root/cil/test/small1/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'cil/test/small1/init.c')
-rw-r--r--cil/test/small1/init.c177
1 files changed, 0 insertions, 177 deletions
diff --git a/cil/test/small1/init.c b/cil/test/small1/init.c
deleted file mode 100644
index 4578b5b..0000000
--- a/cil/test/small1/init.c
+++ /dev/null
@@ -1,177 +0,0 @@
-#ifndef __NULLTERM
-#define __NULLTERM
-#define __SIZED
-#endif
-#include "testharness.h"
-
-extern int strcmp(const char*, const char*);
-
-/* run this with COMPATMODE=1 if compiling directly, since neither GCC nor
- * MSVCC fully support the C standard */
-static char *usageplocal = "Usage";
-static char usageescape = 'C';
-
-char *usagep = "Usage non-local";
-char *usagep1 = { "Usage in a brace" };
-int g = { 6 } ;
-
-char usages[] = "Usage string";
-char strange[] = { "several" };
-
-char *null = (void*)0;
-
-
-typedef struct s {
- char *name;
- int data;
-} STR;
-
-extern int afunc(int x);
-int (*fptr)(int) = afunc;
-
-STR a[] = {
- {"first", 0},
- {"second", 1},
- {& usages[2], 2},
- { & usageescape, 3},
- { usages, 4},
-};
-
-
-typedef struct {
- struct {
- char * a1[10];
- char * a2;
- char strbuff[20] __NULLTERM;
- } f1;
- struct {
- int * i1;
- } f2[5] __SIZED;
-} NESTED;
-
-NESTED glob1;
-
-int glob3;
-int * glob2 = & glob3;
-
-int afunc(int a) {
- NESTED loc1;
- char locbuff[30] __NULLTERM;
- char indexbuff[10] __SIZED;
-
- loc1.f1.a2 = glob1.f1.a2;
-
- return * loc1.f2[3].i1 + (locbuff[0] - indexbuff[0]);
-}
-
-
-
-// now initialization for union
-union {
- struct {
- int a;
- int *b;
- } u1;
- int c;
-} uarray[] = { 1, 0, 2, 0, 3, 0 };
-
-
-// now some examples from the standard
-int z[4][3] =
-{ { 1 }, { 2 }, { 3 }, { 4 } };
-
-struct str1 { int a[3]; int b;};
-
-struct str1 w[] =
-{ { 1 }, { 2 } };
-
-
-short q[4][3][2] = {
- { 1 } ,
- { 2, 3 },
- { 4, 5, 6}
-};
-
-short q1[4][3][2] = {
- 1, 0, 0, 0, 0, 0,
- 2, 3, 0, 0, 0, 0,
- 4, 5, 6, 0, 0, 0,
-};
-
-
-
-#ifdef _GNUCC
-int a1[10] = {
- 1, 3, 5, 7, 9, [6] = 8, 6, 4, 2};
-
-
-enum { member_one, member_two, member_three };
-char *nm[] = {
- [member_two] = "member_two",
- [member_three] = "member_three",
-};
-
-
-#endif
-
-
-
-#define ERROR(n) { printf("Incorrect init: %d\n", n); exit(1); }
-// Test the initialization
-int main() {
- int i;
-
- struct str1 astr = w[0];
-
- if(strcmp(a[0].name, "first")) {
- ERROR(0);
- }
- if(sizeof(uarray) / sizeof(uarray[0]) != 3) {
- ERROR(1);
- }
- if(uarray[2].u1.a != 3) {
- ERROR(2);
- }
-
- if(z[2][0] != 3 ||
- z[2][1] != 0) {
- ERROR(4);
- }
-
- if(sizeof(w) / sizeof(w[0]) != 2 ||
- w[1].a[0] != 2) {
- ERROR(5);
- }
- {
- short * ps = (short*)q, * ps1 = (short*)q1;
- for(i=0;i<sizeof(q) / sizeof(short); i++, ps ++, ps1 ++) {
- if(*ps != *ps1) {
- ERROR(6);
- }
- }
- }
-
-#ifdef _GNUCC
- if(a1[1] != 3 ||
- a1[5] != 0 ||
- a1[6] != 8 ||
- a1[7] != 6) {
- ERROR(7);
- }
-
-
- if(strcmp(nm[1], "member_two") ||
- strcmp(nm[2], "member_three") ||
- sizeof(nm) != 3 * sizeof(nm[0])) {
- ERROR(8);
- }
-
-#endif
-
-
- printf("Initialization test succeeded\n");
- return 0;
-}
-
-
-