diff options
Diffstat (limited to 'Examples/test-suite/arrays.i')
-rw-r--r-- | Examples/test-suite/arrays.i | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Examples/test-suite/arrays.i b/Examples/test-suite/arrays.i new file mode 100644 index 000000000..57912905d --- /dev/null +++ b/Examples/test-suite/arrays.i @@ -0,0 +1,52 @@ +/* +This test case tests that various types of arrays are working. +*/ + +%module arrays +%pragma make_default + +%inline %{ +#define ARRAY_LEN 2 + +typedef enum {One, Two, Three, Four, Five} finger; + +typedef struct { + double double_field; +} SimpleStruct; + +typedef struct { + char array_c [ARRAY_LEN]; + signed char array_sc[ARRAY_LEN]; + unsigned char array_uc[ARRAY_LEN]; + short array_s [ARRAY_LEN]; + unsigned short array_us[ARRAY_LEN]; + int array_i [ARRAY_LEN]; + unsigned int array_ui[ARRAY_LEN]; + long array_l [ARRAY_LEN]; + unsigned long array_ul[ARRAY_LEN]; + long long array_ll[ARRAY_LEN]; + float array_f [ARRAY_LEN]; + double array_d [ARRAY_LEN]; + SimpleStruct array_struct[ARRAY_LEN]; + SimpleStruct* array_structpointers[ARRAY_LEN]; + int* array_ipointers [ARRAY_LEN]; + finger array_enum[ARRAY_LEN]; + finger* array_enumpointers[ARRAY_LEN]; + const int array_const_i[ARRAY_LEN]; +} ArrayStruct; + +void fn_taking_arrays(SimpleStruct array_struct[ARRAY_LEN]) {} + +/* Pointer helper functions used in the Java run test */ +int* newintpointer() { + return (int*)malloc(sizeof(int)); +} +void setintfrompointer(int* intptr, int value) { + *intptr = value; +} +int getintfrompointer(int* intptr) { + return *intptr; +} + +%} + |