diff options
author | Steve Dower <steve.dower@microsoft.com> | 2017-02-04 17:37:00 -0800 |
---|---|---|
committer | Steve Dower <steve.dower@microsoft.com> | 2017-02-04 17:37:00 -0800 |
commit | a51d84bfb3b7f82b4b4e22c385cc7966378ae5c2 (patch) | |
tree | f09060bdd9bc041fc2942698eb7a46ea77b8e0fd /Modules/_ctypes/libffi/testsuite/libffi.call/uninitialized.c | |
parent | 2af0fb8818763f1942666dae0835baeab65340fc (diff) | |
parent | cd72452eb70eeaed8cd39282a2bad320bc922f41 (diff) | |
download | cpython-a51d84bfb3b7f82b4b4e22c385cc7966378ae5c2.tar.gz |
Merge from 3.6
Diffstat (limited to 'Modules/_ctypes/libffi/testsuite/libffi.call/uninitialized.c')
-rw-r--r-- | Modules/_ctypes/libffi/testsuite/libffi.call/uninitialized.c | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/Modules/_ctypes/libffi/testsuite/libffi.call/uninitialized.c b/Modules/_ctypes/libffi/testsuite/libffi.call/uninitialized.c deleted file mode 100644 index f00d830234..0000000000 --- a/Modules/_ctypes/libffi/testsuite/libffi.call/uninitialized.c +++ /dev/null @@ -1,61 +0,0 @@ -/* { dg-do run } */ -#include "ffitest.h" - -typedef struct -{ - unsigned char uc; - double d; - unsigned int ui; -} test_structure_1; - -static test_structure_1 struct1(test_structure_1 ts) -{ - ts.uc++; - ts.d--; - ts.ui++; - - return ts; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_type ts1_type; - ffi_type *ts1_type_elements[4]; - - memset(&cif, 1, sizeof(cif)); - ts1_type.size = 0; - ts1_type.alignment = 0; - ts1_type.type = FFI_TYPE_STRUCT; - ts1_type.elements = ts1_type_elements; - ts1_type_elements[0] = &ffi_type_uchar; - ts1_type_elements[1] = &ffi_type_double; - ts1_type_elements[2] = &ffi_type_uint; - ts1_type_elements[3] = NULL; - - test_structure_1 ts1_arg; - /* This is a hack to get a properly aligned result buffer */ - test_structure_1 *ts1_result = - (test_structure_1 *) malloc (sizeof(test_structure_1)); - - args[0] = &ts1_type; - values[0] = &ts1_arg; - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, - &ts1_type, args) == FFI_OK); - - ts1_arg.uc = '\x01'; - ts1_arg.d = 3.14159; - ts1_arg.ui = 555; - - ffi_call(&cif, FFI_FN(struct1), ts1_result, values); - - CHECK(ts1_result->ui == 556); - CHECK(ts1_result->d == 3.14159 - 1); - - free (ts1_result); - exit(0); -} |