diff options
author | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2017-02-02 19:17:51 +0000 |
---|---|---|
committer | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2017-02-02 19:17:51 +0000 |
commit | b8cf82474245d48753ae34b76a272d5120895add (patch) | |
tree | 8bec37e99a342ac40fc8a0619897feaad7615061 /Modules/_ctypes/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc | |
parent | 474ecf16ed434144efc0e1de383efda76f011e3f (diff) | |
parent | 14593e19e199dd34f268b35987ddb288bf022039 (diff) | |
download | cpython-b8cf82474245d48753ae34b76a272d5120895add.tar.gz |
Closes #24875: Merged fix from 3.6.
Diffstat (limited to 'Modules/_ctypes/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc')
-rw-r--r-- | Modules/_ctypes/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/Modules/_ctypes/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc b/Modules/_ctypes/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc deleted file mode 100644 index ec611647e3..0000000000 --- a/Modules/_ctypes/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc +++ /dev/null @@ -1,54 +0,0 @@ -/* Area: ffi_call, unwind info - Purpose: Check if the unwind information is passed correctly. - Limitations: none. - PR: none. - Originator: Andreas Tobler <andreast@gcc.gnu.org> 20061213 */ - -/* { dg-do run } */ - -#include "ffitest.h" - -static int checking(int a __UNUSED__, short b __UNUSED__, - signed char c __UNUSED__) -{ - throw 9; -} - -int main (void) -{ - ffi_cif cif; - ffi_type *args[MAX_ARGS]; - void *values[MAX_ARGS]; - ffi_arg rint; - - signed int si; - signed short ss; - signed char sc; - - args[0] = &ffi_type_sint; - values[0] = &si; - args[1] = &ffi_type_sshort; - values[1] = &ss; - args[2] = &ffi_type_schar; - values[2] = ≻ - - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, - &ffi_type_sint, args) == FFI_OK); - - si = -6; - ss = -12; - sc = -1; - { - try - { - ffi_call(&cif, FFI_FN(checking), &rint, values); - } catch (int exception_code) - { - CHECK(exception_code == 9); - } - printf("part one OK\n"); - /* { dg-output "part one OK" } */ - } - exit(0); -} |