aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/restricted/libffi/testsuite/libffi.closures
diff options
context:
space:
mode:
authorMikhail Borisov <borisov.mikhail@gmail.com>2022-02-10 16:45:40 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:40 +0300
commit5d50718e66d9c037dc587a0211110b7d25a66185 (patch)
treee98df59de24d2ef7c77baed9f41e4875a2fef972 /contrib/restricted/libffi/testsuite/libffi.closures
parenta6a92afe03e02795227d2641b49819b687f088f8 (diff)
downloadydb-5d50718e66d9c037dc587a0211110b7d25a66185.tar.gz
Restoring authorship annotation for Mikhail Borisov <borisov.mikhail@gmail.com>. Commit 2 of 2.
Diffstat (limited to 'contrib/restricted/libffi/testsuite/libffi.closures')
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn0.c178
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn0/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn1.c162
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn1/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn2.c162
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn2/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn3.c164
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn3/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn4.c178
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn4/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn5.c184
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn5/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn6.c180
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_fn6/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_loc_fn0.c190
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_loc_fn0/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_simple.c110
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/closure_simple/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_12byte.c188
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_12byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_16byte.c190
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_16byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_18byte.c192
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_18byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_19byte.c204
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_19byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_1_1byte.c178
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_1_1byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte.c182
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte1.c186
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte1/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_24byte.c226
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_24byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_2byte.c180
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_2byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_3_1byte.c190
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_3_1byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte1.c180
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte1/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte2.c180
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte2/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_3float.c190
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_3float/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_4_1byte.c196
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_4_1byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_4byte.c180
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_4byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_5_1_byte.c218
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_5_1_byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_5byte.c196
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_5byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_64byte.c248
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_64byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_6_1_byte.c226
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_6_1_byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_6byte.c198
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_6byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_7_1_byte.c234
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_7_1_byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_7byte.c194
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_7byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_8byte.c176
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_8byte/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte1.c180
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte1/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte2.c182
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte2/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_double.c186
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_double/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_float.c182
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_float/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble.c184
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split.c264
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split2.c230
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split2/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_pointer.c190
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_pointer/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint16.c182
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint16/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint32.c182
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint32/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint64.c184
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint64/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint16.c182
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint16/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint32.c182
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint32/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint64.c186
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint64/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_dbls_struct.c132
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_dbls_struct/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_double.c86
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_double/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_double_va.c122
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_double_va/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_float.c84
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_float/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble.c210
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble_va.c122
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble_va/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_args.c140
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_args/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_float_double.c110
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_float_double/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_schar.c148
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_schar/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshort.c148
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshort/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c172
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshortchar/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_uchar.c182
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_uchar/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushort.c148
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushort/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c172
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushortchar/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer.c148
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer_stack.c282
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer_stack/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_schar.c88
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_schar/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_sint.c84
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_sint/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_sshort.c84
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_sshort/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_struct_va1.c228
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_struct_va1/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar.c84
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar_va.c88
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar_va/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_uint.c86
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_uint/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_uint_va.c90
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_uint_va/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_ulong_va.c90
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_ulong_va/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_ulonglong.c94
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_ulonglong/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort.c86
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort_va.c88
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort_va/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/err_bad_abi.c72
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/err_bad_abi/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/ffitest.h288
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/huge_struct.c682
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/huge_struct/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct.c304
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct1.c322
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct1/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct10.c268
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct10/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct11.c242
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct11/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct2.c220
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct2/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct3.c222
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct3/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct4.c222
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct4/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct5.c224
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct5/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct6.c262
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct6/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct7.c222
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct7/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct8.c262
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct8/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct9.c262
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/nested_struct9/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/problem1.c180
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/problem1/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/stret_large.c290
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/stret_large/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/stret_large2.c296
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/stret_large2/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/stret_medium.c248
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/stret_medium/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/stret_medium2.c250
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/stret_medium2/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/testclosure.c140
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/testclosure/ya.make40
-rw-r--r--contrib/restricted/libffi/testsuite/libffi.closures/ya.make206
190 files changed, 10888 insertions, 10888 deletions
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn0.c b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn0.c
index fd7c2475f7..a579ff6c97 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn0.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn0.c
@@ -1,89 +1,89 @@
-/* Area: closure_call
- Purpose: Check multiple values passing from different type.
- Also, exceed the limit of gpr and fpr registers on PowerPC
- Darwin.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-
-
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void
-closure_test_fn0(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata)
-{
- *(ffi_arg*)resp =
- (int)*(unsigned long long *)args[0] + (int)(*(int *)args[1]) +
- (int)(*(unsigned long long *)args[2]) + (int)*(int *)args[3] +
- (int)(*(signed short *)args[4]) +
- (int)(*(unsigned long long *)args[5]) +
- (int)*(int *)args[6] + (int)(*(int *)args[7]) +
- (int)(*(double *)args[8]) + (int)*(int *)args[9] +
- (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
- (int)*(int *)args[12] + (int)(*(int *)args[13]) +
- (int)(*(int *)args[14]) + *(int *)args[15] + (intptr_t)userdata;
-
- printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
- (int)*(unsigned long long *)args[0], (int)(*(int *)args[1]),
- (int)(*(unsigned long long *)args[2]),
- (int)*(int *)args[3], (int)(*(signed short *)args[4]),
- (int)(*(unsigned long long *)args[5]),
- (int)*(int *)args[6], (int)(*(int *)args[7]),
- (int)(*(double *)args[8]), (int)*(int *)args[9],
- (int)(*(int *)args[10]), (int)(*(float *)args[11]),
- (int)*(int *)args[12], (int)(*(int *)args[13]),
- (int)(*(int *)args[14]),*(int *)args[15],
- (int)(intptr_t)userdata, (int)*(ffi_arg *)resp);
-
-}
-
-typedef int (*closure_test_type0)(unsigned long long, int, unsigned long long,
- int, signed short, unsigned long long, int,
- int, double, int, int, float, int, int,
- int, int);
-
-int main (void)
-{
- ffi_cif cif;
- void * code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[17];
- int res;
-
- cl_arg_types[0] = &ffi_type_uint64;
- cl_arg_types[1] = &ffi_type_sint;
- cl_arg_types[2] = &ffi_type_uint64;
- cl_arg_types[3] = &ffi_type_sint;
- cl_arg_types[4] = &ffi_type_sshort;
- cl_arg_types[5] = &ffi_type_uint64;
- cl_arg_types[6] = &ffi_type_sint;
- cl_arg_types[7] = &ffi_type_sint;
- cl_arg_types[8] = &ffi_type_double;
- cl_arg_types[9] = &ffi_type_sint;
- cl_arg_types[10] = &ffi_type_sint;
- cl_arg_types[11] = &ffi_type_float;
- cl_arg_types[12] = &ffi_type_sint;
- cl_arg_types[13] = &ffi_type_sint;
- cl_arg_types[14] = &ffi_type_sint;
- cl_arg_types[15] = &ffi_type_sint;
- cl_arg_types[16] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
- &ffi_type_sint, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn0,
- (void *) 3 /* userdata */, code) == FFI_OK);
-
- res = (*((closure_test_type0)code))
- (1LL, 2, 3LL, 4, 127, 429LL, 7, 8, 9.5, 10, 11, 12, 13,
- 19, 21, 1);
- /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 680" } */
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check multiple values passing from different type.
+ Also, exceed the limit of gpr and fpr registers on PowerPC
+ Darwin.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+
+
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void
+closure_test_fn0(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata)
+{
+ *(ffi_arg*)resp =
+ (int)*(unsigned long long *)args[0] + (int)(*(int *)args[1]) +
+ (int)(*(unsigned long long *)args[2]) + (int)*(int *)args[3] +
+ (int)(*(signed short *)args[4]) +
+ (int)(*(unsigned long long *)args[5]) +
+ (int)*(int *)args[6] + (int)(*(int *)args[7]) +
+ (int)(*(double *)args[8]) + (int)*(int *)args[9] +
+ (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
+ (int)*(int *)args[12] + (int)(*(int *)args[13]) +
+ (int)(*(int *)args[14]) + *(int *)args[15] + (intptr_t)userdata;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
+ (int)*(unsigned long long *)args[0], (int)(*(int *)args[1]),
+ (int)(*(unsigned long long *)args[2]),
+ (int)*(int *)args[3], (int)(*(signed short *)args[4]),
+ (int)(*(unsigned long long *)args[5]),
+ (int)*(int *)args[6], (int)(*(int *)args[7]),
+ (int)(*(double *)args[8]), (int)*(int *)args[9],
+ (int)(*(int *)args[10]), (int)(*(float *)args[11]),
+ (int)*(int *)args[12], (int)(*(int *)args[13]),
+ (int)(*(int *)args[14]),*(int *)args[15],
+ (int)(intptr_t)userdata, (int)*(ffi_arg *)resp);
+
+}
+
+typedef int (*closure_test_type0)(unsigned long long, int, unsigned long long,
+ int, signed short, unsigned long long, int,
+ int, double, int, int, float, int, int,
+ int, int);
+
+int main (void)
+{
+ ffi_cif cif;
+ void * code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[17];
+ int res;
+
+ cl_arg_types[0] = &ffi_type_uint64;
+ cl_arg_types[1] = &ffi_type_sint;
+ cl_arg_types[2] = &ffi_type_uint64;
+ cl_arg_types[3] = &ffi_type_sint;
+ cl_arg_types[4] = &ffi_type_sshort;
+ cl_arg_types[5] = &ffi_type_uint64;
+ cl_arg_types[6] = &ffi_type_sint;
+ cl_arg_types[7] = &ffi_type_sint;
+ cl_arg_types[8] = &ffi_type_double;
+ cl_arg_types[9] = &ffi_type_sint;
+ cl_arg_types[10] = &ffi_type_sint;
+ cl_arg_types[11] = &ffi_type_float;
+ cl_arg_types[12] = &ffi_type_sint;
+ cl_arg_types[13] = &ffi_type_sint;
+ cl_arg_types[14] = &ffi_type_sint;
+ cl_arg_types[15] = &ffi_type_sint;
+ cl_arg_types[16] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn0,
+ (void *) 3 /* userdata */, code) == FFI_OK);
+
+ res = (*((closure_test_type0)code))
+ (1LL, 2, 3LL, 4, 127, 429LL, 7, 8, 9.5, 10, 11, 12, 13,
+ 19, 21, 1);
+ /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 680" } */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn0/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn0/ya.make
index 5e149f11ec..30dc7128a6 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn0/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn0/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- closure_fn0.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ closure_fn0.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn1.c b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn1.c
index 3ff4c82205..91231738c1 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn1.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn1.c
@@ -1,81 +1,81 @@
-/* Area: closure_call.
- Purpose: Check multiple values passing from different type.
- Also, exceed the limit of gpr and fpr registers on PowerPC
- Darwin.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-
-static void closure_test_fn1(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata)
-{
- *(ffi_arg*)resp =
- (int)*(float *)args[0] +(int)(*(float *)args[1]) +
- (int)(*(float *)args[2]) + (int)*(float *)args[3] +
- (int)(*(signed short *)args[4]) + (int)(*(float *)args[5]) +
- (int)*(float *)args[6] + (int)(*(int *)args[7]) +
- (int)(*(double*)args[8]) + (int)*(int *)args[9] +
- (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
- (int)*(int *)args[12] + (int)(*(int *)args[13]) +
- (int)(*(int *)args[14]) + *(int *)args[15] + (intptr_t)userdata;
-
- printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
- (int)*(float *)args[0], (int)(*(float *)args[1]),
- (int)(*(float *)args[2]), (int)*(float *)args[3],
- (int)(*(signed short *)args[4]), (int)(*(float *)args[5]),
- (int)*(float *)args[6], (int)(*(int *)args[7]),
- (int)(*(double *)args[8]), (int)*(int *)args[9],
- (int)(*(int *)args[10]), (int)(*(float *)args[11]),
- (int)*(int *)args[12], (int)(*(int *)args[13]),
- (int)(*(int *)args[14]), *(int *)args[15],
- (int)(intptr_t)userdata, (int)*(ffi_arg *)resp);
-}
-
-typedef int (*closure_test_type1)(float, float, float, float, signed short,
- float, float, int, double, int, int, float,
- int, int, int, int);
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[17];
- int res;
-
- cl_arg_types[0] = &ffi_type_float;
- cl_arg_types[1] = &ffi_type_float;
- cl_arg_types[2] = &ffi_type_float;
- cl_arg_types[3] = &ffi_type_float;
- cl_arg_types[4] = &ffi_type_sshort;
- cl_arg_types[5] = &ffi_type_float;
- cl_arg_types[6] = &ffi_type_float;
- cl_arg_types[7] = &ffi_type_sint;
- cl_arg_types[8] = &ffi_type_double;
- cl_arg_types[9] = &ffi_type_sint;
- cl_arg_types[10] = &ffi_type_sint;
- cl_arg_types[11] = &ffi_type_float;
- cl_arg_types[12] = &ffi_type_sint;
- cl_arg_types[13] = &ffi_type_sint;
- cl_arg_types[14] = &ffi_type_sint;
- cl_arg_types[15] = &ffi_type_sint;
- cl_arg_types[16] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
- &ffi_type_sint, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn1,
- (void *) 3 /* userdata */, code) == FFI_OK);
-
- res = (*((closure_test_type1)code))
- (1.1, 2.2, 3.3, 4.4, 127, 5.5, 6.6, 8, 9, 10, 11, 12.0, 13,
- 19, 21, 1);
- /* { dg-output "1 2 3 4 127 5 6 8 9 10 11 12 13 19 21 1 3: 255" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 255" } */
- exit(0);
-}
+/* Area: closure_call.
+ Purpose: Check multiple values passing from different type.
+ Also, exceed the limit of gpr and fpr registers on PowerPC
+ Darwin.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+
+static void closure_test_fn1(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata)
+{
+ *(ffi_arg*)resp =
+ (int)*(float *)args[0] +(int)(*(float *)args[1]) +
+ (int)(*(float *)args[2]) + (int)*(float *)args[3] +
+ (int)(*(signed short *)args[4]) + (int)(*(float *)args[5]) +
+ (int)*(float *)args[6] + (int)(*(int *)args[7]) +
+ (int)(*(double*)args[8]) + (int)*(int *)args[9] +
+ (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
+ (int)*(int *)args[12] + (int)(*(int *)args[13]) +
+ (int)(*(int *)args[14]) + *(int *)args[15] + (intptr_t)userdata;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
+ (int)*(float *)args[0], (int)(*(float *)args[1]),
+ (int)(*(float *)args[2]), (int)*(float *)args[3],
+ (int)(*(signed short *)args[4]), (int)(*(float *)args[5]),
+ (int)*(float *)args[6], (int)(*(int *)args[7]),
+ (int)(*(double *)args[8]), (int)*(int *)args[9],
+ (int)(*(int *)args[10]), (int)(*(float *)args[11]),
+ (int)*(int *)args[12], (int)(*(int *)args[13]),
+ (int)(*(int *)args[14]), *(int *)args[15],
+ (int)(intptr_t)userdata, (int)*(ffi_arg *)resp);
+}
+
+typedef int (*closure_test_type1)(float, float, float, float, signed short,
+ float, float, int, double, int, int, float,
+ int, int, int, int);
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[17];
+ int res;
+
+ cl_arg_types[0] = &ffi_type_float;
+ cl_arg_types[1] = &ffi_type_float;
+ cl_arg_types[2] = &ffi_type_float;
+ cl_arg_types[3] = &ffi_type_float;
+ cl_arg_types[4] = &ffi_type_sshort;
+ cl_arg_types[5] = &ffi_type_float;
+ cl_arg_types[6] = &ffi_type_float;
+ cl_arg_types[7] = &ffi_type_sint;
+ cl_arg_types[8] = &ffi_type_double;
+ cl_arg_types[9] = &ffi_type_sint;
+ cl_arg_types[10] = &ffi_type_sint;
+ cl_arg_types[11] = &ffi_type_float;
+ cl_arg_types[12] = &ffi_type_sint;
+ cl_arg_types[13] = &ffi_type_sint;
+ cl_arg_types[14] = &ffi_type_sint;
+ cl_arg_types[15] = &ffi_type_sint;
+ cl_arg_types[16] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn1,
+ (void *) 3 /* userdata */, code) == FFI_OK);
+
+ res = (*((closure_test_type1)code))
+ (1.1, 2.2, 3.3, 4.4, 127, 5.5, 6.6, 8, 9, 10, 11, 12.0, 13,
+ 19, 21, 1);
+ /* { dg-output "1 2 3 4 127 5 6 8 9 10 11 12 13 19 21 1 3: 255" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 255" } */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn1/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn1/ya.make
index 3bcc2775a5..05987baa5c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn1/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn1/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- closure_fn1.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ closure_fn1.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn2.c b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn2.c
index cfb41a0b89..08ff9d9227 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn2.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn2.c
@@ -1,81 +1,81 @@
-/* Area: closure_call
- Purpose: Check multiple values passing from different type.
- Also, exceed the limit of gpr and fpr registers on PowerPC
- Darwin.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void closure_test_fn2(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata)
-{
- *(ffi_arg*)resp =
- (int)*(double *)args[0] +(int)(*(double *)args[1]) +
- (int)(*(double *)args[2]) + (int)*(double *)args[3] +
- (int)(*(signed short *)args[4]) + (int)(*(double *)args[5]) +
- (int)*(double *)args[6] + (int)(*(int *)args[7]) +
- (int)(*(double *)args[8]) + (int)*(int *)args[9] +
- (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
- (int)*(int *)args[12] + (int)(*(float *)args[13]) +
- (int)(*(int *)args[14]) + *(int *)args[15] + (intptr_t)userdata;
-
- printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
- (int)*(double *)args[0], (int)(*(double *)args[1]),
- (int)(*(double *)args[2]), (int)*(double *)args[3],
- (int)(*(signed short *)args[4]), (int)(*(double *)args[5]),
- (int)*(double *)args[6], (int)(*(int *)args[7]),
- (int)(*(double*)args[8]), (int)*(int *)args[9],
- (int)(*(int *)args[10]), (int)(*(float *)args[11]),
- (int)*(int *)args[12], (int)(*(float *)args[13]),
- (int)(*(int *)args[14]), *(int *)args[15], (int)(intptr_t)userdata,
- (int)*(ffi_arg *)resp);
-}
-
-typedef int (*closure_test_type2)(double, double, double, double, signed short,
- double, double, int, double, int, int, float,
- int, float, int, int);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[17];
- int res;
-
- cl_arg_types[0] = &ffi_type_double;
- cl_arg_types[1] = &ffi_type_double;
- cl_arg_types[2] = &ffi_type_double;
- cl_arg_types[3] = &ffi_type_double;
- cl_arg_types[4] = &ffi_type_sshort;
- cl_arg_types[5] = &ffi_type_double;
- cl_arg_types[6] = &ffi_type_double;
- cl_arg_types[7] = &ffi_type_sint;
- cl_arg_types[8] = &ffi_type_double;
- cl_arg_types[9] = &ffi_type_sint;
- cl_arg_types[10] = &ffi_type_sint;
- cl_arg_types[11] = &ffi_type_float;
- cl_arg_types[12] = &ffi_type_sint;
- cl_arg_types[13] = &ffi_type_float;
- cl_arg_types[14] = &ffi_type_sint;
- cl_arg_types[15] = &ffi_type_sint;
- cl_arg_types[16] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
- &ffi_type_sint, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn2,
- (void *) 3 /* userdata */, code) == FFI_OK);
-
- res = (*((closure_test_type2)code))
- (1, 2, 3, 4, 127, 5, 6, 8, 9, 10, 11, 12.0, 13,
- 19.0, 21, 1);
- /* { dg-output "1 2 3 4 127 5 6 8 9 10 11 12 13 19 21 1 3: 255" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 255" } */
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check multiple values passing from different type.
+ Also, exceed the limit of gpr and fpr registers on PowerPC
+ Darwin.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void closure_test_fn2(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata)
+{
+ *(ffi_arg*)resp =
+ (int)*(double *)args[0] +(int)(*(double *)args[1]) +
+ (int)(*(double *)args[2]) + (int)*(double *)args[3] +
+ (int)(*(signed short *)args[4]) + (int)(*(double *)args[5]) +
+ (int)*(double *)args[6] + (int)(*(int *)args[7]) +
+ (int)(*(double *)args[8]) + (int)*(int *)args[9] +
+ (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
+ (int)*(int *)args[12] + (int)(*(float *)args[13]) +
+ (int)(*(int *)args[14]) + *(int *)args[15] + (intptr_t)userdata;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
+ (int)*(double *)args[0], (int)(*(double *)args[1]),
+ (int)(*(double *)args[2]), (int)*(double *)args[3],
+ (int)(*(signed short *)args[4]), (int)(*(double *)args[5]),
+ (int)*(double *)args[6], (int)(*(int *)args[7]),
+ (int)(*(double*)args[8]), (int)*(int *)args[9],
+ (int)(*(int *)args[10]), (int)(*(float *)args[11]),
+ (int)*(int *)args[12], (int)(*(float *)args[13]),
+ (int)(*(int *)args[14]), *(int *)args[15], (int)(intptr_t)userdata,
+ (int)*(ffi_arg *)resp);
+}
+
+typedef int (*closure_test_type2)(double, double, double, double, signed short,
+ double, double, int, double, int, int, float,
+ int, float, int, int);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[17];
+ int res;
+
+ cl_arg_types[0] = &ffi_type_double;
+ cl_arg_types[1] = &ffi_type_double;
+ cl_arg_types[2] = &ffi_type_double;
+ cl_arg_types[3] = &ffi_type_double;
+ cl_arg_types[4] = &ffi_type_sshort;
+ cl_arg_types[5] = &ffi_type_double;
+ cl_arg_types[6] = &ffi_type_double;
+ cl_arg_types[7] = &ffi_type_sint;
+ cl_arg_types[8] = &ffi_type_double;
+ cl_arg_types[9] = &ffi_type_sint;
+ cl_arg_types[10] = &ffi_type_sint;
+ cl_arg_types[11] = &ffi_type_float;
+ cl_arg_types[12] = &ffi_type_sint;
+ cl_arg_types[13] = &ffi_type_float;
+ cl_arg_types[14] = &ffi_type_sint;
+ cl_arg_types[15] = &ffi_type_sint;
+ cl_arg_types[16] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn2,
+ (void *) 3 /* userdata */, code) == FFI_OK);
+
+ res = (*((closure_test_type2)code))
+ (1, 2, 3, 4, 127, 5, 6, 8, 9, 10, 11, 12.0, 13,
+ 19.0, 21, 1);
+ /* { dg-output "1 2 3 4 127 5 6 8 9 10 11 12 13 19 21 1 3: 255" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 255" } */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn2/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn2/ya.make
index 4ffbfe93e8..9fb20abc91 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn2/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn2/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- closure_fn2.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ closure_fn2.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn3.c b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn3.c
index 814693e770..9b54d805c8 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn3.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn3.c
@@ -1,82 +1,82 @@
-/* Area: closure_call
- Purpose: Check multiple values passing from different type.
- Also, exceed the limit of gpr and fpr registers on PowerPC
- Darwin.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void closure_test_fn3(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata)
- {
- *(ffi_arg*)resp =
- (int)*(float *)args[0] +(int)(*(float *)args[1]) +
- (int)(*(float *)args[2]) + (int)*(float *)args[3] +
- (int)(*(float *)args[4]) + (int)(*(float *)args[5]) +
- (int)*(float *)args[6] + (int)(*(float *)args[7]) +
- (int)(*(double *)args[8]) + (int)*(int *)args[9] +
- (int)(*(float *)args[10]) + (int)(*(float *)args[11]) +
- (int)*(int *)args[12] + (int)(*(float *)args[13]) +
- (int)(*(float *)args[14]) + *(int *)args[15] + (intptr_t)userdata;
-
- printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
- (int)*(float *)args[0], (int)(*(float *)args[1]),
- (int)(*(float *)args[2]), (int)*(float *)args[3],
- (int)(*(float *)args[4]), (int)(*(float *)args[5]),
- (int)*(float *)args[6], (int)(*(float *)args[7]),
- (int)(*(double *)args[8]), (int)*(int *)args[9],
- (int)(*(float *)args[10]), (int)(*(float *)args[11]),
- (int)*(int *)args[12], (int)(*(float *)args[13]),
- (int)(*(float *)args[14]), *(int *)args[15], (int)(intptr_t)userdata,
- (int)*(ffi_arg *)resp);
-
- }
-
-typedef int (*closure_test_type3)(float, float, float, float, float, float,
- float, float, double, int, float, float, int,
- float, float, int);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[17];
- int res;
-
- cl_arg_types[0] = &ffi_type_float;
- cl_arg_types[1] = &ffi_type_float;
- cl_arg_types[2] = &ffi_type_float;
- cl_arg_types[3] = &ffi_type_float;
- cl_arg_types[4] = &ffi_type_float;
- cl_arg_types[5] = &ffi_type_float;
- cl_arg_types[6] = &ffi_type_float;
- cl_arg_types[7] = &ffi_type_float;
- cl_arg_types[8] = &ffi_type_double;
- cl_arg_types[9] = &ffi_type_sint;
- cl_arg_types[10] = &ffi_type_float;
- cl_arg_types[11] = &ffi_type_float;
- cl_arg_types[12] = &ffi_type_sint;
- cl_arg_types[13] = &ffi_type_float;
- cl_arg_types[14] = &ffi_type_float;
- cl_arg_types[15] = &ffi_type_sint;
- cl_arg_types[16] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
- &ffi_type_sint, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn3,
- (void *) 3 /* userdata */, code) == FFI_OK);
-
- res = (*((closure_test_type3)code))
- (1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9, 10, 11.11, 12.0, 13,
- 19.19, 21.21, 1);
- /* { dg-output "1 2 3 4 5 6 7 8 9 10 11 12 13 19 21 1 3: 135" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 135" } */
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check multiple values passing from different type.
+ Also, exceed the limit of gpr and fpr registers on PowerPC
+ Darwin.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void closure_test_fn3(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata)
+ {
+ *(ffi_arg*)resp =
+ (int)*(float *)args[0] +(int)(*(float *)args[1]) +
+ (int)(*(float *)args[2]) + (int)*(float *)args[3] +
+ (int)(*(float *)args[4]) + (int)(*(float *)args[5]) +
+ (int)*(float *)args[6] + (int)(*(float *)args[7]) +
+ (int)(*(double *)args[8]) + (int)*(int *)args[9] +
+ (int)(*(float *)args[10]) + (int)(*(float *)args[11]) +
+ (int)*(int *)args[12] + (int)(*(float *)args[13]) +
+ (int)(*(float *)args[14]) + *(int *)args[15] + (intptr_t)userdata;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
+ (int)*(float *)args[0], (int)(*(float *)args[1]),
+ (int)(*(float *)args[2]), (int)*(float *)args[3],
+ (int)(*(float *)args[4]), (int)(*(float *)args[5]),
+ (int)*(float *)args[6], (int)(*(float *)args[7]),
+ (int)(*(double *)args[8]), (int)*(int *)args[9],
+ (int)(*(float *)args[10]), (int)(*(float *)args[11]),
+ (int)*(int *)args[12], (int)(*(float *)args[13]),
+ (int)(*(float *)args[14]), *(int *)args[15], (int)(intptr_t)userdata,
+ (int)*(ffi_arg *)resp);
+
+ }
+
+typedef int (*closure_test_type3)(float, float, float, float, float, float,
+ float, float, double, int, float, float, int,
+ float, float, int);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[17];
+ int res;
+
+ cl_arg_types[0] = &ffi_type_float;
+ cl_arg_types[1] = &ffi_type_float;
+ cl_arg_types[2] = &ffi_type_float;
+ cl_arg_types[3] = &ffi_type_float;
+ cl_arg_types[4] = &ffi_type_float;
+ cl_arg_types[5] = &ffi_type_float;
+ cl_arg_types[6] = &ffi_type_float;
+ cl_arg_types[7] = &ffi_type_float;
+ cl_arg_types[8] = &ffi_type_double;
+ cl_arg_types[9] = &ffi_type_sint;
+ cl_arg_types[10] = &ffi_type_float;
+ cl_arg_types[11] = &ffi_type_float;
+ cl_arg_types[12] = &ffi_type_sint;
+ cl_arg_types[13] = &ffi_type_float;
+ cl_arg_types[14] = &ffi_type_float;
+ cl_arg_types[15] = &ffi_type_sint;
+ cl_arg_types[16] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn3,
+ (void *) 3 /* userdata */, code) == FFI_OK);
+
+ res = (*((closure_test_type3)code))
+ (1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9, 10, 11.11, 12.0, 13,
+ 19.19, 21.21, 1);
+ /* { dg-output "1 2 3 4 5 6 7 8 9 10 11 12 13 19 21 1 3: 135" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 135" } */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn3/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn3/ya.make
index ffbd8a785d..7eeed24770 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn3/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn3/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- closure_fn3.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ closure_fn3.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn4.c b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn4.c
index 0379a945f0..d4a1530b06 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn4.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn4.c
@@ -1,89 +1,89 @@
-/* Area: closure_call
- Purpose: Check multiple long long values passing.
- Also, exceed the limit of gpr and fpr registers on PowerPC
- Darwin.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20031026 */
-
-/* { dg-do run } */
-
-#include "ffitest.h"
-
-static void
-closure_test_fn0(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata)
-{
- *(ffi_arg*)resp =
- (int)*(unsigned long long *)args[0] + (int)*(unsigned long long *)args[1] +
- (int)*(unsigned long long *)args[2] + (int)*(unsigned long long *)args[3] +
- (int)*(unsigned long long *)args[4] + (int)*(unsigned long long *)args[5] +
- (int)*(unsigned long long *)args[6] + (int)*(unsigned long long *)args[7] +
- (int)*(unsigned long long *)args[8] + (int)*(unsigned long long *)args[9] +
- (int)*(unsigned long long *)args[10] +
- (int)*(unsigned long long *)args[11] +
- (int)*(unsigned long long *)args[12] +
- (int)*(unsigned long long *)args[13] +
- (int)*(unsigned long long *)args[14] +
- *(int *)args[15] + (intptr_t)userdata;
-
- printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
- (int)*(unsigned long long *)args[0],
- (int)*(unsigned long long *)args[1],
- (int)*(unsigned long long *)args[2],
- (int)*(unsigned long long *)args[3],
- (int)*(unsigned long long *)args[4],
- (int)*(unsigned long long *)args[5],
- (int)*(unsigned long long *)args[6],
- (int)*(unsigned long long *)args[7],
- (int)*(unsigned long long *)args[8],
- (int)*(unsigned long long *)args[9],
- (int)*(unsigned long long *)args[10],
- (int)*(unsigned long long *)args[11],
- (int)*(unsigned long long *)args[12],
- (int)*(unsigned long long *)args[13],
- (int)*(unsigned long long *)args[14],
- *(int *)args[15],
- (int)(intptr_t)userdata, (int)*(ffi_arg *)resp);
-
-}
-
-typedef int (*closure_test_type0)(unsigned long long, unsigned long long,
- unsigned long long, unsigned long long,
- unsigned long long, unsigned long long,
- unsigned long long, unsigned long long,
- unsigned long long, unsigned long long,
- unsigned long long, unsigned long long,
- unsigned long long, unsigned long long,
- unsigned long long, int);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[17];
- int i, res;
-
- for (i = 0; i < 15; i++) {
- cl_arg_types[i] = &ffi_type_uint64;
- }
- cl_arg_types[15] = &ffi_type_sint;
- cl_arg_types[16] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
- &ffi_type_sint, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn0,
- (void *) 3 /* userdata */, code) == FFI_OK);
-
- res = (*((closure_test_type0)code))
- (1LL, 2LL, 3LL, 4LL, 127LL, 429LL, 7LL, 8LL, 9LL, 10LL, 11LL, 12LL,
- 13LL, 19LL, 21LL, 1);
- /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 680" } */
-
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check multiple long long values passing.
+ Also, exceed the limit of gpr and fpr registers on PowerPC
+ Darwin.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20031026 */
+
+/* { dg-do run } */
+
+#include "ffitest.h"
+
+static void
+closure_test_fn0(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata)
+{
+ *(ffi_arg*)resp =
+ (int)*(unsigned long long *)args[0] + (int)*(unsigned long long *)args[1] +
+ (int)*(unsigned long long *)args[2] + (int)*(unsigned long long *)args[3] +
+ (int)*(unsigned long long *)args[4] + (int)*(unsigned long long *)args[5] +
+ (int)*(unsigned long long *)args[6] + (int)*(unsigned long long *)args[7] +
+ (int)*(unsigned long long *)args[8] + (int)*(unsigned long long *)args[9] +
+ (int)*(unsigned long long *)args[10] +
+ (int)*(unsigned long long *)args[11] +
+ (int)*(unsigned long long *)args[12] +
+ (int)*(unsigned long long *)args[13] +
+ (int)*(unsigned long long *)args[14] +
+ *(int *)args[15] + (intptr_t)userdata;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
+ (int)*(unsigned long long *)args[0],
+ (int)*(unsigned long long *)args[1],
+ (int)*(unsigned long long *)args[2],
+ (int)*(unsigned long long *)args[3],
+ (int)*(unsigned long long *)args[4],
+ (int)*(unsigned long long *)args[5],
+ (int)*(unsigned long long *)args[6],
+ (int)*(unsigned long long *)args[7],
+ (int)*(unsigned long long *)args[8],
+ (int)*(unsigned long long *)args[9],
+ (int)*(unsigned long long *)args[10],
+ (int)*(unsigned long long *)args[11],
+ (int)*(unsigned long long *)args[12],
+ (int)*(unsigned long long *)args[13],
+ (int)*(unsigned long long *)args[14],
+ *(int *)args[15],
+ (int)(intptr_t)userdata, (int)*(ffi_arg *)resp);
+
+}
+
+typedef int (*closure_test_type0)(unsigned long long, unsigned long long,
+ unsigned long long, unsigned long long,
+ unsigned long long, unsigned long long,
+ unsigned long long, unsigned long long,
+ unsigned long long, unsigned long long,
+ unsigned long long, unsigned long long,
+ unsigned long long, unsigned long long,
+ unsigned long long, int);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[17];
+ int i, res;
+
+ for (i = 0; i < 15; i++) {
+ cl_arg_types[i] = &ffi_type_uint64;
+ }
+ cl_arg_types[15] = &ffi_type_sint;
+ cl_arg_types[16] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn0,
+ (void *) 3 /* userdata */, code) == FFI_OK);
+
+ res = (*((closure_test_type0)code))
+ (1LL, 2LL, 3LL, 4LL, 127LL, 429LL, 7LL, 8LL, 9LL, 10LL, 11LL, 12LL,
+ 13LL, 19LL, 21LL, 1);
+ /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 680" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn4/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn4/ya.make
index d551224fb8..3f4fa8079e 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn4/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn4/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- closure_fn4.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ closure_fn4.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn5.c b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn5.c
index ff04cd87af..99074426c6 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn5.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn5.c
@@ -1,92 +1,92 @@
-/* Area: closure_call
- Purpose: Check multiple long long values passing.
- Exceed the limit of gpr registers on PowerPC
- Darwin.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20031026 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void
-closure_test_fn5(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata)
-{
- *(ffi_arg*)resp =
- (int)*(unsigned long long *)args[0] + (int)*(unsigned long long *)args[1] +
- (int)*(unsigned long long *)args[2] + (int)*(unsigned long long *)args[3] +
- (int)*(unsigned long long *)args[4] + (int)*(unsigned long long *)args[5] +
- (int)*(unsigned long long *)args[6] + (int)*(unsigned long long *)args[7] +
- (int)*(unsigned long long *)args[8] + (int)*(unsigned long long *)args[9] +
- (int)*(int *)args[10] +
- (int)*(unsigned long long *)args[11] +
- (int)*(unsigned long long *)args[12] +
- (int)*(unsigned long long *)args[13] +
- (int)*(unsigned long long *)args[14] +
- *(int *)args[15] + (intptr_t)userdata;
-
- printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
- (int)*(unsigned long long *)args[0],
- (int)*(unsigned long long *)args[1],
- (int)*(unsigned long long *)args[2],
- (int)*(unsigned long long *)args[3],
- (int)*(unsigned long long *)args[4],
- (int)*(unsigned long long *)args[5],
- (int)*(unsigned long long *)args[6],
- (int)*(unsigned long long *)args[7],
- (int)*(unsigned long long *)args[8],
- (int)*(unsigned long long *)args[9],
- (int)*(int *)args[10],
- (int)*(unsigned long long *)args[11],
- (int)*(unsigned long long *)args[12],
- (int)*(unsigned long long *)args[13],
- (int)*(unsigned long long *)args[14],
- *(int *)args[15],
- (int)(intptr_t)userdata, (int)*(ffi_arg *)resp);
-
-}
-
-typedef int (*closure_test_type0)(unsigned long long, unsigned long long,
- unsigned long long, unsigned long long,
- unsigned long long, unsigned long long,
- unsigned long long, unsigned long long,
- unsigned long long, unsigned long long,
- int, unsigned long long,
- unsigned long long, unsigned long long,
- unsigned long long, int);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[17];
- int i, res;
-
- for (i = 0; i < 10; i++) {
- cl_arg_types[i] = &ffi_type_uint64;
- }
- cl_arg_types[10] = &ffi_type_sint;
- for (i = 11; i < 15; i++) {
- cl_arg_types[i] = &ffi_type_uint64;
- }
- cl_arg_types[15] = &ffi_type_sint;
- cl_arg_types[16] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
- &ffi_type_sint, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn5,
- (void *) 3 /* userdata */, code) == FFI_OK);
-
- res = (*((closure_test_type0)code))
- (1LL, 2LL, 3LL, 4LL, 127LL, 429LL, 7LL, 8LL, 9LL, 10LL, 11, 12LL,
- 13LL, 19LL, 21LL, 1);
- /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 680" } */
-
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check multiple long long values passing.
+ Exceed the limit of gpr registers on PowerPC
+ Darwin.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20031026 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void
+closure_test_fn5(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata)
+{
+ *(ffi_arg*)resp =
+ (int)*(unsigned long long *)args[0] + (int)*(unsigned long long *)args[1] +
+ (int)*(unsigned long long *)args[2] + (int)*(unsigned long long *)args[3] +
+ (int)*(unsigned long long *)args[4] + (int)*(unsigned long long *)args[5] +
+ (int)*(unsigned long long *)args[6] + (int)*(unsigned long long *)args[7] +
+ (int)*(unsigned long long *)args[8] + (int)*(unsigned long long *)args[9] +
+ (int)*(int *)args[10] +
+ (int)*(unsigned long long *)args[11] +
+ (int)*(unsigned long long *)args[12] +
+ (int)*(unsigned long long *)args[13] +
+ (int)*(unsigned long long *)args[14] +
+ *(int *)args[15] + (intptr_t)userdata;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
+ (int)*(unsigned long long *)args[0],
+ (int)*(unsigned long long *)args[1],
+ (int)*(unsigned long long *)args[2],
+ (int)*(unsigned long long *)args[3],
+ (int)*(unsigned long long *)args[4],
+ (int)*(unsigned long long *)args[5],
+ (int)*(unsigned long long *)args[6],
+ (int)*(unsigned long long *)args[7],
+ (int)*(unsigned long long *)args[8],
+ (int)*(unsigned long long *)args[9],
+ (int)*(int *)args[10],
+ (int)*(unsigned long long *)args[11],
+ (int)*(unsigned long long *)args[12],
+ (int)*(unsigned long long *)args[13],
+ (int)*(unsigned long long *)args[14],
+ *(int *)args[15],
+ (int)(intptr_t)userdata, (int)*(ffi_arg *)resp);
+
+}
+
+typedef int (*closure_test_type0)(unsigned long long, unsigned long long,
+ unsigned long long, unsigned long long,
+ unsigned long long, unsigned long long,
+ unsigned long long, unsigned long long,
+ unsigned long long, unsigned long long,
+ int, unsigned long long,
+ unsigned long long, unsigned long long,
+ unsigned long long, int);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[17];
+ int i, res;
+
+ for (i = 0; i < 10; i++) {
+ cl_arg_types[i] = &ffi_type_uint64;
+ }
+ cl_arg_types[10] = &ffi_type_sint;
+ for (i = 11; i < 15; i++) {
+ cl_arg_types[i] = &ffi_type_uint64;
+ }
+ cl_arg_types[15] = &ffi_type_sint;
+ cl_arg_types[16] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn5,
+ (void *) 3 /* userdata */, code) == FFI_OK);
+
+ res = (*((closure_test_type0)code))
+ (1LL, 2LL, 3LL, 4LL, 127LL, 429LL, 7LL, 8LL, 9LL, 10LL, 11, 12LL,
+ 13LL, 19LL, 21LL, 1);
+ /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 680" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn5/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn5/ya.make
index 5cdabc9c64..331657b705 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn5/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn5/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- closure_fn5.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ closure_fn5.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn6.c b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn6.c
index 39bbbf215e..73c54fd6b1 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn6.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn6.c
@@ -1,90 +1,90 @@
-/* Area: closure_call
- Purpose: Check multiple values passing from different type.
- Also, exceed the limit of gpr and fpr registers on PowerPC.
- Limitations: none.
- PR: PR23404
- Originator: <andreast@gcc.gnu.org> 20050830 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void
-closure_test_fn0(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata)
-{
- *(ffi_arg*)resp =
- (int)*(unsigned long long *)args[0] +
- (int)(*(unsigned long long *)args[1]) +
- (int)(*(unsigned long long *)args[2]) +
- (int)*(unsigned long long *)args[3] +
- (int)(*(int *)args[4]) + (int)(*(double *)args[5]) +
- (int)*(double *)args[6] + (int)(*(float *)args[7]) +
- (int)(*(double *)args[8]) + (int)*(double *)args[9] +
- (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
- (int)*(int *)args[12] + (int)(*(int *)args[13]) +
- (int)(*(double *)args[14]) + (int)*(double *)args[15] +
- (intptr_t)userdata;
-
- printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
- (int)*(unsigned long long *)args[0],
- (int)(*(unsigned long long *)args[1]),
- (int)(*(unsigned long long *)args[2]),
- (int)*(unsigned long long *)args[3],
- (int)(*(int *)args[4]), (int)(*(double *)args[5]),
- (int)*(double *)args[6], (int)(*(float *)args[7]),
- (int)(*(double *)args[8]), (int)*(double *)args[9],
- (int)(*(int *)args[10]), (int)(*(float *)args[11]),
- (int)*(int *)args[12], (int)(*(int *)args[13]),
- (int)(*(double *)args[14]), (int)(*(double *)args[15]),
- (int)(intptr_t)userdata, (int)*(ffi_arg *)resp);
-
-}
-
-typedef int (*closure_test_type0)(unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long,
- int, double, double, float, double, double,
- int, float, int, int, double, double);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[17];
- int res;
-
- cl_arg_types[0] = &ffi_type_uint64;
- cl_arg_types[1] = &ffi_type_uint64;
- cl_arg_types[2] = &ffi_type_uint64;
- cl_arg_types[3] = &ffi_type_uint64;
- cl_arg_types[4] = &ffi_type_sint;
- cl_arg_types[5] = &ffi_type_double;
- cl_arg_types[6] = &ffi_type_double;
- cl_arg_types[7] = &ffi_type_float;
- cl_arg_types[8] = &ffi_type_double;
- cl_arg_types[9] = &ffi_type_double;
- cl_arg_types[10] = &ffi_type_sint;
- cl_arg_types[11] = &ffi_type_float;
- cl_arg_types[12] = &ffi_type_sint;
- cl_arg_types[13] = &ffi_type_sint;
- cl_arg_types[14] = &ffi_type_double;
- cl_arg_types[15] = &ffi_type_double;
- cl_arg_types[16] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
- &ffi_type_sint, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn0,
- (void *) 3 /* userdata */, code) == FFI_OK);
-
- res = (*((closure_test_type0)code))
- (1, 2, 3, 4, 127, 429., 7., 8., 9.5, 10., 11, 12., 13,
- 19, 21., 1.);
- /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 680" } */
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check multiple values passing from different type.
+ Also, exceed the limit of gpr and fpr registers on PowerPC.
+ Limitations: none.
+ PR: PR23404
+ Originator: <andreast@gcc.gnu.org> 20050830 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void
+closure_test_fn0(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata)
+{
+ *(ffi_arg*)resp =
+ (int)*(unsigned long long *)args[0] +
+ (int)(*(unsigned long long *)args[1]) +
+ (int)(*(unsigned long long *)args[2]) +
+ (int)*(unsigned long long *)args[3] +
+ (int)(*(int *)args[4]) + (int)(*(double *)args[5]) +
+ (int)*(double *)args[6] + (int)(*(float *)args[7]) +
+ (int)(*(double *)args[8]) + (int)*(double *)args[9] +
+ (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
+ (int)*(int *)args[12] + (int)(*(int *)args[13]) +
+ (int)(*(double *)args[14]) + (int)*(double *)args[15] +
+ (intptr_t)userdata;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
+ (int)*(unsigned long long *)args[0],
+ (int)(*(unsigned long long *)args[1]),
+ (int)(*(unsigned long long *)args[2]),
+ (int)*(unsigned long long *)args[3],
+ (int)(*(int *)args[4]), (int)(*(double *)args[5]),
+ (int)*(double *)args[6], (int)(*(float *)args[7]),
+ (int)(*(double *)args[8]), (int)*(double *)args[9],
+ (int)(*(int *)args[10]), (int)(*(float *)args[11]),
+ (int)*(int *)args[12], (int)(*(int *)args[13]),
+ (int)(*(double *)args[14]), (int)(*(double *)args[15]),
+ (int)(intptr_t)userdata, (int)*(ffi_arg *)resp);
+
+}
+
+typedef int (*closure_test_type0)(unsigned long long,
+ unsigned long long,
+ unsigned long long,
+ unsigned long long,
+ int, double, double, float, double, double,
+ int, float, int, int, double, double);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[17];
+ int res;
+
+ cl_arg_types[0] = &ffi_type_uint64;
+ cl_arg_types[1] = &ffi_type_uint64;
+ cl_arg_types[2] = &ffi_type_uint64;
+ cl_arg_types[3] = &ffi_type_uint64;
+ cl_arg_types[4] = &ffi_type_sint;
+ cl_arg_types[5] = &ffi_type_double;
+ cl_arg_types[6] = &ffi_type_double;
+ cl_arg_types[7] = &ffi_type_float;
+ cl_arg_types[8] = &ffi_type_double;
+ cl_arg_types[9] = &ffi_type_double;
+ cl_arg_types[10] = &ffi_type_sint;
+ cl_arg_types[11] = &ffi_type_float;
+ cl_arg_types[12] = &ffi_type_sint;
+ cl_arg_types[13] = &ffi_type_sint;
+ cl_arg_types[14] = &ffi_type_double;
+ cl_arg_types[15] = &ffi_type_double;
+ cl_arg_types[16] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_fn0,
+ (void *) 3 /* userdata */, code) == FFI_OK);
+
+ res = (*((closure_test_type0)code))
+ (1, 2, 3, 4, 127, 429., 7., 8., 9.5, 10., 11, 12., 13,
+ 19, 21., 1.);
+ /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 680" } */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn6/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn6/ya.make
index bc7f82e50d..415974ea55 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn6/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_fn6/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- closure_fn6.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ closure_fn6.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_loc_fn0.c b/contrib/restricted/libffi/testsuite/libffi.closures/closure_loc_fn0.c
index eaecec62df..b3afa0bbdf 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_loc_fn0.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_loc_fn0.c
@@ -1,95 +1,95 @@
-/* Area: closure_call
- Purpose: Check multiple values passing from different type.
- Also, exceed the limit of gpr and fpr registers on PowerPC
- Darwin.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-
-
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void
-closure_loc_test_fn0(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata)
-{
- *(ffi_arg*)resp =
- (int)*(unsigned long long *)args[0] + (int)(*(int *)args[1]) +
- (int)(*(unsigned long long *)args[2]) + (int)*(int *)args[3] +
- (int)(*(signed short *)args[4]) +
- (int)(*(unsigned long long *)args[5]) +
- (int)*(int *)args[6] + (int)(*(int *)args[7]) +
- (int)(*(double *)args[8]) + (int)*(int *)args[9] +
- (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
- (int)*(int *)args[12] + (int)(*(int *)args[13]) +
- (int)(*(int *)args[14]) + *(int *)args[15] + (intptr_t)userdata;
-
- printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
- (int)*(unsigned long long *)args[0], (int)(*(int *)args[1]),
- (int)(*(unsigned long long *)args[2]),
- (int)*(int *)args[3], (int)(*(signed short *)args[4]),
- (int)(*(unsigned long long *)args[5]),
- (int)*(int *)args[6], (int)(*(int *)args[7]),
- (int)(*(double *)args[8]), (int)*(int *)args[9],
- (int)(*(int *)args[10]), (int)(*(float *)args[11]),
- (int)*(int *)args[12], (int)(*(int *)args[13]),
- (int)(*(int *)args[14]),*(int *)args[15],
- (int)(intptr_t)userdata, (int)*(ffi_arg *)resp);
-
-}
-
-typedef int (*closure_loc_test_type0)(unsigned long long, int, unsigned long long,
- int, signed short, unsigned long long, int,
- int, double, int, int, float, int, int,
- int, int);
-
-int main (void)
-{
- ffi_cif cif;
- ffi_closure *pcl;
- ffi_type * cl_arg_types[17];
- int res;
- void *codeloc;
-
- cl_arg_types[0] = &ffi_type_uint64;
- cl_arg_types[1] = &ffi_type_sint;
- cl_arg_types[2] = &ffi_type_uint64;
- cl_arg_types[3] = &ffi_type_sint;
- cl_arg_types[4] = &ffi_type_sshort;
- cl_arg_types[5] = &ffi_type_uint64;
- cl_arg_types[6] = &ffi_type_sint;
- cl_arg_types[7] = &ffi_type_sint;
- cl_arg_types[8] = &ffi_type_double;
- cl_arg_types[9] = &ffi_type_sint;
- cl_arg_types[10] = &ffi_type_sint;
- cl_arg_types[11] = &ffi_type_float;
- cl_arg_types[12] = &ffi_type_sint;
- cl_arg_types[13] = &ffi_type_sint;
- cl_arg_types[14] = &ffi_type_sint;
- cl_arg_types[15] = &ffi_type_sint;
- cl_arg_types[16] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
- &ffi_type_sint, cl_arg_types) == FFI_OK);
-
- pcl = ffi_closure_alloc(sizeof(ffi_closure), &codeloc);
- CHECK(pcl != NULL);
- CHECK(codeloc != NULL);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, closure_loc_test_fn0,
- (void *) 3 /* userdata */, codeloc) == FFI_OK);
-
- CHECK(memcmp(pcl, codeloc, sizeof(*pcl)) == 0);
-
- res = (*((closure_loc_test_type0)codeloc))
- (1LL, 2, 3LL, 4, 127, 429LL, 7, 8, 9.5, 10, 11, 12, 13,
- 19, 21, 1);
- /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 680" } */
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check multiple values passing from different type.
+ Also, exceed the limit of gpr and fpr registers on PowerPC
+ Darwin.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+
+
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void
+closure_loc_test_fn0(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata)
+{
+ *(ffi_arg*)resp =
+ (int)*(unsigned long long *)args[0] + (int)(*(int *)args[1]) +
+ (int)(*(unsigned long long *)args[2]) + (int)*(int *)args[3] +
+ (int)(*(signed short *)args[4]) +
+ (int)(*(unsigned long long *)args[5]) +
+ (int)*(int *)args[6] + (int)(*(int *)args[7]) +
+ (int)(*(double *)args[8]) + (int)*(int *)args[9] +
+ (int)(*(int *)args[10]) + (int)(*(float *)args[11]) +
+ (int)*(int *)args[12] + (int)(*(int *)args[13]) +
+ (int)(*(int *)args[14]) + *(int *)args[15] + (intptr_t)userdata;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d\n",
+ (int)*(unsigned long long *)args[0], (int)(*(int *)args[1]),
+ (int)(*(unsigned long long *)args[2]),
+ (int)*(int *)args[3], (int)(*(signed short *)args[4]),
+ (int)(*(unsigned long long *)args[5]),
+ (int)*(int *)args[6], (int)(*(int *)args[7]),
+ (int)(*(double *)args[8]), (int)*(int *)args[9],
+ (int)(*(int *)args[10]), (int)(*(float *)args[11]),
+ (int)*(int *)args[12], (int)(*(int *)args[13]),
+ (int)(*(int *)args[14]),*(int *)args[15],
+ (int)(intptr_t)userdata, (int)*(ffi_arg *)resp);
+
+}
+
+typedef int (*closure_loc_test_type0)(unsigned long long, int, unsigned long long,
+ int, signed short, unsigned long long, int,
+ int, double, int, int, float, int, int,
+ int, int);
+
+int main (void)
+{
+ ffi_cif cif;
+ ffi_closure *pcl;
+ ffi_type * cl_arg_types[17];
+ int res;
+ void *codeloc;
+
+ cl_arg_types[0] = &ffi_type_uint64;
+ cl_arg_types[1] = &ffi_type_sint;
+ cl_arg_types[2] = &ffi_type_uint64;
+ cl_arg_types[3] = &ffi_type_sint;
+ cl_arg_types[4] = &ffi_type_sshort;
+ cl_arg_types[5] = &ffi_type_uint64;
+ cl_arg_types[6] = &ffi_type_sint;
+ cl_arg_types[7] = &ffi_type_sint;
+ cl_arg_types[8] = &ffi_type_double;
+ cl_arg_types[9] = &ffi_type_sint;
+ cl_arg_types[10] = &ffi_type_sint;
+ cl_arg_types[11] = &ffi_type_float;
+ cl_arg_types[12] = &ffi_type_sint;
+ cl_arg_types[13] = &ffi_type_sint;
+ cl_arg_types[14] = &ffi_type_sint;
+ cl_arg_types[15] = &ffi_type_sint;
+ cl_arg_types[16] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 16,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ pcl = ffi_closure_alloc(sizeof(ffi_closure), &codeloc);
+ CHECK(pcl != NULL);
+ CHECK(codeloc != NULL);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, closure_loc_test_fn0,
+ (void *) 3 /* userdata */, codeloc) == FFI_OK);
+
+ CHECK(memcmp(pcl, codeloc, sizeof(*pcl)) == 0);
+
+ res = (*((closure_loc_test_type0)codeloc))
+ (1LL, 2, 3LL, 4, 127, 429LL, 7, 8, 9.5, 10, 11, 12, 13,
+ 19, 21, 1);
+ /* { dg-output "1 2 3 4 127 429 7 8 9 10 11 12 13 19 21 1 3: 680" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 680" } */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_loc_fn0/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/closure_loc_fn0/ya.make
index b28e2812d2..2345094723 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_loc_fn0/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_loc_fn0/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- closure_loc_fn0.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ closure_loc_fn0.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_simple.c b/contrib/restricted/libffi/testsuite/libffi.closures/closure_simple.c
index 5706c4141c..5a4e728d4a 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_simple.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_simple.c
@@ -1,55 +1,55 @@
-/* Area: closure_call
- Purpose: Check simple closure handling with all ABIs
- Limitations: none.
- PR: none.
- Originator: <twalljava@dev.java.net> */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void
-closure_test(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata)
-{
- *(ffi_arg*)resp =
- (int)*(int *)args[0] + (int)(*(int *)args[1])
- + (int)(*(int *)args[2]) + (int)(*(int *)args[3])
- + (int)(intptr_t)userdata;
-
- printf("%d %d %d %d: %d\n",
- (int)*(int *)args[0], (int)(*(int *)args[1]),
- (int)(*(int *)args[2]), (int)(*(int *)args[3]),
- (int)*(ffi_arg *)resp);
-
-}
-
-typedef int (ABI_ATTR *closure_test_type0)(int, int, int, int);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[17];
- int res;
-
- cl_arg_types[0] = &ffi_type_uint;
- cl_arg_types[1] = &ffi_type_uint;
- cl_arg_types[2] = &ffi_type_uint;
- cl_arg_types[3] = &ffi_type_uint;
- cl_arg_types[4] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, ABI_NUM, 4,
- &ffi_type_sint, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test,
- (void *) 3 /* userdata */, code) == FFI_OK);
-
- res = (*(closure_test_type0)code)(0, 1, 2, 3);
- /* { dg-output "0 1 2 3: 9" } */
-
- printf("res: %d\n",res);
- /* { dg-output "\nres: 9" } */
-
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check simple closure handling with all ABIs
+ Limitations: none.
+ PR: none.
+ Originator: <twalljava@dev.java.net> */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void
+closure_test(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata)
+{
+ *(ffi_arg*)resp =
+ (int)*(int *)args[0] + (int)(*(int *)args[1])
+ + (int)(*(int *)args[2]) + (int)(*(int *)args[3])
+ + (int)(intptr_t)userdata;
+
+ printf("%d %d %d %d: %d\n",
+ (int)*(int *)args[0], (int)(*(int *)args[1]),
+ (int)(*(int *)args[2]), (int)(*(int *)args[3]),
+ (int)*(ffi_arg *)resp);
+
+}
+
+typedef int (ABI_ATTR *closure_test_type0)(int, int, int, int);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[17];
+ int res;
+
+ cl_arg_types[0] = &ffi_type_uint;
+ cl_arg_types[1] = &ffi_type_uint;
+ cl_arg_types[2] = &ffi_type_uint;
+ cl_arg_types[3] = &ffi_type_uint;
+ cl_arg_types[4] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, ABI_NUM, 4,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test,
+ (void *) 3 /* userdata */, code) == FFI_OK);
+
+ res = (*(closure_test_type0)code)(0, 1, 2, 3);
+ /* { dg-output "0 1 2 3: 9" } */
+
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 9" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/closure_simple/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/closure_simple/ya.make
index 5ba4c66fbe..e7edd97c74 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/closure_simple/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/closure_simple/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- closure_simple.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ closure_simple.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_12byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_12byte.c
index 1d7aff78f0..ea0825d175 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_12byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_12byte.c
@@ -1,94 +1,94 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_12byte {
- int a;
- int b;
- int c;
-} cls_struct_12byte;
-
-cls_struct_12byte cls_struct_12byte_fn(struct cls_struct_12byte b1,
- struct cls_struct_12byte b2)
-{
- struct cls_struct_12byte result;
-
- result.a = b1.a + b2.a;
- result.b = b1.b + b2.b;
- result.c = b1.c + b2.c;
-
- printf("%d %d %d %d %d %d: %d %d %d\n", b1.a, b1.b, b1.c, b2.a, b2.b, b2.c,
- result.a, result.b, result.c);
-
- return result;
-}
-
-static void cls_struct_12byte_gn(ffi_cif* cif __UNUSED__, void* resp,
- void** args , void* userdata __UNUSED__)
-{
- struct cls_struct_12byte b1, b2;
-
- b1 = *(struct cls_struct_12byte*)(args[0]);
- b2 = *(struct cls_struct_12byte*)(args[1]);
-
- *(cls_struct_12byte*)resp = cls_struct_12byte_fn(b1, b2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_12byte h_dbl = { 7, 4, 9 };
- struct cls_struct_12byte j_dbl = { 1, 5, 3 };
- struct cls_struct_12byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_sint;
- cls_struct_fields[1] = &ffi_type_sint;
- cls_struct_fields[2] = &ffi_type_sint;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &h_dbl;
- args_dbl[1] = &j_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_12byte_fn), &res_dbl, args_dbl);
- /* { dg-output "7 4 9 1 5 3: 8 9 12" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 8 9 12" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_12byte_gn, NULL, code) == FFI_OK);
-
- res_dbl.a = 0;
- res_dbl.b = 0;
- res_dbl.c = 0;
-
- res_dbl = ((cls_struct_12byte(*)(cls_struct_12byte, cls_struct_12byte))(code))(h_dbl, j_dbl);
- /* { dg-output "\n7 4 9 1 5 3: 8 9 12" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 8 9 12" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_12byte {
+ int a;
+ int b;
+ int c;
+} cls_struct_12byte;
+
+cls_struct_12byte cls_struct_12byte_fn(struct cls_struct_12byte b1,
+ struct cls_struct_12byte b2)
+{
+ struct cls_struct_12byte result;
+
+ result.a = b1.a + b2.a;
+ result.b = b1.b + b2.b;
+ result.c = b1.c + b2.c;
+
+ printf("%d %d %d %d %d %d: %d %d %d\n", b1.a, b1.b, b1.c, b2.a, b2.b, b2.c,
+ result.a, result.b, result.c);
+
+ return result;
+}
+
+static void cls_struct_12byte_gn(ffi_cif* cif __UNUSED__, void* resp,
+ void** args , void* userdata __UNUSED__)
+{
+ struct cls_struct_12byte b1, b2;
+
+ b1 = *(struct cls_struct_12byte*)(args[0]);
+ b2 = *(struct cls_struct_12byte*)(args[1]);
+
+ *(cls_struct_12byte*)resp = cls_struct_12byte_fn(b1, b2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_12byte h_dbl = { 7, 4, 9 };
+ struct cls_struct_12byte j_dbl = { 1, 5, 3 };
+ struct cls_struct_12byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_sint;
+ cls_struct_fields[1] = &ffi_type_sint;
+ cls_struct_fields[2] = &ffi_type_sint;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &h_dbl;
+ args_dbl[1] = &j_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_12byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "7 4 9 1 5 3: 8 9 12" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 8 9 12" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_12byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl.a = 0;
+ res_dbl.b = 0;
+ res_dbl.c = 0;
+
+ res_dbl = ((cls_struct_12byte(*)(cls_struct_12byte, cls_struct_12byte))(code))(h_dbl, j_dbl);
+ /* { dg-output "\n7 4 9 1 5 3: 8 9 12" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 8 9 12" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_12byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_12byte/ya.make
index 8e6f69dbf7..67a1d25459 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_12byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_12byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_12byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_12byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_16byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_16byte.c
index b6c561e049..89a08a2d97 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_16byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_16byte.c
@@ -1,95 +1,95 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_16byte {
- int a;
- double b;
- int c;
-} cls_struct_16byte;
-
-cls_struct_16byte cls_struct_16byte_fn(struct cls_struct_16byte b1,
- struct cls_struct_16byte b2)
-{
- struct cls_struct_16byte result;
-
- result.a = b1.a + b2.a;
- result.b = b1.b + b2.b;
- result.c = b1.c + b2.c;
-
- printf("%d %g %d %d %g %d: %d %g %d\n", b1.a, b1.b, b1.c, b2.a, b2.b, b2.c,
- result.a, result.b, result.c);
-
- return result;
-}
-
-static void cls_struct_16byte_gn(ffi_cif* cif __UNUSED__, void* resp,
- void** args, void* userdata __UNUSED__)
-{
- struct cls_struct_16byte b1, b2;
-
- b1 = *(struct cls_struct_16byte*)(args[0]);
- b2 = *(struct cls_struct_16byte*)(args[1]);
-
- *(cls_struct_16byte*)resp = cls_struct_16byte_fn(b1, b2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_16byte h_dbl = { 7, 8.0, 9 };
- struct cls_struct_16byte j_dbl = { 1, 9.0, 3 };
- struct cls_struct_16byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_sint;
- cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_sint;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &h_dbl;
- args_dbl[1] = &j_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_16byte_fn), &res_dbl, args_dbl);
- /* { dg-output "7 8 9 1 9 3: 8 17 12" } */
- printf("res: %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 8 17 12" } */
-
- res_dbl.a = 0;
- res_dbl.b = 0.0;
- res_dbl.c = 0;
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_16byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_16byte(*)(cls_struct_16byte, cls_struct_16byte))(code))(h_dbl, j_dbl);
- /* { dg-output "\n7 8 9 1 9 3: 8 17 12" } */
- printf("res: %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 8 17 12" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_16byte {
+ int a;
+ double b;
+ int c;
+} cls_struct_16byte;
+
+cls_struct_16byte cls_struct_16byte_fn(struct cls_struct_16byte b1,
+ struct cls_struct_16byte b2)
+{
+ struct cls_struct_16byte result;
+
+ result.a = b1.a + b2.a;
+ result.b = b1.b + b2.b;
+ result.c = b1.c + b2.c;
+
+ printf("%d %g %d %d %g %d: %d %g %d\n", b1.a, b1.b, b1.c, b2.a, b2.b, b2.c,
+ result.a, result.b, result.c);
+
+ return result;
+}
+
+static void cls_struct_16byte_gn(ffi_cif* cif __UNUSED__, void* resp,
+ void** args, void* userdata __UNUSED__)
+{
+ struct cls_struct_16byte b1, b2;
+
+ b1 = *(struct cls_struct_16byte*)(args[0]);
+ b2 = *(struct cls_struct_16byte*)(args[1]);
+
+ *(cls_struct_16byte*)resp = cls_struct_16byte_fn(b1, b2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_16byte h_dbl = { 7, 8.0, 9 };
+ struct cls_struct_16byte j_dbl = { 1, 9.0, 3 };
+ struct cls_struct_16byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_sint;
+ cls_struct_fields[1] = &ffi_type_double;
+ cls_struct_fields[2] = &ffi_type_sint;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &h_dbl;
+ args_dbl[1] = &j_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_16byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "7 8 9 1 9 3: 8 17 12" } */
+ printf("res: %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 8 17 12" } */
+
+ res_dbl.a = 0;
+ res_dbl.b = 0.0;
+ res_dbl.c = 0;
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_16byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_16byte(*)(cls_struct_16byte, cls_struct_16byte))(code))(h_dbl, j_dbl);
+ /* { dg-output "\n7 8 9 1 9 3: 8 17 12" } */
+ printf("res: %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 8 17 12" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_16byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_16byte/ya.make
index 5b76ab8baa..fbb5a3034a 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_16byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_16byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_16byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_16byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_18byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_18byte.c
index bfa4354ae6..9f75da80aa 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_18byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_18byte.c
@@ -1,96 +1,96 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Double alignment check on darwin.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030915 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_18byte {
- double a;
- unsigned char b;
- unsigned char c;
- double d;
-} cls_struct_18byte;
-
-cls_struct_18byte cls_struct_18byte_fn(struct cls_struct_18byte a1,
- struct cls_struct_18byte a2)
-{
- struct cls_struct_18byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
- result.d = a1.d + a2.d;
-
-
- printf("%g %d %d %g %g %d %d %g: %g %d %d %g\n", a1.a, a1.b, a1.c, a1.d,
- a2.a, a2.b, a2.c, a2.d,
- result.a, result.b, result.c, result.d);
- return result;
-}
-
-static void
-cls_struct_18byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct cls_struct_18byte a1, a2;
-
- a1 = *(struct cls_struct_18byte*)(args[0]);
- a2 = *(struct cls_struct_18byte*)(args[1]);
-
- *(cls_struct_18byte*)resp = cls_struct_18byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[3];
- ffi_type* cls_struct_fields[5];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[3];
-
- struct cls_struct_18byte g_dbl = { 1.0, 127, 126, 3.0 };
- struct cls_struct_18byte f_dbl = { 4.0, 125, 124, 5.0 };
- struct cls_struct_18byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = &ffi_type_double;
- cls_struct_fields[4] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_18byte_fn), &res_dbl, args_dbl);
- /* { dg-output "1 127 126 3 4 125 124 5: 5 252 250 8" } */
- printf("res: %g %d %d %g\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
- /* { dg-output "\nres: 5 252 250 8" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_18byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_18byte(*)(cls_struct_18byte, cls_struct_18byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n1 127 126 3 4 125 124 5: 5 252 250 8" } */
- printf("res: %g %d %d %g\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
- /* { dg-output "\nres: 5 252 250 8" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Double alignment check on darwin.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030915 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_18byte {
+ double a;
+ unsigned char b;
+ unsigned char c;
+ double d;
+} cls_struct_18byte;
+
+cls_struct_18byte cls_struct_18byte_fn(struct cls_struct_18byte a1,
+ struct cls_struct_18byte a2)
+{
+ struct cls_struct_18byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+ result.d = a1.d + a2.d;
+
+
+ printf("%g %d %d %g %g %d %d %g: %g %d %d %g\n", a1.a, a1.b, a1.c, a1.d,
+ a2.a, a2.b, a2.c, a2.d,
+ result.a, result.b, result.c, result.d);
+ return result;
+}
+
+static void
+cls_struct_18byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct cls_struct_18byte a1, a2;
+
+ a1 = *(struct cls_struct_18byte*)(args[0]);
+ a2 = *(struct cls_struct_18byte*)(args[1]);
+
+ *(cls_struct_18byte*)resp = cls_struct_18byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[3];
+ ffi_type* cls_struct_fields[5];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[3];
+
+ struct cls_struct_18byte g_dbl = { 1.0, 127, 126, 3.0 };
+ struct cls_struct_18byte f_dbl = { 4.0, 125, 124, 5.0 };
+ struct cls_struct_18byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = &ffi_type_double;
+ cls_struct_fields[4] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_18byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 127 126 3 4 125 124 5: 5 252 250 8" } */
+ printf("res: %g %d %d %g\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
+ /* { dg-output "\nres: 5 252 250 8" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_18byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_18byte(*)(cls_struct_18byte, cls_struct_18byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n1 127 126 3 4 125 124 5: 5 252 250 8" } */
+ printf("res: %g %d %d %g\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
+ /* { dg-output "\nres: 5 252 250 8" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_18byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_18byte/ya.make
index bdcc68168f..77fbc79c01 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_18byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_18byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_18byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_18byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_19byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_19byte.c
index 4148177b6b..278794b5b8 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_19byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_19byte.c
@@ -1,102 +1,102 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Double alignment check on darwin.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030915 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_19byte {
- double a;
- unsigned char b;
- unsigned char c;
- double d;
- unsigned char e;
-} cls_struct_19byte;
-
-cls_struct_19byte cls_struct_19byte_fn(struct cls_struct_19byte a1,
- struct cls_struct_19byte a2)
-{
- struct cls_struct_19byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
- result.d = a1.d + a2.d;
- result.e = a1.e + a2.e;
-
-
- printf("%g %d %d %g %d %g %d %d %g %d: %g %d %d %g %d\n",
- a1.a, a1.b, a1.c, a1.d, a1.e,
- a2.a, a2.b, a2.c, a2.d, a2.e,
- result.a, result.b, result.c, result.d, result.e);
- return result;
-}
-
-static void
-cls_struct_19byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct cls_struct_19byte a1, a2;
-
- a1 = *(struct cls_struct_19byte*)(args[0]);
- a2 = *(struct cls_struct_19byte*)(args[1]);
-
- *(cls_struct_19byte*)resp = cls_struct_19byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[3];
- ffi_type* cls_struct_fields[6];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[3];
-
- struct cls_struct_19byte g_dbl = { 1.0, 127, 126, 3.0, 120 };
- struct cls_struct_19byte f_dbl = { 4.0, 125, 124, 5.0, 119 };
- struct cls_struct_19byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = &ffi_type_double;
- cls_struct_fields[4] = &ffi_type_uchar;
- cls_struct_fields[5] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_19byte_fn), &res_dbl, args_dbl);
- /* { dg-output "1 127 126 3 120 4 125 124 5 119: 5 252 250 8 239" } */
- printf("res: %g %d %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e);
- /* { dg-output "\nres: 5 252 250 8 239" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_19byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_19byte(*)(cls_struct_19byte, cls_struct_19byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n1 127 126 3 120 4 125 124 5 119: 5 252 250 8 239" } */
- printf("res: %g %d %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e);
- /* { dg-output "\nres: 5 252 250 8 239" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Double alignment check on darwin.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030915 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_19byte {
+ double a;
+ unsigned char b;
+ unsigned char c;
+ double d;
+ unsigned char e;
+} cls_struct_19byte;
+
+cls_struct_19byte cls_struct_19byte_fn(struct cls_struct_19byte a1,
+ struct cls_struct_19byte a2)
+{
+ struct cls_struct_19byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+ result.d = a1.d + a2.d;
+ result.e = a1.e + a2.e;
+
+
+ printf("%g %d %d %g %d %g %d %d %g %d: %g %d %d %g %d\n",
+ a1.a, a1.b, a1.c, a1.d, a1.e,
+ a2.a, a2.b, a2.c, a2.d, a2.e,
+ result.a, result.b, result.c, result.d, result.e);
+ return result;
+}
+
+static void
+cls_struct_19byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct cls_struct_19byte a1, a2;
+
+ a1 = *(struct cls_struct_19byte*)(args[0]);
+ a2 = *(struct cls_struct_19byte*)(args[1]);
+
+ *(cls_struct_19byte*)resp = cls_struct_19byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[3];
+ ffi_type* cls_struct_fields[6];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[3];
+
+ struct cls_struct_19byte g_dbl = { 1.0, 127, 126, 3.0, 120 };
+ struct cls_struct_19byte f_dbl = { 4.0, 125, 124, 5.0, 119 };
+ struct cls_struct_19byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = &ffi_type_double;
+ cls_struct_fields[4] = &ffi_type_uchar;
+ cls_struct_fields[5] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_19byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 127 126 3 120 4 125 124 5 119: 5 252 250 8 239" } */
+ printf("res: %g %d %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e);
+ /* { dg-output "\nres: 5 252 250 8 239" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_19byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_19byte(*)(cls_struct_19byte, cls_struct_19byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n1 127 126 3 120 4 125 124 5 119: 5 252 250 8 239" } */
+ printf("res: %g %d %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e);
+ /* { dg-output "\nres: 5 252 250 8 239" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_19byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_19byte/ya.make
index 41a7c39490..33fac8f8b9 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_19byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_19byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_19byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_19byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_1_1byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_1_1byte.c
index 64d8dab935..82492c020e 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_1_1byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_1_1byte.c
@@ -1,89 +1,89 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Especially with small structures which may fit in one
- register. Depending on the ABI.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030902 */
-
-
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_1_1byte {
- unsigned char a;
-} cls_struct_1_1byte;
-
-cls_struct_1_1byte cls_struct_1_1byte_fn(struct cls_struct_1_1byte a1,
- struct cls_struct_1_1byte a2)
-{
- struct cls_struct_1_1byte result;
-
- result.a = a1.a + a2.a;
-
- printf("%d %d: %d\n", a1.a, a2.a, result.a);
-
- return result;
-}
-
-static void
-cls_struct_1_1byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_1_1byte a1, a2;
-
- a1 = *(struct cls_struct_1_1byte*)(args[0]);
- a2 = *(struct cls_struct_1_1byte*)(args[1]);
-
- *(cls_struct_1_1byte*)resp = cls_struct_1_1byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[2];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_1_1byte g_dbl = { 12 };
- struct cls_struct_1_1byte f_dbl = { 178 };
- struct cls_struct_1_1byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_1_1byte_fn), &res_dbl, args_dbl);
- /* { dg-output "12 178: 190" } */
- printf("res: %d\n", res_dbl.a);
- /* { dg-output "\nres: 190" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_1_1byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_1_1byte(*)(cls_struct_1_1byte, cls_struct_1_1byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 178: 190" } */
- printf("res: %d\n", res_dbl.a);
- /* { dg-output "\nres: 190" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Especially with small structures which may fit in one
+ register. Depending on the ABI.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030902 */
+
+
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_1_1byte {
+ unsigned char a;
+} cls_struct_1_1byte;
+
+cls_struct_1_1byte cls_struct_1_1byte_fn(struct cls_struct_1_1byte a1,
+ struct cls_struct_1_1byte a2)
+{
+ struct cls_struct_1_1byte result;
+
+ result.a = a1.a + a2.a;
+
+ printf("%d %d: %d\n", a1.a, a2.a, result.a);
+
+ return result;
+}
+
+static void
+cls_struct_1_1byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_1_1byte a1, a2;
+
+ a1 = *(struct cls_struct_1_1byte*)(args[0]);
+ a2 = *(struct cls_struct_1_1byte*)(args[1]);
+
+ *(cls_struct_1_1byte*)resp = cls_struct_1_1byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[2];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_1_1byte g_dbl = { 12 };
+ struct cls_struct_1_1byte f_dbl = { 178 };
+ struct cls_struct_1_1byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_1_1byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 178: 190" } */
+ printf("res: %d\n", res_dbl.a);
+ /* { dg-output "\nres: 190" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_1_1byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_1_1byte(*)(cls_struct_1_1byte, cls_struct_1_1byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 178: 190" } */
+ printf("res: %d\n", res_dbl.a);
+ /* { dg-output "\nres: 190" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_1_1byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_1_1byte/ya.make
index a931b92f6c..efb2dd6dc5 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_1_1byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_1_1byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_1_1byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_1_1byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte.c
index d0f8714822..3f8bb28ad2 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte.c
@@ -1,91 +1,91 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_20byte {
- double a;
- double b;
- int c;
-} cls_struct_20byte;
-
-cls_struct_20byte cls_struct_20byte_fn(struct cls_struct_20byte a1,
- struct cls_struct_20byte a2)
-{
- struct cls_struct_20byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%g %g %d %g %g %d: %g %g %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c,
- result.a, result.b, result.c);
- return result;
-}
-
-static void
-cls_struct_20byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct cls_struct_20byte a1, a2;
-
- a1 = *(struct cls_struct_20byte*)(args[0]);
- a2 = *(struct cls_struct_20byte*)(args[1]);
-
- *(cls_struct_20byte*)resp = cls_struct_20byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_20byte g_dbl = { 1.0, 2.0, 3 };
- struct cls_struct_20byte f_dbl = { 4.0, 5.0, 7 };
- struct cls_struct_20byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_sint;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_20byte_fn), &res_dbl, args_dbl);
- /* { dg-output "1 2 3 4 5 7: 5 7 10" } */
- printf("res: %g %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 5 7 10" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_20byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_20byte(*)(cls_struct_20byte, cls_struct_20byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n1 2 3 4 5 7: 5 7 10" } */
- printf("res: %g %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 5 7 10" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_20byte {
+ double a;
+ double b;
+ int c;
+} cls_struct_20byte;
+
+cls_struct_20byte cls_struct_20byte_fn(struct cls_struct_20byte a1,
+ struct cls_struct_20byte a2)
+{
+ struct cls_struct_20byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%g %g %d %g %g %d: %g %g %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c,
+ result.a, result.b, result.c);
+ return result;
+}
+
+static void
+cls_struct_20byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct cls_struct_20byte a1, a2;
+
+ a1 = *(struct cls_struct_20byte*)(args[0]);
+ a2 = *(struct cls_struct_20byte*)(args[1]);
+
+ *(cls_struct_20byte*)resp = cls_struct_20byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_20byte g_dbl = { 1.0, 2.0, 3 };
+ struct cls_struct_20byte f_dbl = { 4.0, 5.0, 7 };
+ struct cls_struct_20byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_double;
+ cls_struct_fields[2] = &ffi_type_sint;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_20byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 2 3 4 5 7: 5 7 10" } */
+ printf("res: %g %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 5 7 10" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_20byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_20byte(*)(cls_struct_20byte, cls_struct_20byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n1 2 3 4 5 7: 5 7 10" } */
+ printf("res: %g %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 5 7 10" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte/ya.make
index 2017a6dbec..d7923e1680 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_20byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_20byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte1.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte1.c
index 8aac032ce5..65627273c8 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte1.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte1.c
@@ -1,93 +1,93 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_20byte {
- int a;
- double b;
- double c;
-} cls_struct_20byte;
-
-cls_struct_20byte cls_struct_20byte_fn(struct cls_struct_20byte a1,
- struct cls_struct_20byte a2)
-{
- struct cls_struct_20byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%d %g %g %d %g %g: %d %g %g\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c,
- result.a, result.b, result.c);
- return result;
-}
-
-static void
-cls_struct_20byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct cls_struct_20byte a1, a2;
-
- a1 = *(struct cls_struct_20byte*)(args[0]);
- a2 = *(struct cls_struct_20byte*)(args[1]);
-
- *(cls_struct_20byte*)resp = cls_struct_20byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[3];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[3];
-
- struct cls_struct_20byte g_dbl = { 1, 2.0, 3.0 };
- struct cls_struct_20byte f_dbl = { 4, 5.0, 7.0 };
- struct cls_struct_20byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_sint;
- cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_double;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_20byte_fn), &res_dbl, args_dbl);
- /* { dg-output "1 2 3 4 5 7: 5 7 10" } */
- printf("res: %d %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 5 7 10" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_20byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_20byte(*)(cls_struct_20byte, cls_struct_20byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n1 2 3 4 5 7: 5 7 10" } */
- printf("res: %d %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 5 7 10" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_20byte {
+ int a;
+ double b;
+ double c;
+} cls_struct_20byte;
+
+cls_struct_20byte cls_struct_20byte_fn(struct cls_struct_20byte a1,
+ struct cls_struct_20byte a2)
+{
+ struct cls_struct_20byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%d %g %g %d %g %g: %d %g %g\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c,
+ result.a, result.b, result.c);
+ return result;
+}
+
+static void
+cls_struct_20byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct cls_struct_20byte a1, a2;
+
+ a1 = *(struct cls_struct_20byte*)(args[0]);
+ a2 = *(struct cls_struct_20byte*)(args[1]);
+
+ *(cls_struct_20byte*)resp = cls_struct_20byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[3];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[3];
+
+ struct cls_struct_20byte g_dbl = { 1, 2.0, 3.0 };
+ struct cls_struct_20byte f_dbl = { 4, 5.0, 7.0 };
+ struct cls_struct_20byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_sint;
+ cls_struct_fields[1] = &ffi_type_double;
+ cls_struct_fields[2] = &ffi_type_double;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_20byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 2 3 4 5 7: 5 7 10" } */
+ printf("res: %d %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 5 7 10" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_20byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_20byte(*)(cls_struct_20byte, cls_struct_20byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n1 2 3 4 5 7: 5 7 10" } */
+ printf("res: %d %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 5 7 10" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte1/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte1/ya.make
index 15c8a24834..1367a12243 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte1/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_20byte1/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_20byte1.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_20byte1.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_24byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_24byte.c
index f91ce38479..1d82f6e4a4 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_24byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_24byte.c
@@ -1,113 +1,113 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_24byte {
- double a;
- double b;
- int c;
- float d;
-} cls_struct_24byte;
-
-cls_struct_24byte cls_struct_24byte_fn(struct cls_struct_24byte b0,
- struct cls_struct_24byte b1,
- struct cls_struct_24byte b2,
- struct cls_struct_24byte b3)
-{
- struct cls_struct_24byte result;
-
- result.a = b0.a + b1.a + b2.a + b3.a;
- result.b = b0.b + b1.b + b2.b + b3.b;
- result.c = b0.c + b1.c + b2.c + b3.c;
- result.d = b0.d + b1.d + b2.d + b3.d;
-
- printf("%g %g %d %g %g %g %d %g %g %g %d %g %g %g %d %g: %g %g %d %g\n",
- b0.a, b0.b, b0.c, b0.d,
- b1.a, b1.b, b1.c, b1.d,
- b2.a, b2.b, b2.c, b2.d,
- b3.a, b3.b, b3.c, b2.d,
- result.a, result.b, result.c, result.d);
-
- return result;
-}
-
-static void
-cls_struct_24byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct cls_struct_24byte b0, b1, b2, b3;
-
- b0 = *(struct cls_struct_24byte*)(args[0]);
- b1 = *(struct cls_struct_24byte*)(args[1]);
- b2 = *(struct cls_struct_24byte*)(args[2]);
- b3 = *(struct cls_struct_24byte*)(args[3]);
-
- *(cls_struct_24byte*)resp = cls_struct_24byte_fn(b0, b1, b2, b3);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[5];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_24byte e_dbl = { 9.0, 2.0, 6, 5.0 };
- struct cls_struct_24byte f_dbl = { 1.0, 2.0, 3, 7.0 };
- struct cls_struct_24byte g_dbl = { 4.0, 5.0, 7, 9.0 };
- struct cls_struct_24byte h_dbl = { 8.0, 6.0, 1, 4.0 };
- struct cls_struct_24byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_sint;
- cls_struct_fields[3] = &ffi_type_float;
- cls_struct_fields[4] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = &cls_struct_type;
- dbl_arg_types[3] = &cls_struct_type;
- dbl_arg_types[4] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = &g_dbl;
- args_dbl[3] = &h_dbl;
- args_dbl[4] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_24byte_fn), &res_dbl, args_dbl);
- /* { dg-output "9 2 6 5 1 2 3 7 4 5 7 9 8 6 1 9: 22 15 17 25" } */
- printf("res: %g %g %d %g\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
- /* { dg-output "\nres: 22 15 17 25" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_24byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_24byte(*)(cls_struct_24byte,
- cls_struct_24byte,
- cls_struct_24byte,
- cls_struct_24byte))
- (code))(e_dbl, f_dbl, g_dbl, h_dbl);
- /* { dg-output "\n9 2 6 5 1 2 3 7 4 5 7 9 8 6 1 9: 22 15 17 25" } */
- printf("res: %g %g %d %g\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
- /* { dg-output "\nres: 22 15 17 25" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_24byte {
+ double a;
+ double b;
+ int c;
+ float d;
+} cls_struct_24byte;
+
+cls_struct_24byte cls_struct_24byte_fn(struct cls_struct_24byte b0,
+ struct cls_struct_24byte b1,
+ struct cls_struct_24byte b2,
+ struct cls_struct_24byte b3)
+{
+ struct cls_struct_24byte result;
+
+ result.a = b0.a + b1.a + b2.a + b3.a;
+ result.b = b0.b + b1.b + b2.b + b3.b;
+ result.c = b0.c + b1.c + b2.c + b3.c;
+ result.d = b0.d + b1.d + b2.d + b3.d;
+
+ printf("%g %g %d %g %g %g %d %g %g %g %d %g %g %g %d %g: %g %g %d %g\n",
+ b0.a, b0.b, b0.c, b0.d,
+ b1.a, b1.b, b1.c, b1.d,
+ b2.a, b2.b, b2.c, b2.d,
+ b3.a, b3.b, b3.c, b2.d,
+ result.a, result.b, result.c, result.d);
+
+ return result;
+}
+
+static void
+cls_struct_24byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct cls_struct_24byte b0, b1, b2, b3;
+
+ b0 = *(struct cls_struct_24byte*)(args[0]);
+ b1 = *(struct cls_struct_24byte*)(args[1]);
+ b2 = *(struct cls_struct_24byte*)(args[2]);
+ b3 = *(struct cls_struct_24byte*)(args[3]);
+
+ *(cls_struct_24byte*)resp = cls_struct_24byte_fn(b0, b1, b2, b3);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[5];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_24byte e_dbl = { 9.0, 2.0, 6, 5.0 };
+ struct cls_struct_24byte f_dbl = { 1.0, 2.0, 3, 7.0 };
+ struct cls_struct_24byte g_dbl = { 4.0, 5.0, 7, 9.0 };
+ struct cls_struct_24byte h_dbl = { 8.0, 6.0, 1, 4.0 };
+ struct cls_struct_24byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_double;
+ cls_struct_fields[2] = &ffi_type_sint;
+ cls_struct_fields[3] = &ffi_type_float;
+ cls_struct_fields[4] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = &cls_struct_type;
+ dbl_arg_types[3] = &cls_struct_type;
+ dbl_arg_types[4] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = &g_dbl;
+ args_dbl[3] = &h_dbl;
+ args_dbl[4] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_24byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "9 2 6 5 1 2 3 7 4 5 7 9 8 6 1 9: 22 15 17 25" } */
+ printf("res: %g %g %d %g\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
+ /* { dg-output "\nres: 22 15 17 25" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_24byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_24byte(*)(cls_struct_24byte,
+ cls_struct_24byte,
+ cls_struct_24byte,
+ cls_struct_24byte))
+ (code))(e_dbl, f_dbl, g_dbl, h_dbl);
+ /* { dg-output "\n9 2 6 5 1 2 3 7 4 5 7 9 8 6 1 9: 22 15 17 25" } */
+ printf("res: %g %g %d %g\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
+ /* { dg-output "\nres: 22 15 17 25" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_24byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_24byte/ya.make
index 54f6bffdff..213e1bae01 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_24byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_24byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_24byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_24byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_2byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_2byte.c
index e6dc3d523e..81bb0a64a3 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_2byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_2byte.c
@@ -1,90 +1,90 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Especially with small structures which may fit in one
- register. Depending on the ABI.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_2byte {
- unsigned char a;
- unsigned char b;
-} cls_struct_2byte;
-
-cls_struct_2byte cls_struct_2byte_fn(struct cls_struct_2byte a1,
- struct cls_struct_2byte a2)
-{
- struct cls_struct_2byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
-
- printf("%d %d %d %d: %d %d\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b);
-
- return result;
-}
-
-static void
-cls_struct_2byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_2byte a1, a2;
-
- a1 = *(struct cls_struct_2byte*)(args[0]);
- a2 = *(struct cls_struct_2byte*)(args[1]);
-
- *(cls_struct_2byte*)resp = cls_struct_2byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_2byte g_dbl = { 12, 127 };
- struct cls_struct_2byte f_dbl = { 1, 13 };
- struct cls_struct_2byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_2byte_fn), &res_dbl, args_dbl);
- /* { dg-output "12 127 1 13: 13 140" } */
- printf("res: %d %d\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 13 140" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_2byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_2byte(*)(cls_struct_2byte, cls_struct_2byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 127 1 13: 13 140" } */
- printf("res: %d %d\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 13 140" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Especially with small structures which may fit in one
+ register. Depending on the ABI.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_2byte {
+ unsigned char a;
+ unsigned char b;
+} cls_struct_2byte;
+
+cls_struct_2byte cls_struct_2byte_fn(struct cls_struct_2byte a1,
+ struct cls_struct_2byte a2)
+{
+ struct cls_struct_2byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+
+ printf("%d %d %d %d: %d %d\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b);
+
+ return result;
+}
+
+static void
+cls_struct_2byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_2byte a1, a2;
+
+ a1 = *(struct cls_struct_2byte*)(args[0]);
+ a2 = *(struct cls_struct_2byte*)(args[1]);
+
+ *(cls_struct_2byte*)resp = cls_struct_2byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_2byte g_dbl = { 12, 127 };
+ struct cls_struct_2byte f_dbl = { 1, 13 };
+ struct cls_struct_2byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_2byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 127 1 13: 13 140" } */
+ printf("res: %d %d\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 13 140" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_2byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_2byte(*)(cls_struct_2byte, cls_struct_2byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 127 1 13: 13 140" } */
+ printf("res: %d %d\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 13 140" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_2byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_2byte/ya.make
index cc583f2317..5498657347 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_2byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_2byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_2byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_2byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3_1byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3_1byte.c
index 0e8616bd4f..b7827466f6 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3_1byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3_1byte.c
@@ -1,95 +1,95 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Especially with small structures which may fit in one
- register. Depending on the ABI.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030902 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_3_1byte {
- unsigned char a;
- unsigned char b;
- unsigned char c;
-} cls_struct_3_1byte;
-
-cls_struct_3_1byte cls_struct_3_1byte_fn(struct cls_struct_3_1byte a1,
- struct cls_struct_3_1byte a2)
-{
- struct cls_struct_3_1byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c,
- a2.a, a2.b, a2.c,
- result.a, result.b, result.c);
-
- return result;
-}
-
-static void
-cls_struct_3_1byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_3_1byte a1, a2;
-
- a1 = *(struct cls_struct_3_1byte*)(args[0]);
- a2 = *(struct cls_struct_3_1byte*)(args[1]);
-
- *(cls_struct_3_1byte*)resp = cls_struct_3_1byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_3_1byte g_dbl = { 12, 13, 14 };
- struct cls_struct_3_1byte f_dbl = { 178, 179, 180 };
- struct cls_struct_3_1byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_3_1byte_fn), &res_dbl, args_dbl);
- /* { dg-output "12 13 14 178 179 180: 190 192 194" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 190 192 194" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_3_1byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_3_1byte(*)(cls_struct_3_1byte, cls_struct_3_1byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 13 14 178 179 180: 190 192 194" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 190 192 194" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Especially with small structures which may fit in one
+ register. Depending on the ABI.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030902 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_3_1byte {
+ unsigned char a;
+ unsigned char b;
+ unsigned char c;
+} cls_struct_3_1byte;
+
+cls_struct_3_1byte cls_struct_3_1byte_fn(struct cls_struct_3_1byte a1,
+ struct cls_struct_3_1byte a2)
+{
+ struct cls_struct_3_1byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c,
+ a2.a, a2.b, a2.c,
+ result.a, result.b, result.c);
+
+ return result;
+}
+
+static void
+cls_struct_3_1byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_3_1byte a1, a2;
+
+ a1 = *(struct cls_struct_3_1byte*)(args[0]);
+ a2 = *(struct cls_struct_3_1byte*)(args[1]);
+
+ *(cls_struct_3_1byte*)resp = cls_struct_3_1byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_3_1byte g_dbl = { 12, 13, 14 };
+ struct cls_struct_3_1byte f_dbl = { 178, 179, 180 };
+ struct cls_struct_3_1byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_3_1byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 13 14 178 179 180: 190 192 194" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 190 192 194" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_3_1byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_3_1byte(*)(cls_struct_3_1byte, cls_struct_3_1byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 13 14 178 179 180: 190 192 194" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 190 192 194" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3_1byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3_1byte/ya.make
index 25b7a6986f..20f6378b64 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3_1byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3_1byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_3_1byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_3_1byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte1.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte1.c
index 5ffebc3e57..a02c463af9 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte1.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte1.c
@@ -1,90 +1,90 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Especially with small structures which may fit in one
- register. Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_3byte {
- unsigned short a;
- unsigned char b;
-} cls_struct_3byte;
-
-cls_struct_3byte cls_struct_3byte_fn(struct cls_struct_3byte a1,
- struct cls_struct_3byte a2)
-{
- struct cls_struct_3byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
-
- printf("%d %d %d %d: %d %d\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b);
-
- return result;
-}
-
-static void
-cls_struct_3byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_3byte a1, a2;
-
- a1 = *(struct cls_struct_3byte*)(args[0]);
- a2 = *(struct cls_struct_3byte*)(args[1]);
-
- *(cls_struct_3byte*)resp = cls_struct_3byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_3byte g_dbl = { 12, 119 };
- struct cls_struct_3byte f_dbl = { 1, 15 };
- struct cls_struct_3byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_ushort;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_3byte_fn), &res_dbl, args_dbl);
- /* { dg-output "12 119 1 15: 13 134" } */
- printf("res: %d %d\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 13 134" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_3byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_3byte(*)(cls_struct_3byte, cls_struct_3byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 119 1 15: 13 134" } */
- printf("res: %d %d\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 13 134" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Especially with small structures which may fit in one
+ register. Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_3byte {
+ unsigned short a;
+ unsigned char b;
+} cls_struct_3byte;
+
+cls_struct_3byte cls_struct_3byte_fn(struct cls_struct_3byte a1,
+ struct cls_struct_3byte a2)
+{
+ struct cls_struct_3byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+
+ printf("%d %d %d %d: %d %d\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b);
+
+ return result;
+}
+
+static void
+cls_struct_3byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_3byte a1, a2;
+
+ a1 = *(struct cls_struct_3byte*)(args[0]);
+ a2 = *(struct cls_struct_3byte*)(args[1]);
+
+ *(cls_struct_3byte*)resp = cls_struct_3byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_3byte g_dbl = { 12, 119 };
+ struct cls_struct_3byte f_dbl = { 1, 15 };
+ struct cls_struct_3byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_ushort;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_3byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 119 1 15: 13 134" } */
+ printf("res: %d %d\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 13 134" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_3byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_3byte(*)(cls_struct_3byte, cls_struct_3byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 119 1 15: 13 134" } */
+ printf("res: %d %d\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 13 134" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte1/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte1/ya.make
index bce6d2483e..58c5e0810c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte1/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte1/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_3byte1.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_3byte1.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte2.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte2.c
index a0de7b4adc..c7251cead6 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte2.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte2.c
@@ -1,90 +1,90 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Especially with small structures which may fit in one
- register. Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_3byte_1 {
- unsigned char a;
- unsigned short b;
-} cls_struct_3byte_1;
-
-cls_struct_3byte_1 cls_struct_3byte_fn1(struct cls_struct_3byte_1 a1,
- struct cls_struct_3byte_1 a2)
-{
- struct cls_struct_3byte_1 result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
-
- printf("%d %d %d %d: %d %d\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b);
-
- return result;
-}
-
-static void
-cls_struct_3byte_gn1(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_3byte_1 a1, a2;
-
- a1 = *(struct cls_struct_3byte_1*)(args[0]);
- a2 = *(struct cls_struct_3byte_1*)(args[1]);
-
- *(cls_struct_3byte_1*)resp = cls_struct_3byte_fn1(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_3byte_1 g_dbl = { 15, 125 };
- struct cls_struct_3byte_1 f_dbl = { 9, 19 };
- struct cls_struct_3byte_1 res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_ushort;
- cls_struct_fields[2] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_3byte_fn1), &res_dbl, args_dbl);
- /* { dg-output "15 125 9 19: 24 144" } */
- printf("res: %d %d\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 24 144" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_3byte_gn1, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_3byte_1(*)(cls_struct_3byte_1, cls_struct_3byte_1))(code))(g_dbl, f_dbl);
- /* { dg-output "\n15 125 9 19: 24 144" } */
- printf("res: %d %d\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 24 144" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Especially with small structures which may fit in one
+ register. Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_3byte_1 {
+ unsigned char a;
+ unsigned short b;
+} cls_struct_3byte_1;
+
+cls_struct_3byte_1 cls_struct_3byte_fn1(struct cls_struct_3byte_1 a1,
+ struct cls_struct_3byte_1 a2)
+{
+ struct cls_struct_3byte_1 result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+
+ printf("%d %d %d %d: %d %d\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b);
+
+ return result;
+}
+
+static void
+cls_struct_3byte_gn1(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_3byte_1 a1, a2;
+
+ a1 = *(struct cls_struct_3byte_1*)(args[0]);
+ a2 = *(struct cls_struct_3byte_1*)(args[1]);
+
+ *(cls_struct_3byte_1*)resp = cls_struct_3byte_fn1(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_3byte_1 g_dbl = { 15, 125 };
+ struct cls_struct_3byte_1 f_dbl = { 9, 19 };
+ struct cls_struct_3byte_1 res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_ushort;
+ cls_struct_fields[2] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_3byte_fn1), &res_dbl, args_dbl);
+ /* { dg-output "15 125 9 19: 24 144" } */
+ printf("res: %d %d\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 24 144" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_3byte_gn1, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_3byte_1(*)(cls_struct_3byte_1, cls_struct_3byte_1))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n15 125 9 19: 24 144" } */
+ printf("res: %d %d\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 24 144" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte2/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte2/ya.make
index 7fc9ae7d35..55bd1281af 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte2/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3byte2/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_3byte2.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_3byte2.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3float.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3float.c
index 6889203faa..48888f8405 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3float.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3float.c
@@ -1,95 +1,95 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations:>none.
- PR: none.
- Originator: <compnerd@compnerd.org> 20171026 */
-
-/* { dg-do run } */
-
-#include "ffitest.h"
-
-typedef struct cls_struct_3float {
- float f;
- float g;
- float h;
-} cls_struct_3float;
-
-cls_struct_3float cls_struct_3float_fn(struct cls_struct_3float a1,
- struct cls_struct_3float a2)
-{
- struct cls_struct_3float result;
-
- result.f = a1.f + a2.f;
- result.g = a1.g + a2.g;
- result.h = a1.h + a2.h;
-
- printf("%g %g %g %g %g %g: %g %g %g\n", a1.f, a1.g, a1.h,
- a2.f, a2.g, a2.h, result.f, result.g, result.h);
-
- return result;
-}
-
-static void
-cls_struct_3float_gn(ffi_cif *cif __UNUSED__, void* resp, void **args,
- void* userdata __UNUSED__)
-{
- struct cls_struct_3float a1, a2;
-
- a1 = *(struct cls_struct_3float*)(args[0]);
- a2 = *(struct cls_struct_3float*)(args[1]);
-
- *(cls_struct_3float*)resp = cls_struct_3float_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void *args_dbl[3];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[3];
-
- struct cls_struct_3float g_dbl = { 1.0f, 2.0f, 3.0f };
- struct cls_struct_3float f_dbl = { 1.0f, 2.0f, 3.0f };
- struct cls_struct_3float res_dbl;
-
- cls_struct_fields[0] = &ffi_type_float;
- cls_struct_fields[1] = &ffi_type_float;
- cls_struct_fields[2] = &ffi_type_float;
- cls_struct_fields[3] = NULL;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_3float_fn), &res_dbl, args_dbl);
- /* { dg-output "1 2 3 1 2 3: 2 4 6" } */
- printf("res: %g %g %g\n", res_dbl.f, res_dbl.g, res_dbl.h);
- /* { dg-output "\nres: 2 4 6" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_3float_gn, NULL, code) ==
- FFI_OK);
-
- res_dbl = ((cls_struct_3float(*)(cls_struct_3float,
- cls_struct_3float))(code))(g_dbl, f_dbl);
- /* { dg-output "\n1 2 3 1 2 3: 2 4 6" } */
- printf("res: %g %g %g\n", res_dbl.f, res_dbl.g, res_dbl.h);
- /* { dg-output "\nres: 2 4 6" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations:>none.
+ PR: none.
+ Originator: <compnerd@compnerd.org> 20171026 */
+
+/* { dg-do run } */
+
+#include "ffitest.h"
+
+typedef struct cls_struct_3float {
+ float f;
+ float g;
+ float h;
+} cls_struct_3float;
+
+cls_struct_3float cls_struct_3float_fn(struct cls_struct_3float a1,
+ struct cls_struct_3float a2)
+{
+ struct cls_struct_3float result;
+
+ result.f = a1.f + a2.f;
+ result.g = a1.g + a2.g;
+ result.h = a1.h + a2.h;
+
+ printf("%g %g %g %g %g %g: %g %g %g\n", a1.f, a1.g, a1.h,
+ a2.f, a2.g, a2.h, result.f, result.g, result.h);
+
+ return result;
+}
+
+static void
+cls_struct_3float_gn(ffi_cif *cif __UNUSED__, void* resp, void **args,
+ void* userdata __UNUSED__)
+{
+ struct cls_struct_3float a1, a2;
+
+ a1 = *(struct cls_struct_3float*)(args[0]);
+ a2 = *(struct cls_struct_3float*)(args[1]);
+
+ *(cls_struct_3float*)resp = cls_struct_3float_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void *args_dbl[3];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[3];
+
+ struct cls_struct_3float g_dbl = { 1.0f, 2.0f, 3.0f };
+ struct cls_struct_3float f_dbl = { 1.0f, 2.0f, 3.0f };
+ struct cls_struct_3float res_dbl;
+
+ cls_struct_fields[0] = &ffi_type_float;
+ cls_struct_fields[1] = &ffi_type_float;
+ cls_struct_fields[2] = &ffi_type_float;
+ cls_struct_fields[3] = NULL;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_3float_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 2 3 1 2 3: 2 4 6" } */
+ printf("res: %g %g %g\n", res_dbl.f, res_dbl.g, res_dbl.h);
+ /* { dg-output "\nres: 2 4 6" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_3float_gn, NULL, code) ==
+ FFI_OK);
+
+ res_dbl = ((cls_struct_3float(*)(cls_struct_3float,
+ cls_struct_3float))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n1 2 3 1 2 3: 2 4 6" } */
+ printf("res: %g %g %g\n", res_dbl.f, res_dbl.g, res_dbl.h);
+ /* { dg-output "\nres: 2 4 6" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3float/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3float/ya.make
index e73ca87806..d8fe8ba3ec 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_3float/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_3float/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_3float.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_3float.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_4_1byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_4_1byte.c
index 639d875d86..2d6d8b622c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_4_1byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_4_1byte.c
@@ -1,98 +1,98 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Especially with small structures which may fit in one
- register. Depending on the ABI.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030902 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_4_1byte {
- unsigned char a;
- unsigned char b;
- unsigned char c;
- unsigned char d;
-} cls_struct_4_1byte;
-
-cls_struct_4_1byte cls_struct_4_1byte_fn(struct cls_struct_4_1byte a1,
- struct cls_struct_4_1byte a2)
-{
- struct cls_struct_4_1byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
- result.d = a1.d + a2.d;
-
- printf("%d %d %d %d %d %d %d %d: %d %d %d %d\n", a1.a, a1.b, a1.c, a1.d,
- a2.a, a2.b, a2.c, a2.d,
- result.a, result.b, result.c, result.d);
-
- return result;
-}
-
-static void
-cls_struct_4_1byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_4_1byte a1, a2;
-
- a1 = *(struct cls_struct_4_1byte*)(args[0]);
- a2 = *(struct cls_struct_4_1byte*)(args[1]);
-
- *(cls_struct_4_1byte*)resp = cls_struct_4_1byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[5];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_4_1byte g_dbl = { 12, 13, 14, 15 };
- struct cls_struct_4_1byte f_dbl = { 178, 179, 180, 181 };
- struct cls_struct_4_1byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = &ffi_type_uchar;
- cls_struct_fields[4] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_4_1byte_fn), &res_dbl, args_dbl);
- /* { dg-output "12 13 14 15 178 179 180 181: 190 192 194 196" } */
- printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
- /* { dg-output "\nres: 190 192 194 196" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_4_1byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_4_1byte(*)(cls_struct_4_1byte, cls_struct_4_1byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 13 14 15 178 179 180 181: 190 192 194 196" } */
- printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
- /* { dg-output "\nres: 190 192 194 196" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Especially with small structures which may fit in one
+ register. Depending on the ABI.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030902 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_4_1byte {
+ unsigned char a;
+ unsigned char b;
+ unsigned char c;
+ unsigned char d;
+} cls_struct_4_1byte;
+
+cls_struct_4_1byte cls_struct_4_1byte_fn(struct cls_struct_4_1byte a1,
+ struct cls_struct_4_1byte a2)
+{
+ struct cls_struct_4_1byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+ result.d = a1.d + a2.d;
+
+ printf("%d %d %d %d %d %d %d %d: %d %d %d %d\n", a1.a, a1.b, a1.c, a1.d,
+ a2.a, a2.b, a2.c, a2.d,
+ result.a, result.b, result.c, result.d);
+
+ return result;
+}
+
+static void
+cls_struct_4_1byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_4_1byte a1, a2;
+
+ a1 = *(struct cls_struct_4_1byte*)(args[0]);
+ a2 = *(struct cls_struct_4_1byte*)(args[1]);
+
+ *(cls_struct_4_1byte*)resp = cls_struct_4_1byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[5];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_4_1byte g_dbl = { 12, 13, 14, 15 };
+ struct cls_struct_4_1byte f_dbl = { 178, 179, 180, 181 };
+ struct cls_struct_4_1byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = &ffi_type_uchar;
+ cls_struct_fields[4] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_4_1byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 13 14 15 178 179 180 181: 190 192 194 196" } */
+ printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
+ /* { dg-output "\nres: 190 192 194 196" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_4_1byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_4_1byte(*)(cls_struct_4_1byte, cls_struct_4_1byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 13 14 15 178 179 180 181: 190 192 194 196" } */
+ printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
+ /* { dg-output "\nres: 190 192 194 196" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_4_1byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_4_1byte/ya.make
index 8bfaa23eee..e362b7c58e 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_4_1byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_4_1byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_4_1byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_4_1byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_4byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_4byte.c
index f21ab62419..4ac378776b 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_4byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_4byte.c
@@ -1,90 +1,90 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-
-#include "ffitest.h"
-
-typedef struct cls_struct_4byte {
- unsigned short a;
- unsigned short b;
-} cls_struct_4byte;
-
-cls_struct_4byte cls_struct_4byte_fn(struct cls_struct_4byte a1,
- struct cls_struct_4byte a2)
-{
- struct cls_struct_4byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
-
- printf("%d %d %d %d: %d %d\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b);
-
- return result;
-}
-
-static void
-cls_struct_4byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_4byte a1, a2;
-
- a1 = *(struct cls_struct_4byte*)(args[0]);
- a2 = *(struct cls_struct_4byte*)(args[1]);
-
- *(cls_struct_4byte*)resp = cls_struct_4byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_4byte g_dbl = { 127, 120 };
- struct cls_struct_4byte f_dbl = { 12, 128 };
- struct cls_struct_4byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_ushort;
- cls_struct_fields[1] = &ffi_type_ushort;
- cls_struct_fields[2] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_4byte_fn), &res_dbl, args_dbl);
- /* { dg-output "127 120 12 128: 139 248" } */
- printf("res: %d %d\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 139 248" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_4byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_4byte(*)(cls_struct_4byte, cls_struct_4byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n127 120 12 128: 139 248" } */
- printf("res: %d %d\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 139 248" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+
+#include "ffitest.h"
+
+typedef struct cls_struct_4byte {
+ unsigned short a;
+ unsigned short b;
+} cls_struct_4byte;
+
+cls_struct_4byte cls_struct_4byte_fn(struct cls_struct_4byte a1,
+ struct cls_struct_4byte a2)
+{
+ struct cls_struct_4byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+
+ printf("%d %d %d %d: %d %d\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b);
+
+ return result;
+}
+
+static void
+cls_struct_4byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_4byte a1, a2;
+
+ a1 = *(struct cls_struct_4byte*)(args[0]);
+ a2 = *(struct cls_struct_4byte*)(args[1]);
+
+ *(cls_struct_4byte*)resp = cls_struct_4byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_4byte g_dbl = { 127, 120 };
+ struct cls_struct_4byte f_dbl = { 12, 128 };
+ struct cls_struct_4byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_ushort;
+ cls_struct_fields[1] = &ffi_type_ushort;
+ cls_struct_fields[2] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_4byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "127 120 12 128: 139 248" } */
+ printf("res: %d %d\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 139 248" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_4byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_4byte(*)(cls_struct_4byte, cls_struct_4byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n127 120 12 128: 139 248" } */
+ printf("res: %d %d\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 139 248" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_4byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_4byte/ya.make
index f98346225d..e301b297d8 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_4byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_4byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_4byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_4byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_5_1_byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_5_1_byte.c
index d5d201ec63..ad9d51c248 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_5_1_byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_5_1_byte.c
@@ -1,109 +1,109 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20050708 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_5byte {
- unsigned char a;
- unsigned char b;
- unsigned char c;
- unsigned char d;
- unsigned char e;
-} cls_struct_5byte;
-
-cls_struct_5byte cls_struct_5byte_fn(struct cls_struct_5byte a1,
- struct cls_struct_5byte a2)
-{
- struct cls_struct_5byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
- result.d = a1.d + a2.d;
- result.e = a1.e + a2.e;
-
- printf("%d %d %d %d %d %d %d %d %d %d: %d %d %d %d %d\n",
- a1.a, a1.b, a1.c, a1.d, a1.e,
- a2.a, a2.b, a2.c, a2.d, a2.e,
- result.a, result.b, result.c, result.d, result.e);
-
- return result;
-}
-
-static void
-cls_struct_5byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_5byte a1, a2;
-
- a1 = *(struct cls_struct_5byte*)(args[0]);
- a2 = *(struct cls_struct_5byte*)(args[1]);
-
- *(cls_struct_5byte*)resp = cls_struct_5byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[6];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_5byte g_dbl = { 127, 120, 1, 3, 4 };
- struct cls_struct_5byte f_dbl = { 12, 128, 9, 3, 4 };
- struct cls_struct_5byte res_dbl = { 0, 0, 0, 0, 0 };
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = &ffi_type_uchar;
- cls_struct_fields[4] = &ffi_type_uchar;
- cls_struct_fields[5] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_5byte_fn), &res_dbl, args_dbl);
- /* { dg-output "127 120 1 3 4 12 128 9 3 4: 139 248 10 6 8" } */
- printf("res: %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e);
- /* { dg-output "\nres: 139 248 10 6 8" } */
-
- res_dbl.a = 0;
- res_dbl.b = 0;
- res_dbl.c = 0;
- res_dbl.d = 0;
- res_dbl.e = 0;
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_5byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_5byte(*)(cls_struct_5byte, cls_struct_5byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n127 120 1 3 4 12 128 9 3 4: 139 248 10 6 8" } */
- printf("res: %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e);
- /* { dg-output "\nres: 139 248 10 6 8" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20050708 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_5byte {
+ unsigned char a;
+ unsigned char b;
+ unsigned char c;
+ unsigned char d;
+ unsigned char e;
+} cls_struct_5byte;
+
+cls_struct_5byte cls_struct_5byte_fn(struct cls_struct_5byte a1,
+ struct cls_struct_5byte a2)
+{
+ struct cls_struct_5byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+ result.d = a1.d + a2.d;
+ result.e = a1.e + a2.e;
+
+ printf("%d %d %d %d %d %d %d %d %d %d: %d %d %d %d %d\n",
+ a1.a, a1.b, a1.c, a1.d, a1.e,
+ a2.a, a2.b, a2.c, a2.d, a2.e,
+ result.a, result.b, result.c, result.d, result.e);
+
+ return result;
+}
+
+static void
+cls_struct_5byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_5byte a1, a2;
+
+ a1 = *(struct cls_struct_5byte*)(args[0]);
+ a2 = *(struct cls_struct_5byte*)(args[1]);
+
+ *(cls_struct_5byte*)resp = cls_struct_5byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[6];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_5byte g_dbl = { 127, 120, 1, 3, 4 };
+ struct cls_struct_5byte f_dbl = { 12, 128, 9, 3, 4 };
+ struct cls_struct_5byte res_dbl = { 0, 0, 0, 0, 0 };
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = &ffi_type_uchar;
+ cls_struct_fields[4] = &ffi_type_uchar;
+ cls_struct_fields[5] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_5byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "127 120 1 3 4 12 128 9 3 4: 139 248 10 6 8" } */
+ printf("res: %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e);
+ /* { dg-output "\nres: 139 248 10 6 8" } */
+
+ res_dbl.a = 0;
+ res_dbl.b = 0;
+ res_dbl.c = 0;
+ res_dbl.d = 0;
+ res_dbl.e = 0;
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_5byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_5byte(*)(cls_struct_5byte, cls_struct_5byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n127 120 1 3 4 12 128 9 3 4: 139 248 10 6 8" } */
+ printf("res: %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e);
+ /* { dg-output "\nres: 139 248 10 6 8" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_5_1_byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_5_1_byte/ya.make
index cb117e5149..7079c46472 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_5_1_byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_5_1_byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_5_1_byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_5_1_byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_5byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_5byte.c
index d54cb6213e..4e0c0003c0 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_5byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_5byte.c
@@ -1,98 +1,98 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_5byte {
- unsigned short a;
- unsigned short b;
- unsigned char c;
-} cls_struct_5byte;
-
-cls_struct_5byte cls_struct_5byte_fn(struct cls_struct_5byte a1,
- struct cls_struct_5byte a2)
-{
- struct cls_struct_5byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c,
- a2.a, a2.b, a2.c,
- result.a, result.b, result.c);
-
- return result;
-}
-
-static void
-cls_struct_5byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_5byte a1, a2;
-
- a1 = *(struct cls_struct_5byte*)(args[0]);
- a2 = *(struct cls_struct_5byte*)(args[1]);
-
- *(cls_struct_5byte*)resp = cls_struct_5byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_5byte g_dbl = { 127, 120, 1 };
- struct cls_struct_5byte f_dbl = { 12, 128, 9 };
- struct cls_struct_5byte res_dbl = { 0, 0, 0 };
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_ushort;
- cls_struct_fields[1] = &ffi_type_ushort;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_5byte_fn), &res_dbl, args_dbl);
- /* { dg-output "127 120 1 12 128 9: 139 248 10" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 139 248 10" } */
-
- res_dbl.a = 0;
- res_dbl.b = 0;
- res_dbl.c = 0;
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_5byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_5byte(*)(cls_struct_5byte, cls_struct_5byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n127 120 1 12 128 9: 139 248 10" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 139 248 10" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_5byte {
+ unsigned short a;
+ unsigned short b;
+ unsigned char c;
+} cls_struct_5byte;
+
+cls_struct_5byte cls_struct_5byte_fn(struct cls_struct_5byte a1,
+ struct cls_struct_5byte a2)
+{
+ struct cls_struct_5byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c,
+ a2.a, a2.b, a2.c,
+ result.a, result.b, result.c);
+
+ return result;
+}
+
+static void
+cls_struct_5byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_5byte a1, a2;
+
+ a1 = *(struct cls_struct_5byte*)(args[0]);
+ a2 = *(struct cls_struct_5byte*)(args[1]);
+
+ *(cls_struct_5byte*)resp = cls_struct_5byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_5byte g_dbl = { 127, 120, 1 };
+ struct cls_struct_5byte f_dbl = { 12, 128, 9 };
+ struct cls_struct_5byte res_dbl = { 0, 0, 0 };
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_ushort;
+ cls_struct_fields[1] = &ffi_type_ushort;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_5byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "127 120 1 12 128 9: 139 248 10" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 139 248 10" } */
+
+ res_dbl.a = 0;
+ res_dbl.b = 0;
+ res_dbl.c = 0;
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_5byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_5byte(*)(cls_struct_5byte, cls_struct_5byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n127 120 1 12 128 9: 139 248 10" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 139 248 10" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_5byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_5byte/ya.make
index aa40c94aae..d61db00fae 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_5byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_5byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_5byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_5byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_64byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_64byte.c
index 078511fb05..a55edc2c7b 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_64byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_64byte.c
@@ -1,124 +1,124 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check bigger struct which overlaps
- the gp and fp register count on Darwin/AIX/ppc64.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_64byte {
- double a;
- double b;
- double c;
- double d;
- double e;
- double f;
- double g;
- double h;
-} cls_struct_64byte;
-
-cls_struct_64byte cls_struct_64byte_fn(struct cls_struct_64byte b0,
- struct cls_struct_64byte b1,
- struct cls_struct_64byte b2,
- struct cls_struct_64byte b3)
-{
- struct cls_struct_64byte result;
-
- result.a = b0.a + b1.a + b2.a + b3.a;
- result.b = b0.b + b1.b + b2.b + b3.b;
- result.c = b0.c + b1.c + b2.c + b3.c;
- result.d = b0.d + b1.d + b2.d + b3.d;
- result.e = b0.e + b1.e + b2.e + b3.e;
- result.f = b0.f + b1.f + b2.f + b3.f;
- result.g = b0.g + b1.g + b2.g + b3.g;
- result.h = b0.h + b1.h + b2.h + b3.h;
-
- printf("%g %g %g %g %g %g %g %g\n", result.a, result.b, result.c,
- result.d, result.e, result.f, result.g, result.h);
-
- return result;
-}
-
-static void
-cls_struct_64byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct cls_struct_64byte b0, b1, b2, b3;
-
- b0 = *(struct cls_struct_64byte*)(args[0]);
- b1 = *(struct cls_struct_64byte*)(args[1]);
- b2 = *(struct cls_struct_64byte*)(args[2]);
- b3 = *(struct cls_struct_64byte*)(args[3]);
-
- *(cls_struct_64byte*)resp = cls_struct_64byte_fn(b0, b1, b2, b3);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[9];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_64byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0 };
- struct cls_struct_64byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0 };
- struct cls_struct_64byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0 };
- struct cls_struct_64byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0 };
- struct cls_struct_64byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_double;
- cls_struct_fields[3] = &ffi_type_double;
- cls_struct_fields[4] = &ffi_type_double;
- cls_struct_fields[5] = &ffi_type_double;
- cls_struct_fields[6] = &ffi_type_double;
- cls_struct_fields[7] = &ffi_type_double;
- cls_struct_fields[8] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = &cls_struct_type;
- dbl_arg_types[3] = &cls_struct_type;
- dbl_arg_types[4] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = &g_dbl;
- args_dbl[3] = &h_dbl;
- args_dbl[4] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_64byte_fn), &res_dbl, args_dbl);
- /* { dg-output "22 15 17 25 6 13 19 18" } */
- printf("res: %g %g %g %g %g %g %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h);
- /* { dg-output "\nres: 22 15 17 25 6 13 19 18" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_64byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_64byte(*)(cls_struct_64byte,
- cls_struct_64byte,
- cls_struct_64byte,
- cls_struct_64byte))
- (code))(e_dbl, f_dbl, g_dbl, h_dbl);
- /* { dg-output "\n22 15 17 25 6 13 19 18" } */
- printf("res: %g %g %g %g %g %g %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h);
- /* { dg-output "\nres: 22 15 17 25 6 13 19 18" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check bigger struct which overlaps
+ the gp and fp register count on Darwin/AIX/ppc64.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_64byte {
+ double a;
+ double b;
+ double c;
+ double d;
+ double e;
+ double f;
+ double g;
+ double h;
+} cls_struct_64byte;
+
+cls_struct_64byte cls_struct_64byte_fn(struct cls_struct_64byte b0,
+ struct cls_struct_64byte b1,
+ struct cls_struct_64byte b2,
+ struct cls_struct_64byte b3)
+{
+ struct cls_struct_64byte result;
+
+ result.a = b0.a + b1.a + b2.a + b3.a;
+ result.b = b0.b + b1.b + b2.b + b3.b;
+ result.c = b0.c + b1.c + b2.c + b3.c;
+ result.d = b0.d + b1.d + b2.d + b3.d;
+ result.e = b0.e + b1.e + b2.e + b3.e;
+ result.f = b0.f + b1.f + b2.f + b3.f;
+ result.g = b0.g + b1.g + b2.g + b3.g;
+ result.h = b0.h + b1.h + b2.h + b3.h;
+
+ printf("%g %g %g %g %g %g %g %g\n", result.a, result.b, result.c,
+ result.d, result.e, result.f, result.g, result.h);
+
+ return result;
+}
+
+static void
+cls_struct_64byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct cls_struct_64byte b0, b1, b2, b3;
+
+ b0 = *(struct cls_struct_64byte*)(args[0]);
+ b1 = *(struct cls_struct_64byte*)(args[1]);
+ b2 = *(struct cls_struct_64byte*)(args[2]);
+ b3 = *(struct cls_struct_64byte*)(args[3]);
+
+ *(cls_struct_64byte*)resp = cls_struct_64byte_fn(b0, b1, b2, b3);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[9];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_64byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0 };
+ struct cls_struct_64byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0 };
+ struct cls_struct_64byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0 };
+ struct cls_struct_64byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0 };
+ struct cls_struct_64byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_double;
+ cls_struct_fields[2] = &ffi_type_double;
+ cls_struct_fields[3] = &ffi_type_double;
+ cls_struct_fields[4] = &ffi_type_double;
+ cls_struct_fields[5] = &ffi_type_double;
+ cls_struct_fields[6] = &ffi_type_double;
+ cls_struct_fields[7] = &ffi_type_double;
+ cls_struct_fields[8] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = &cls_struct_type;
+ dbl_arg_types[3] = &cls_struct_type;
+ dbl_arg_types[4] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = &g_dbl;
+ args_dbl[3] = &h_dbl;
+ args_dbl[4] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_64byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "22 15 17 25 6 13 19 18" } */
+ printf("res: %g %g %g %g %g %g %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h);
+ /* { dg-output "\nres: 22 15 17 25 6 13 19 18" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_64byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_64byte(*)(cls_struct_64byte,
+ cls_struct_64byte,
+ cls_struct_64byte,
+ cls_struct_64byte))
+ (code))(e_dbl, f_dbl, g_dbl, h_dbl);
+ /* { dg-output "\n22 15 17 25 6 13 19 18" } */
+ printf("res: %g %g %g %g %g %g %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h);
+ /* { dg-output "\nres: 22 15 17 25 6 13 19 18" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_64byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_64byte/ya.make
index d1a61404af..7d157845bd 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_64byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_64byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_64byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_64byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_6_1_byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_6_1_byte.c
index 0334bdd169..b4dcdba472 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_6_1_byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_6_1_byte.c
@@ -1,113 +1,113 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20050708 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_6byte {
- unsigned char a;
- unsigned char b;
- unsigned char c;
- unsigned char d;
- unsigned char e;
- unsigned char f;
-} cls_struct_6byte;
-
-cls_struct_6byte cls_struct_6byte_fn(struct cls_struct_6byte a1,
- struct cls_struct_6byte a2)
-{
- struct cls_struct_6byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
- result.d = a1.d + a2.d;
- result.e = a1.e + a2.e;
- result.f = a1.f + a2.f;
-
- printf("%d %d %d %d %d %d %d %d %d %d %d %d: %d %d %d %d %d %d\n",
- a1.a, a1.b, a1.c, a1.d, a1.e, a1.f,
- a2.a, a2.b, a2.c, a2.d, a2.e, a2.f,
- result.a, result.b, result.c, result.d, result.e, result.f);
-
- return result;
-}
-
-static void
-cls_struct_6byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_6byte a1, a2;
-
- a1 = *(struct cls_struct_6byte*)(args[0]);
- a2 = *(struct cls_struct_6byte*)(args[1]);
-
- *(cls_struct_6byte*)resp = cls_struct_6byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[7];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_6byte g_dbl = { 127, 120, 1, 3, 4, 5 };
- struct cls_struct_6byte f_dbl = { 12, 128, 9, 3, 4, 5 };
- struct cls_struct_6byte res_dbl = { 0, 0, 0, 0, 0, 0 };
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = &ffi_type_uchar;
- cls_struct_fields[4] = &ffi_type_uchar;
- cls_struct_fields[5] = &ffi_type_uchar;
- cls_struct_fields[6] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_6byte_fn), &res_dbl, args_dbl);
- /* { dg-output "127 120 1 3 4 5 12 128 9 3 4 5: 139 248 10 6 8 10" } */
- printf("res: %d %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e, res_dbl.f);
- /* { dg-output "\nres: 139 248 10 6 8 10" } */
-
- res_dbl.a = 0;
- res_dbl.b = 0;
- res_dbl.c = 0;
- res_dbl.d = 0;
- res_dbl.e = 0;
- res_dbl.f = 0;
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_6byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_6byte(*)(cls_struct_6byte, cls_struct_6byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n127 120 1 3 4 5 12 128 9 3 4 5: 139 248 10 6 8 10" } */
- printf("res: %d %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e, res_dbl.f);
- /* { dg-output "\nres: 139 248 10 6 8 10" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20050708 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_6byte {
+ unsigned char a;
+ unsigned char b;
+ unsigned char c;
+ unsigned char d;
+ unsigned char e;
+ unsigned char f;
+} cls_struct_6byte;
+
+cls_struct_6byte cls_struct_6byte_fn(struct cls_struct_6byte a1,
+ struct cls_struct_6byte a2)
+{
+ struct cls_struct_6byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+ result.d = a1.d + a2.d;
+ result.e = a1.e + a2.e;
+ result.f = a1.f + a2.f;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d: %d %d %d %d %d %d\n",
+ a1.a, a1.b, a1.c, a1.d, a1.e, a1.f,
+ a2.a, a2.b, a2.c, a2.d, a2.e, a2.f,
+ result.a, result.b, result.c, result.d, result.e, result.f);
+
+ return result;
+}
+
+static void
+cls_struct_6byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_6byte a1, a2;
+
+ a1 = *(struct cls_struct_6byte*)(args[0]);
+ a2 = *(struct cls_struct_6byte*)(args[1]);
+
+ *(cls_struct_6byte*)resp = cls_struct_6byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[7];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_6byte g_dbl = { 127, 120, 1, 3, 4, 5 };
+ struct cls_struct_6byte f_dbl = { 12, 128, 9, 3, 4, 5 };
+ struct cls_struct_6byte res_dbl = { 0, 0, 0, 0, 0, 0 };
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = &ffi_type_uchar;
+ cls_struct_fields[4] = &ffi_type_uchar;
+ cls_struct_fields[5] = &ffi_type_uchar;
+ cls_struct_fields[6] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_6byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "127 120 1 3 4 5 12 128 9 3 4 5: 139 248 10 6 8 10" } */
+ printf("res: %d %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e, res_dbl.f);
+ /* { dg-output "\nres: 139 248 10 6 8 10" } */
+
+ res_dbl.a = 0;
+ res_dbl.b = 0;
+ res_dbl.c = 0;
+ res_dbl.d = 0;
+ res_dbl.e = 0;
+ res_dbl.f = 0;
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_6byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_6byte(*)(cls_struct_6byte, cls_struct_6byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n127 120 1 3 4 5 12 128 9 3 4 5: 139 248 10 6 8 10" } */
+ printf("res: %d %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e, res_dbl.f);
+ /* { dg-output "\nres: 139 248 10 6 8 10" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_6_1_byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_6_1_byte/ya.make
index 2da0a5a511..649bcb8f7f 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_6_1_byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_6_1_byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_6_1_byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_6_1_byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_6byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_6byte.c
index 9ad30ffd81..740678017b 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_6byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_6byte.c
@@ -1,99 +1,99 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_6byte {
- unsigned short a;
- unsigned short b;
- unsigned char c;
- unsigned char d;
-} cls_struct_6byte;
-
-cls_struct_6byte cls_struct_6byte_fn(struct cls_struct_6byte a1,
- struct cls_struct_6byte a2)
-{
- struct cls_struct_6byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
- result.d = a1.d + a2.d;
-
- printf("%d %d %d %d %d %d %d %d: %d %d %d %d\n", a1.a, a1.b, a1.c, a1.d,
- a2.a, a2.b, a2.c, a2.d,
- result.a, result.b, result.c, result.d);
-
- return result;
-}
-
-static void
-cls_struct_6byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_6byte a1, a2;
-
- a1 = *(struct cls_struct_6byte*)(args[0]);
- a2 = *(struct cls_struct_6byte*)(args[1]);
-
- *(cls_struct_6byte*)resp = cls_struct_6byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[5];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_6byte g_dbl = { 127, 120, 1, 128 };
- struct cls_struct_6byte f_dbl = { 12, 128, 9, 127 };
- struct cls_struct_6byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_ushort;
- cls_struct_fields[1] = &ffi_type_ushort;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = &ffi_type_uchar;
- cls_struct_fields[4] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_6byte_fn), &res_dbl, args_dbl);
- /* { dg-output "127 120 1 128 12 128 9 127: 139 248 10 255" } */
- printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
- /* { dg-output "\nres: 139 248 10 255" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_6byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_6byte(*)(cls_struct_6byte, cls_struct_6byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n127 120 1 128 12 128 9 127: 139 248 10 255" } */
- printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
- /* { dg-output "\nres: 139 248 10 255" } */
-
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_6byte {
+ unsigned short a;
+ unsigned short b;
+ unsigned char c;
+ unsigned char d;
+} cls_struct_6byte;
+
+cls_struct_6byte cls_struct_6byte_fn(struct cls_struct_6byte a1,
+ struct cls_struct_6byte a2)
+{
+ struct cls_struct_6byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+ result.d = a1.d + a2.d;
+
+ printf("%d %d %d %d %d %d %d %d: %d %d %d %d\n", a1.a, a1.b, a1.c, a1.d,
+ a2.a, a2.b, a2.c, a2.d,
+ result.a, result.b, result.c, result.d);
+
+ return result;
+}
+
+static void
+cls_struct_6byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_6byte a1, a2;
+
+ a1 = *(struct cls_struct_6byte*)(args[0]);
+ a2 = *(struct cls_struct_6byte*)(args[1]);
+
+ *(cls_struct_6byte*)resp = cls_struct_6byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[5];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_6byte g_dbl = { 127, 120, 1, 128 };
+ struct cls_struct_6byte f_dbl = { 12, 128, 9, 127 };
+ struct cls_struct_6byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_ushort;
+ cls_struct_fields[1] = &ffi_type_ushort;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = &ffi_type_uchar;
+ cls_struct_fields[4] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_6byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "127 120 1 128 12 128 9 127: 139 248 10 255" } */
+ printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
+ /* { dg-output "\nres: 139 248 10 255" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_6byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_6byte(*)(cls_struct_6byte, cls_struct_6byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n127 120 1 128 12 128 9 127: 139 248 10 255" } */
+ printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
+ /* { dg-output "\nres: 139 248 10 255" } */
+
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_6byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_6byte/ya.make
index c24bb23bb7..cfc5422227 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_6byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_6byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_6byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_6byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_7_1_byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_7_1_byte.c
index eb180b7b64..14a7e96f9d 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_7_1_byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_7_1_byte.c
@@ -1,117 +1,117 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20050708 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_7byte {
- unsigned char a;
- unsigned char b;
- unsigned char c;
- unsigned char d;
- unsigned char e;
- unsigned char f;
- unsigned char g;
-} cls_struct_7byte;
-
-cls_struct_7byte cls_struct_7byte_fn(struct cls_struct_7byte a1,
- struct cls_struct_7byte a2)
-{
- struct cls_struct_7byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
- result.d = a1.d + a2.d;
- result.e = a1.e + a2.e;
- result.f = a1.f + a2.f;
- result.g = a1.g + a2.g;
-
- printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d %d %d %d %d %d %d\n",
- a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, a1.g,
- a2.a, a2.b, a2.c, a2.d, a2.e, a2.f, a2.g,
- result.a, result.b, result.c, result.d, result.e, result.f, result.g);
-
- return result;
-}
-
-static void
-cls_struct_7byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_7byte a1, a2;
-
- a1 = *(struct cls_struct_7byte*)(args[0]);
- a2 = *(struct cls_struct_7byte*)(args[1]);
-
- *(cls_struct_7byte*)resp = cls_struct_7byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[8];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_7byte g_dbl = { 127, 120, 1, 3, 4, 5, 6 };
- struct cls_struct_7byte f_dbl = { 12, 128, 9, 3, 4, 5, 6 };
- struct cls_struct_7byte res_dbl = { 0, 0, 0, 0, 0, 0, 0 };
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = &ffi_type_uchar;
- cls_struct_fields[4] = &ffi_type_uchar;
- cls_struct_fields[5] = &ffi_type_uchar;
- cls_struct_fields[6] = &ffi_type_uchar;
- cls_struct_fields[7] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_7byte_fn), &res_dbl, args_dbl);
- /* { dg-output "127 120 1 3 4 5 6 12 128 9 3 4 5 6: 139 248 10 6 8 10 12" } */
- printf("res: %d %d %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g);
- /* { dg-output "\nres: 139 248 10 6 8 10 12" } */
-
- res_dbl.a = 0;
- res_dbl.b = 0;
- res_dbl.c = 0;
- res_dbl.d = 0;
- res_dbl.e = 0;
- res_dbl.f = 0;
- res_dbl.g = 0;
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_7byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_7byte(*)(cls_struct_7byte, cls_struct_7byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n127 120 1 3 4 5 6 12 128 9 3 4 5 6: 139 248 10 6 8 10 12" } */
- printf("res: %d %d %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g);
- /* { dg-output "\nres: 139 248 10 6 8 10 12" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20050708 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_7byte {
+ unsigned char a;
+ unsigned char b;
+ unsigned char c;
+ unsigned char d;
+ unsigned char e;
+ unsigned char f;
+ unsigned char g;
+} cls_struct_7byte;
+
+cls_struct_7byte cls_struct_7byte_fn(struct cls_struct_7byte a1,
+ struct cls_struct_7byte a2)
+{
+ struct cls_struct_7byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+ result.d = a1.d + a2.d;
+ result.e = a1.e + a2.e;
+ result.f = a1.f + a2.f;
+ result.g = a1.g + a2.g;
+
+ printf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d: %d %d %d %d %d %d %d\n",
+ a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, a1.g,
+ a2.a, a2.b, a2.c, a2.d, a2.e, a2.f, a2.g,
+ result.a, result.b, result.c, result.d, result.e, result.f, result.g);
+
+ return result;
+}
+
+static void
+cls_struct_7byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_7byte a1, a2;
+
+ a1 = *(struct cls_struct_7byte*)(args[0]);
+ a2 = *(struct cls_struct_7byte*)(args[1]);
+
+ *(cls_struct_7byte*)resp = cls_struct_7byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[8];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_7byte g_dbl = { 127, 120, 1, 3, 4, 5, 6 };
+ struct cls_struct_7byte f_dbl = { 12, 128, 9, 3, 4, 5, 6 };
+ struct cls_struct_7byte res_dbl = { 0, 0, 0, 0, 0, 0, 0 };
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = &ffi_type_uchar;
+ cls_struct_fields[4] = &ffi_type_uchar;
+ cls_struct_fields[5] = &ffi_type_uchar;
+ cls_struct_fields[6] = &ffi_type_uchar;
+ cls_struct_fields[7] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_7byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "127 120 1 3 4 5 6 12 128 9 3 4 5 6: 139 248 10 6 8 10 12" } */
+ printf("res: %d %d %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g);
+ /* { dg-output "\nres: 139 248 10 6 8 10 12" } */
+
+ res_dbl.a = 0;
+ res_dbl.b = 0;
+ res_dbl.c = 0;
+ res_dbl.d = 0;
+ res_dbl.e = 0;
+ res_dbl.f = 0;
+ res_dbl.g = 0;
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_7byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_7byte(*)(cls_struct_7byte, cls_struct_7byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n127 120 1 3 4 5 6 12 128 9 3 4 5 6: 139 248 10 6 8 10 12" } */
+ printf("res: %d %d %d %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g);
+ /* { dg-output "\nres: 139 248 10 6 8 10 12" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_7_1_byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_7_1_byte/ya.make
index 77c60a3671..e463e968db 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_7_1_byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_7_1_byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_7_1_byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_7_1_byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_7byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_7byte.c
index 8e590ff4f9..1645cc635f 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_7byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_7byte.c
@@ -1,97 +1,97 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_7byte {
- unsigned short a;
- unsigned short b;
- unsigned char c;
- unsigned short d;
-} cls_struct_7byte;
-
-cls_struct_7byte cls_struct_7byte_fn(struct cls_struct_7byte a1,
- struct cls_struct_7byte a2)
-{
- struct cls_struct_7byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
- result.d = a1.d + a2.d;
-
- printf("%d %d %d %d %d %d %d %d: %d %d %d %d\n", a1.a, a1.b, a1.c, a1.d,
- a2.a, a2.b, a2.c, a2.d,
- result.a, result.b, result.c, result.d);
-
- return result;
-}
-
-static void
-cls_struct_7byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_7byte a1, a2;
-
- a1 = *(struct cls_struct_7byte*)(args[0]);
- a2 = *(struct cls_struct_7byte*)(args[1]);
-
- *(cls_struct_7byte*)resp = cls_struct_7byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[5];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_7byte g_dbl = { 127, 120, 1, 254 };
- struct cls_struct_7byte f_dbl = { 12, 128, 9, 255 };
- struct cls_struct_7byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_ushort;
- cls_struct_fields[1] = &ffi_type_ushort;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = &ffi_type_ushort;
- cls_struct_fields[4] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_7byte_fn), &res_dbl, args_dbl);
- /* { dg-output "127 120 1 254 12 128 9 255: 139 248 10 509" } */
- printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
- /* { dg-output "\nres: 139 248 10 509" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_7byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_7byte(*)(cls_struct_7byte, cls_struct_7byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n127 120 1 254 12 128 9 255: 139 248 10 509" } */
- printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
- /* { dg-output "\nres: 139 248 10 509" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_7byte {
+ unsigned short a;
+ unsigned short b;
+ unsigned char c;
+ unsigned short d;
+} cls_struct_7byte;
+
+cls_struct_7byte cls_struct_7byte_fn(struct cls_struct_7byte a1,
+ struct cls_struct_7byte a2)
+{
+ struct cls_struct_7byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+ result.d = a1.d + a2.d;
+
+ printf("%d %d %d %d %d %d %d %d: %d %d %d %d\n", a1.a, a1.b, a1.c, a1.d,
+ a2.a, a2.b, a2.c, a2.d,
+ result.a, result.b, result.c, result.d);
+
+ return result;
+}
+
+static void
+cls_struct_7byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_7byte a1, a2;
+
+ a1 = *(struct cls_struct_7byte*)(args[0]);
+ a2 = *(struct cls_struct_7byte*)(args[1]);
+
+ *(cls_struct_7byte*)resp = cls_struct_7byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[5];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_7byte g_dbl = { 127, 120, 1, 254 };
+ struct cls_struct_7byte f_dbl = { 12, 128, 9, 255 };
+ struct cls_struct_7byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_ushort;
+ cls_struct_fields[1] = &ffi_type_ushort;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = &ffi_type_ushort;
+ cls_struct_fields[4] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_7byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "127 120 1 254 12 128 9 255: 139 248 10 509" } */
+ printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
+ /* { dg-output "\nres: 139 248 10 509" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_7byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_7byte(*)(cls_struct_7byte, cls_struct_7byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n127 120 1 254 12 128 9 255: 139 248 10 509" } */
+ printf("res: %d %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c, res_dbl.d);
+ /* { dg-output "\nres: 139 248 10 509" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_7byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_7byte/ya.make
index f2838c341e..24fe20b031 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_7byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_7byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_7byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_7byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_8byte.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_8byte.c
index fcf08f701b..f6c1ea570a 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_8byte.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_8byte.c
@@ -1,88 +1,88 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Check overlapping.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_8byte {
- int a;
- float b;
-} cls_struct_8byte;
-
-cls_struct_8byte cls_struct_8byte_fn(struct cls_struct_8byte a1,
- struct cls_struct_8byte a2)
-{
- struct cls_struct_8byte result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
-
- printf("%d %g %d %g: %d %g\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b);
-
- return result;
-}
-
-static void
-cls_struct_8byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_8byte a1, a2;
-
- a1 = *(struct cls_struct_8byte*)(args[0]);
- a2 = *(struct cls_struct_8byte*)(args[1]);
-
- *(cls_struct_8byte*)resp = cls_struct_8byte_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_8byte g_dbl = { 1, 2.0 };
- struct cls_struct_8byte f_dbl = { 4, 5.0 };
- struct cls_struct_8byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_sint;
- cls_struct_fields[1] = &ffi_type_float;
- cls_struct_fields[2] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_8byte_fn), &res_dbl, args_dbl);
- /* { dg-output "1 2 4 5: 5 7" } */
- printf("res: %d %g\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 5 7" } */
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_8byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_8byte(*)(cls_struct_8byte, cls_struct_8byte))(code))(g_dbl, f_dbl);
- /* { dg-output "\n1 2 4 5: 5 7" } */
- printf("res: %d %g\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 5 7" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Check overlapping.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_8byte {
+ int a;
+ float b;
+} cls_struct_8byte;
+
+cls_struct_8byte cls_struct_8byte_fn(struct cls_struct_8byte a1,
+ struct cls_struct_8byte a2)
+{
+ struct cls_struct_8byte result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+
+ printf("%d %g %d %g: %d %g\n", a1.a, a1.b, a2.a, a2.b, result.a, result.b);
+
+ return result;
+}
+
+static void
+cls_struct_8byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_8byte a1, a2;
+
+ a1 = *(struct cls_struct_8byte*)(args[0]);
+ a2 = *(struct cls_struct_8byte*)(args[1]);
+
+ *(cls_struct_8byte*)resp = cls_struct_8byte_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_8byte g_dbl = { 1, 2.0 };
+ struct cls_struct_8byte f_dbl = { 4, 5.0 };
+ struct cls_struct_8byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_sint;
+ cls_struct_fields[1] = &ffi_type_float;
+ cls_struct_fields[2] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_8byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 2 4 5: 5 7" } */
+ printf("res: %d %g\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 5 7" } */
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_8byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_8byte(*)(cls_struct_8byte, cls_struct_8byte))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n1 2 4 5: 5 7" } */
+ printf("res: %d %g\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 5 7" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_8byte/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_8byte/ya.make
index 73cb4992b1..61cf091810 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_8byte/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_8byte/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_8byte.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_8byte.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte1.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte1.c
index 10e9c556e7..0b8572223c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte1.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte1.c
@@ -1,90 +1,90 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Darwin/AIX do double-word
- alignment of the struct if the first element is a double.
- Check that it does not here.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030914 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_9byte {
- int a;
- double b;
-} cls_struct_9byte;
-
-cls_struct_9byte cls_struct_9byte_fn(struct cls_struct_9byte b1,
- struct cls_struct_9byte b2)
-{
- struct cls_struct_9byte result;
-
- result.a = b1.a + b2.a;
- result.b = b1.b + b2.b;
-
- printf("%d %g %d %g: %d %g\n", b1.a, b1.b, b2.a, b2.b,
- result.a, result.b);
-
- return result;
-}
-
-static void cls_struct_9byte_gn(ffi_cif* cif __UNUSED__, void* resp,
- void** args, void* userdata __UNUSED__)
-{
- struct cls_struct_9byte b1, b2;
-
- b1 = *(struct cls_struct_9byte*)(args[0]);
- b2 = *(struct cls_struct_9byte*)(args[1]);
-
- *(cls_struct_9byte*)resp = cls_struct_9byte_fn(b1, b2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[3];
- ffi_type* cls_struct_fields[3];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[3];
-
- struct cls_struct_9byte h_dbl = { 7, 8.0};
- struct cls_struct_9byte j_dbl = { 1, 9.0};
- struct cls_struct_9byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_sint;
- cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &h_dbl;
- args_dbl[1] = &j_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_9byte_fn), &res_dbl, args_dbl);
- /* { dg-output "7 8 1 9: 8 17" } */
- printf("res: %d %g\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 8 17" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_9byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_9byte(*)(cls_struct_9byte, cls_struct_9byte))(code))(h_dbl, j_dbl);
- /* { dg-output "\n7 8 1 9: 8 17" } */
- printf("res: %d %g\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 8 17" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Darwin/AIX do double-word
+ alignment of the struct if the first element is a double.
+ Check that it does not here.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030914 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_9byte {
+ int a;
+ double b;
+} cls_struct_9byte;
+
+cls_struct_9byte cls_struct_9byte_fn(struct cls_struct_9byte b1,
+ struct cls_struct_9byte b2)
+{
+ struct cls_struct_9byte result;
+
+ result.a = b1.a + b2.a;
+ result.b = b1.b + b2.b;
+
+ printf("%d %g %d %g: %d %g\n", b1.a, b1.b, b2.a, b2.b,
+ result.a, result.b);
+
+ return result;
+}
+
+static void cls_struct_9byte_gn(ffi_cif* cif __UNUSED__, void* resp,
+ void** args, void* userdata __UNUSED__)
+{
+ struct cls_struct_9byte b1, b2;
+
+ b1 = *(struct cls_struct_9byte*)(args[0]);
+ b2 = *(struct cls_struct_9byte*)(args[1]);
+
+ *(cls_struct_9byte*)resp = cls_struct_9byte_fn(b1, b2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[3];
+ ffi_type* cls_struct_fields[3];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[3];
+
+ struct cls_struct_9byte h_dbl = { 7, 8.0};
+ struct cls_struct_9byte j_dbl = { 1, 9.0};
+ struct cls_struct_9byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_sint;
+ cls_struct_fields[1] = &ffi_type_double;
+ cls_struct_fields[2] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &h_dbl;
+ args_dbl[1] = &j_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_9byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "7 8 1 9: 8 17" } */
+ printf("res: %d %g\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 8 17" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_9byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_9byte(*)(cls_struct_9byte, cls_struct_9byte))(code))(h_dbl, j_dbl);
+ /* { dg-output "\n7 8 1 9: 8 17" } */
+ printf("res: %d %g\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 8 17" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte1/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte1/ya.make
index ccfc197c69..d36eaef0e7 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte1/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte1/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_9byte1.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_9byte1.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte2.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte2.c
index 423600ea03..edf991de73 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte2.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte2.c
@@ -1,91 +1,91 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Depending on the ABI. Darwin/AIX do double-word
- alignment of the struct if the first element is a double.
- Check that it does here.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030914 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_9byte {
- double a;
- int b;
-} cls_struct_9byte;
-
-cls_struct_9byte cls_struct_9byte_fn(struct cls_struct_9byte b1,
- struct cls_struct_9byte b2)
-{
- struct cls_struct_9byte result;
-
- result.a = b1.a + b2.a;
- result.b = b1.b + b2.b;
-
- printf("%g %d %g %d: %g %d\n", b1.a, b1.b, b2.a, b2.b,
- result.a, result.b);
-
- return result;
-}
-
-static void cls_struct_9byte_gn(ffi_cif* cif __UNUSED__, void* resp,
- void** args, void* userdata __UNUSED__)
-{
- struct cls_struct_9byte b1, b2;
-
- b1 = *(struct cls_struct_9byte*)(args[0]);
- b2 = *(struct cls_struct_9byte*)(args[1]);
-
- *(cls_struct_9byte*)resp = cls_struct_9byte_fn(b1, b2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[3];
- ffi_type* cls_struct_fields[3];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[3];
-
- struct cls_struct_9byte h_dbl = { 7.0, 8};
- struct cls_struct_9byte j_dbl = { 1.0, 9};
- struct cls_struct_9byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_sint;
- cls_struct_fields[2] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &h_dbl;
- args_dbl[1] = &j_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_9byte_fn), &res_dbl, args_dbl);
- /* { dg-output "7 8 1 9: 8 17" } */
- printf("res: %g %d\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 8 17" } */
-
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_9byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_9byte(*)(cls_struct_9byte, cls_struct_9byte))(code))(h_dbl, j_dbl);
- /* { dg-output "\n7 8 1 9: 8 17" } */
- printf("res: %g %d\n", res_dbl.a, res_dbl.b);
- /* { dg-output "\nres: 8 17" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Depending on the ABI. Darwin/AIX do double-word
+ alignment of the struct if the first element is a double.
+ Check that it does here.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030914 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_9byte {
+ double a;
+ int b;
+} cls_struct_9byte;
+
+cls_struct_9byte cls_struct_9byte_fn(struct cls_struct_9byte b1,
+ struct cls_struct_9byte b2)
+{
+ struct cls_struct_9byte result;
+
+ result.a = b1.a + b2.a;
+ result.b = b1.b + b2.b;
+
+ printf("%g %d %g %d: %g %d\n", b1.a, b1.b, b2.a, b2.b,
+ result.a, result.b);
+
+ return result;
+}
+
+static void cls_struct_9byte_gn(ffi_cif* cif __UNUSED__, void* resp,
+ void** args, void* userdata __UNUSED__)
+{
+ struct cls_struct_9byte b1, b2;
+
+ b1 = *(struct cls_struct_9byte*)(args[0]);
+ b2 = *(struct cls_struct_9byte*)(args[1]);
+
+ *(cls_struct_9byte*)resp = cls_struct_9byte_fn(b1, b2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[3];
+ ffi_type* cls_struct_fields[3];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[3];
+
+ struct cls_struct_9byte h_dbl = { 7.0, 8};
+ struct cls_struct_9byte j_dbl = { 1.0, 9};
+ struct cls_struct_9byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_sint;
+ cls_struct_fields[2] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &h_dbl;
+ args_dbl[1] = &j_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_9byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "7 8 1 9: 8 17" } */
+ printf("res: %g %d\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 8 17" } */
+
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_9byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_9byte(*)(cls_struct_9byte, cls_struct_9byte))(code))(h_dbl, j_dbl);
+ /* { dg-output "\n7 8 1 9: 8 17" } */
+ printf("res: %g %d\n", res_dbl.a, res_dbl.b);
+ /* { dg-output "\nres: 8 17" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte2/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte2/ya.make
index 2b555132d5..5a3bc0edb9 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte2/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_9byte2/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_9byte2.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_9byte2.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_double.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_double.c
index 33b7d693d9..aad5f3ced6 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_double.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_double.c
@@ -1,93 +1,93 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure alignment of double.
- Limitations: none.
- PR: none.
- Originator: <hos@tamanegi.org> 20031203 */
-
-
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_align {
- unsigned char a;
- double b;
- unsigned char c;
-} cls_struct_align;
-
-cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
- struct cls_struct_align a2)
-{
- struct cls_struct_align result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%d %g %d %d %g %d: %d %g %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
-
- return result;
-}
-
-static void
-cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_align a1, a2;
-
- a1 = *(struct cls_struct_align*)(args[0]);
- a2 = *(struct cls_struct_align*)(args[1]);
-
- *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_align g_dbl = { 12, 4951, 127 };
- struct cls_struct_align f_dbl = { 1, 9320, 13 };
- struct cls_struct_align res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
- /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure alignment of double.
+ Limitations: none.
+ PR: none.
+ Originator: <hos@tamanegi.org> 20031203 */
+
+
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_align {
+ unsigned char a;
+ double b;
+ unsigned char c;
+} cls_struct_align;
+
+cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
+ struct cls_struct_align a2)
+{
+ struct cls_struct_align result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%d %g %d %d %g %d: %d %g %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
+
+ return result;
+}
+
+static void
+cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_align a1, a2;
+
+ a1 = *(struct cls_struct_align*)(args[0]);
+ a2 = *(struct cls_struct_align*)(args[1]);
+
+ *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_align g_dbl = { 12, 4951, 127 };
+ struct cls_struct_align f_dbl = { 1, 9320, 13 };
+ struct cls_struct_align res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_double;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %g %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_double/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_double/ya.make
index 517c75c677..6de4ac5c85 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_double/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_double/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_align_double.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_align_double.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_float.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_float.c
index 1dd743853d..37e085529e 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_float.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_float.c
@@ -1,91 +1,91 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure alignment of float.
- Limitations: none.
- PR: none.
- Originator: <hos@tamanegi.org> 20031203 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_align {
- unsigned char a;
- float b;
- unsigned char c;
-} cls_struct_align;
-
-cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
- struct cls_struct_align a2)
-{
- struct cls_struct_align result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%d %g %d %d %g %d: %d %g %d\n", a1.a, (double)a1.b, a1.c, a2.a, (double)a2.b, a2.c, result.a, (double)result.b, result.c);
-
- return result;
-}
-
-static void
-cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_align a1, a2;
-
- a1 = *(struct cls_struct_align*)(args[0]);
- a2 = *(struct cls_struct_align*)(args[1]);
-
- *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_align g_dbl = { 12, 4951, 127 };
- struct cls_struct_align f_dbl = { 1, 9320, 13 };
- struct cls_struct_align res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_float;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
- /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %g %d\n", res_dbl.a, (double)res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %g %d\n", res_dbl.a, (double)res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure alignment of float.
+ Limitations: none.
+ PR: none.
+ Originator: <hos@tamanegi.org> 20031203 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_align {
+ unsigned char a;
+ float b;
+ unsigned char c;
+} cls_struct_align;
+
+cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
+ struct cls_struct_align a2)
+{
+ struct cls_struct_align result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%d %g %d %d %g %d: %d %g %d\n", a1.a, (double)a1.b, a1.c, a2.a, (double)a2.b, a2.c, result.a, (double)result.b, result.c);
+
+ return result;
+}
+
+static void
+cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_align a1, a2;
+
+ a1 = *(struct cls_struct_align*)(args[0]);
+ a2 = *(struct cls_struct_align*)(args[1]);
+
+ *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_align g_dbl = { 12, 4951, 127 };
+ struct cls_struct_align f_dbl = { 1, 9320, 13 };
+ struct cls_struct_align res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_float;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %g %d\n", res_dbl.a, (double)res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %g %d\n", res_dbl.a, (double)res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_float/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_float/ya.make
index a3edbf31a1..967b36ddc9 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_float/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_float/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_align_float.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_align_float.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble.c
index e07e15a858..b3322d8615 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble.c
@@ -1,92 +1,92 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure alignment of long double.
- Limitations: none.
- PR: none.
- Originator: <hos@tamanegi.org> 20031203 */
-
-/* { dg-do run } */
-
-#include "ffitest.h"
-
-typedef struct cls_struct_align {
- unsigned char a;
- long double b;
- unsigned char c;
-} cls_struct_align;
-
-cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
- struct cls_struct_align a2)
-{
- struct cls_struct_align result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%d %g %d %d %g %d: %d %g %d\n", a1.a, (double)a1.b, a1.c, a2.a, (double)a2.b, a2.c, result.a, (double)result.b, result.c);
-
- return result;
-}
-
-static void
-cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_align a1, a2;
-
- a1 = *(struct cls_struct_align*)(args[0]);
- a2 = *(struct cls_struct_align*)(args[1]);
-
- *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_align g_dbl = { 12, 4951, 127 };
- struct cls_struct_align f_dbl = { 1, 9320, 13 };
- struct cls_struct_align res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_longdouble;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
- /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %g %d\n", res_dbl.a, (double)res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %g %d\n", res_dbl.a, (double)res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure alignment of long double.
+ Limitations: none.
+ PR: none.
+ Originator: <hos@tamanegi.org> 20031203 */
+
+/* { dg-do run } */
+
+#include "ffitest.h"
+
+typedef struct cls_struct_align {
+ unsigned char a;
+ long double b;
+ unsigned char c;
+} cls_struct_align;
+
+cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
+ struct cls_struct_align a2)
+{
+ struct cls_struct_align result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%d %g %d %d %g %d: %d %g %d\n", a1.a, (double)a1.b, a1.c, a2.a, (double)a2.b, a2.c, result.a, (double)result.b, result.c);
+
+ return result;
+}
+
+static void
+cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_align a1, a2;
+
+ a1 = *(struct cls_struct_align*)(args[0]);
+ a2 = *(struct cls_struct_align*)(args[1]);
+
+ *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_align g_dbl = { 12, 4951, 127 };
+ struct cls_struct_align f_dbl = { 1, 9320, 13 };
+ struct cls_struct_align res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_longdouble;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %g %d\n", res_dbl.a, (double)res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %g %d\n", res_dbl.a, (double)res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble/ya.make
index 651c37f562..844482ac16 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_align_longdouble.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_align_longdouble.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split.c
index e160970412..cc1c43b8ca 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split.c
@@ -1,132 +1,132 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure alignment of long double.
- Limitations: none.
- PR: none.
- Originator: <hos@tamanegi.org> 20031203 */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
-
-#include "ffitest.h"
-
-typedef struct cls_struct_align {
- long double a;
- long double b;
- long double c;
- long double d;
- long double e;
- long double f;
- long double g;
-} cls_struct_align;
-
-cls_struct_align cls_struct_align_fn(
- cls_struct_align a1,
- cls_struct_align a2)
-{
- struct cls_struct_align r;
-
- r.a = a1.a + a2.a;
- r.b = a1.b + a2.b;
- r.c = a1.c + a2.c;
- r.d = a1.d + a2.d;
- r.e = a1.e + a2.e;
- r.f = a1.f + a2.f;
- r.g = a1.g + a2.g;
-
- printf("%Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg: "
- "%Lg %Lg %Lg %Lg %Lg %Lg %Lg\n",
- a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, a1.g,
- a2.a, a2.b, a2.c, a2.d, a2.e, a2.f, a2.g,
- r.a, r.b, r.c, r.d, r.e, r.f, r.g);
-
- return r;
-}
-
-cls_struct_align cls_struct_align_fn2(
- cls_struct_align a1)
-{
- struct cls_struct_align r;
-
- r.a = a1.a + 1;
- r.b = a1.b + 1;
- r.c = a1.c + 1;
- r.d = a1.d + 1;
- r.e = a1.e + 1;
- r.f = a1.f + 1;
- r.g = a1.g + 1;
-
- printf("%Lg %Lg %Lg %Lg %Lg %Lg %Lg: "
- "%Lg %Lg %Lg %Lg %Lg %Lg %Lg\n",
- a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, a1.g,
- r.a, r.b, r.c, r.d, r.e, r.f, r.g);
-
- return r;
-}
-
-static void
-cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct cls_struct_align a1, a2;
-
- a1 = *(struct cls_struct_align*)(args[0]);
- a2 = *(struct cls_struct_align*)(args[1]);
-
- *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[3];
- ffi_type* cls_struct_fields[8];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[3];
-
- struct cls_struct_align g_dbl = { 1, 2, 3, 4, 5, 6, 7 };
- struct cls_struct_align f_dbl = { 8, 9, 10, 11, 12, 13, 14 };
- struct cls_struct_align res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_longdouble;
- cls_struct_fields[1] = &ffi_type_longdouble;
- cls_struct_fields[2] = &ffi_type_longdouble;
- cls_struct_fields[3] = &ffi_type_longdouble;
- cls_struct_fields[4] = &ffi_type_longdouble;
- cls_struct_fields[5] = &ffi_type_longdouble;
- cls_struct_fields[6] = &ffi_type_longdouble;
- cls_struct_fields[7] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
- /* { dg-output "1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21" } */
- printf("res: %Lg %Lg %Lg %Lg %Lg %Lg %Lg\n", res_dbl.a, res_dbl.b,
- res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g);
- /* { dg-output "\nres: 9 11 13 15 17 19 21" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
- /* { dg-output "\n1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21" } */
- printf("res: %Lg %Lg %Lg %Lg %Lg %Lg %Lg\n", res_dbl.a, res_dbl.b,
- res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g);
- /* { dg-output "\nres: 9 11 13 15 17 19 21" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure alignment of long double.
+ Limitations: none.
+ PR: none.
+ Originator: <hos@tamanegi.org> 20031203 */
+
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
+
+#include "ffitest.h"
+
+typedef struct cls_struct_align {
+ long double a;
+ long double b;
+ long double c;
+ long double d;
+ long double e;
+ long double f;
+ long double g;
+} cls_struct_align;
+
+cls_struct_align cls_struct_align_fn(
+ cls_struct_align a1,
+ cls_struct_align a2)
+{
+ struct cls_struct_align r;
+
+ r.a = a1.a + a2.a;
+ r.b = a1.b + a2.b;
+ r.c = a1.c + a2.c;
+ r.d = a1.d + a2.d;
+ r.e = a1.e + a2.e;
+ r.f = a1.f + a2.f;
+ r.g = a1.g + a2.g;
+
+ printf("%Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg: "
+ "%Lg %Lg %Lg %Lg %Lg %Lg %Lg\n",
+ a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, a1.g,
+ a2.a, a2.b, a2.c, a2.d, a2.e, a2.f, a2.g,
+ r.a, r.b, r.c, r.d, r.e, r.f, r.g);
+
+ return r;
+}
+
+cls_struct_align cls_struct_align_fn2(
+ cls_struct_align a1)
+{
+ struct cls_struct_align r;
+
+ r.a = a1.a + 1;
+ r.b = a1.b + 1;
+ r.c = a1.c + 1;
+ r.d = a1.d + 1;
+ r.e = a1.e + 1;
+ r.f = a1.f + 1;
+ r.g = a1.g + 1;
+
+ printf("%Lg %Lg %Lg %Lg %Lg %Lg %Lg: "
+ "%Lg %Lg %Lg %Lg %Lg %Lg %Lg\n",
+ a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, a1.g,
+ r.a, r.b, r.c, r.d, r.e, r.f, r.g);
+
+ return r;
+}
+
+static void
+cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct cls_struct_align a1, a2;
+
+ a1 = *(struct cls_struct_align*)(args[0]);
+ a2 = *(struct cls_struct_align*)(args[1]);
+
+ *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[3];
+ ffi_type* cls_struct_fields[8];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[3];
+
+ struct cls_struct_align g_dbl = { 1, 2, 3, 4, 5, 6, 7 };
+ struct cls_struct_align f_dbl = { 8, 9, 10, 11, 12, 13, 14 };
+ struct cls_struct_align res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_longdouble;
+ cls_struct_fields[1] = &ffi_type_longdouble;
+ cls_struct_fields[2] = &ffi_type_longdouble;
+ cls_struct_fields[3] = &ffi_type_longdouble;
+ cls_struct_fields[4] = &ffi_type_longdouble;
+ cls_struct_fields[5] = &ffi_type_longdouble;
+ cls_struct_fields[6] = &ffi_type_longdouble;
+ cls_struct_fields[7] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21" } */
+ printf("res: %Lg %Lg %Lg %Lg %Lg %Lg %Lg\n", res_dbl.a, res_dbl.b,
+ res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g);
+ /* { dg-output "\nres: 9 11 13 15 17 19 21" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21" } */
+ printf("res: %Lg %Lg %Lg %Lg %Lg %Lg %Lg\n", res_dbl.a, res_dbl.b,
+ res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g);
+ /* { dg-output "\nres: 9 11 13 15 17 19 21" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split/ya.make
index 184ef8fa55..8c805489e1 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_align_longdouble_split.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_align_longdouble_split.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split2.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split2.c
index 822d51bb9e..5d3bec0719 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split2.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split2.c
@@ -1,115 +1,115 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure alignment of long double.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/18/2007
-*/
-
-/* { dg-do run { xfail strongarm*-*-* } } */
-/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
-
-#include "ffitest.h"
-
-typedef struct cls_struct_align {
- long double a;
- long double b;
- long double c;
- long double d;
- long double e;
- double f;
- long double g;
-} cls_struct_align;
-
-cls_struct_align cls_struct_align_fn(
- cls_struct_align a1,
- cls_struct_align a2)
-{
- struct cls_struct_align r;
-
- r.a = a1.a + a2.a;
- r.b = a1.b + a2.b;
- r.c = a1.c + a2.c;
- r.d = a1.d + a2.d;
- r.e = a1.e + a2.e;
- r.f = a1.f + a2.f;
- r.g = a1.g + a2.g;
-
- printf("%Lg %Lg %Lg %Lg %Lg %g %Lg %Lg %Lg %Lg %Lg %Lg %g %Lg: "
- "%Lg %Lg %Lg %Lg %Lg %g %Lg\n",
- a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, a1.g,
- a2.a, a2.b, a2.c, a2.d, a2.e, a2.f, a2.g,
- r.a, r.b, r.c, r.d, r.e, r.f, r.g);
-
- return r;
-}
-
-static void
-cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct cls_struct_align a1, a2;
-
- a1 = *(struct cls_struct_align*)(args[0]);
- a2 = *(struct cls_struct_align*)(args[1]);
-
- *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[3];
- ffi_type* cls_struct_fields[8];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[3];
-
- struct cls_struct_align g_dbl = { 1, 2, 3, 4, 5, 6, 7 };
- struct cls_struct_align f_dbl = { 8, 9, 10, 11, 12, 13, 14 };
- struct cls_struct_align res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_longdouble;
- cls_struct_fields[1] = &ffi_type_longdouble;
- cls_struct_fields[2] = &ffi_type_longdouble;
- cls_struct_fields[3] = &ffi_type_longdouble;
- cls_struct_fields[4] = &ffi_type_longdouble;
- cls_struct_fields[5] = &ffi_type_double;
- cls_struct_fields[6] = &ffi_type_longdouble;
- cls_struct_fields[7] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
- /* { dg-output "1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21" } */
- printf("res: %Lg %Lg %Lg %Lg %Lg %g %Lg\n", res_dbl.a, res_dbl.b,
- res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g);
- /* { dg-output "\nres: 9 11 13 15 17 19 21" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
- /* { dg-output "\n1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21" } */
- printf("res: %Lg %Lg %Lg %Lg %Lg %g %Lg\n", res_dbl.a, res_dbl.b,
- res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g);
- /* { dg-output "\nres: 9 11 13 15 17 19 21" } */
-
- exit(0);
-}
-
-
-
+/* Area: ffi_call, closure_call
+ Purpose: Check structure alignment of long double.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/18/2007
+*/
+
+/* { dg-do run { xfail strongarm*-*-* } } */
+/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
+
+#include "ffitest.h"
+
+typedef struct cls_struct_align {
+ long double a;
+ long double b;
+ long double c;
+ long double d;
+ long double e;
+ double f;
+ long double g;
+} cls_struct_align;
+
+cls_struct_align cls_struct_align_fn(
+ cls_struct_align a1,
+ cls_struct_align a2)
+{
+ struct cls_struct_align r;
+
+ r.a = a1.a + a2.a;
+ r.b = a1.b + a2.b;
+ r.c = a1.c + a2.c;
+ r.d = a1.d + a2.d;
+ r.e = a1.e + a2.e;
+ r.f = a1.f + a2.f;
+ r.g = a1.g + a2.g;
+
+ printf("%Lg %Lg %Lg %Lg %Lg %g %Lg %Lg %Lg %Lg %Lg %Lg %g %Lg: "
+ "%Lg %Lg %Lg %Lg %Lg %g %Lg\n",
+ a1.a, a1.b, a1.c, a1.d, a1.e, a1.f, a1.g,
+ a2.a, a2.b, a2.c, a2.d, a2.e, a2.f, a2.g,
+ r.a, r.b, r.c, r.d, r.e, r.f, r.g);
+
+ return r;
+}
+
+static void
+cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct cls_struct_align a1, a2;
+
+ a1 = *(struct cls_struct_align*)(args[0]);
+ a2 = *(struct cls_struct_align*)(args[1]);
+
+ *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[3];
+ ffi_type* cls_struct_fields[8];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[3];
+
+ struct cls_struct_align g_dbl = { 1, 2, 3, 4, 5, 6, 7 };
+ struct cls_struct_align f_dbl = { 8, 9, 10, 11, 12, 13, 14 };
+ struct cls_struct_align res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_longdouble;
+ cls_struct_fields[1] = &ffi_type_longdouble;
+ cls_struct_fields[2] = &ffi_type_longdouble;
+ cls_struct_fields[3] = &ffi_type_longdouble;
+ cls_struct_fields[4] = &ffi_type_longdouble;
+ cls_struct_fields[5] = &ffi_type_double;
+ cls_struct_fields[6] = &ffi_type_longdouble;
+ cls_struct_fields[7] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21" } */
+ printf("res: %Lg %Lg %Lg %Lg %Lg %g %Lg\n", res_dbl.a, res_dbl.b,
+ res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g);
+ /* { dg-output "\nres: 9 11 13 15 17 19 21" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n1 2 3 4 5 6 7 8 9 10 11 12 13 14: 9 11 13 15 17 19 21" } */
+ printf("res: %Lg %Lg %Lg %Lg %Lg %g %Lg\n", res_dbl.a, res_dbl.b,
+ res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g);
+ /* { dg-output "\nres: 9 11 13 15 17 19 21" } */
+
+ exit(0);
+}
+
+
+
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split2/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split2/ya.make
index c01a6e7028..5e40f1ac5e 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split2/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_longdouble_split2/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_align_longdouble_split2.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_align_longdouble_split2.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_pointer.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_pointer.c
index d2ffeb789f..8fbf36a5c1 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_pointer.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_pointer.c
@@ -1,95 +1,95 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure alignment of pointer.
- Limitations: none.
- PR: none.
- Originator: <hos@tamanegi.org> 20031203 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_align {
- unsigned char a;
- void *b;
- unsigned char c;
-} cls_struct_align;
-
-cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
- struct cls_struct_align a2)
-{
- struct cls_struct_align result;
-
- result.a = a1.a + a2.a;
- result.b = (void *)((uintptr_t)a1.b + (uintptr_t)a2.b);
- result.c = a1.c + a2.c;
-
- printf("%d %" PRIuPTR " %d %d %" PRIuPTR " %d: %d %" PRIuPTR " %d\n",
- a1.a, (uintptr_t)a1.b, a1.c,
- a2.a, (uintptr_t)a2.b, a2.c,
- result.a, (uintptr_t)result.b,
- result.c);
-
- return result;
-}
-
-static void
-cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_align a1, a2;
-
- a1 = *(struct cls_struct_align*)(args[0]);
- a2 = *(struct cls_struct_align*)(args[1]);
-
- *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_align g_dbl = { 12, (void *)4951, 127 };
- struct cls_struct_align f_dbl = { 1, (void *)9320, 13 };
- struct cls_struct_align res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_pointer;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
- /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %" PRIuPTR " %d\n", res_dbl.a, (uintptr_t)res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %" PRIuPTR " %d\n", res_dbl.a, (uintptr_t)res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure alignment of pointer.
+ Limitations: none.
+ PR: none.
+ Originator: <hos@tamanegi.org> 20031203 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_align {
+ unsigned char a;
+ void *b;
+ unsigned char c;
+} cls_struct_align;
+
+cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
+ struct cls_struct_align a2)
+{
+ struct cls_struct_align result;
+
+ result.a = a1.a + a2.a;
+ result.b = (void *)((uintptr_t)a1.b + (uintptr_t)a2.b);
+ result.c = a1.c + a2.c;
+
+ printf("%d %" PRIuPTR " %d %d %" PRIuPTR " %d: %d %" PRIuPTR " %d\n",
+ a1.a, (uintptr_t)a1.b, a1.c,
+ a2.a, (uintptr_t)a2.b, a2.c,
+ result.a, (uintptr_t)result.b,
+ result.c);
+
+ return result;
+}
+
+static void
+cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_align a1, a2;
+
+ a1 = *(struct cls_struct_align*)(args[0]);
+ a2 = *(struct cls_struct_align*)(args[1]);
+
+ *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_align g_dbl = { 12, (void *)4951, 127 };
+ struct cls_struct_align f_dbl = { 1, (void *)9320, 13 };
+ struct cls_struct_align res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_pointer;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %" PRIuPTR " %d\n", res_dbl.a, (uintptr_t)res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %" PRIuPTR " %d\n", res_dbl.a, (uintptr_t)res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_pointer/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_pointer/ya.make
index 9431893677..79562122b0 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_pointer/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_pointer/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_align_pointer.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_align_pointer.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint16.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint16.c
index 3c2f19930f..039b874732 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint16.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint16.c
@@ -1,91 +1,91 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure alignment of sint16.
- Limitations: none.
- PR: none.
- Originator: <hos@tamanegi.org> 20031203 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_align {
- unsigned char a;
- signed short b;
- unsigned char c;
-} cls_struct_align;
-
-cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
- struct cls_struct_align a2)
-{
- struct cls_struct_align result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
-
- return result;
-}
-
-static void
-cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_align a1, a2;
-
- a1 = *(struct cls_struct_align*)(args[0]);
- a2 = *(struct cls_struct_align*)(args[1]);
-
- *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_align g_dbl = { 12, 4951, 127 };
- struct cls_struct_align f_dbl = { 1, 9320, 13 };
- struct cls_struct_align res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_sshort;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
- /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure alignment of sint16.
+ Limitations: none.
+ PR: none.
+ Originator: <hos@tamanegi.org> 20031203 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_align {
+ unsigned char a;
+ signed short b;
+ unsigned char c;
+} cls_struct_align;
+
+cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
+ struct cls_struct_align a2)
+{
+ struct cls_struct_align result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
+
+ return result;
+}
+
+static void
+cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_align a1, a2;
+
+ a1 = *(struct cls_struct_align*)(args[0]);
+ a2 = *(struct cls_struct_align*)(args[1]);
+
+ *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_align g_dbl = { 12, 4951, 127 };
+ struct cls_struct_align f_dbl = { 1, 9320, 13 };
+ struct cls_struct_align res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_sshort;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint16/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint16/ya.make
index f7a08681c9..964d524014 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint16/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint16/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_align_sint16.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_align_sint16.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint32.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint32.c
index 47eb44b6ea..c96c6d136d 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint32.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint32.c
@@ -1,91 +1,91 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure alignment of sint32.
- Limitations: none.
- PR: none.
- Originator: <hos@tamanegi.org> 20031203 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_align {
- unsigned char a;
- signed int b;
- unsigned char c;
-} cls_struct_align;
-
-cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
- struct cls_struct_align a2)
-{
- struct cls_struct_align result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
-
- return result;
-}
-
-static void
-cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_align a1, a2;
-
- a1 = *(struct cls_struct_align*)(args[0]);
- a2 = *(struct cls_struct_align*)(args[1]);
-
- *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_align g_dbl = { 12, 4951, 127 };
- struct cls_struct_align f_dbl = { 1, 9320, 13 };
- struct cls_struct_align res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_sint;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
- /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure alignment of sint32.
+ Limitations: none.
+ PR: none.
+ Originator: <hos@tamanegi.org> 20031203 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_align {
+ unsigned char a;
+ signed int b;
+ unsigned char c;
+} cls_struct_align;
+
+cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
+ struct cls_struct_align a2)
+{
+ struct cls_struct_align result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
+
+ return result;
+}
+
+static void
+cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_align a1, a2;
+
+ a1 = *(struct cls_struct_align*)(args[0]);
+ a2 = *(struct cls_struct_align*)(args[1]);
+
+ *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_align g_dbl = { 12, 4951, 127 };
+ struct cls_struct_align f_dbl = { 1, 9320, 13 };
+ struct cls_struct_align res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_sint;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint32/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint32/ya.make
index 0a1f5be07f..b7379245f6 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint32/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint32/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_align_sint32.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_align_sint32.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint64.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint64.c
index cabc2a8731..9aa7bdddff 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint64.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint64.c
@@ -1,92 +1,92 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure alignment of sint64.
- Limitations: none.
- PR: none.
- Originator: <hos@tamanegi.org> 20031203 */
-
-/* { dg-do run } */
-/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
-#include "ffitest.h"
-
-typedef struct cls_struct_align {
- unsigned char a;
- signed long long b;
- unsigned char c;
-} cls_struct_align;
-
-cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
- struct cls_struct_align a2)
-{
- struct cls_struct_align result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%d %" PRIdLL " %d %d %" PRIdLL " %d: %d %" PRIdLL " %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
-
- return result;
-}
-
-static void
-cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_align a1, a2;
-
- a1 = *(struct cls_struct_align*)(args[0]);
- a2 = *(struct cls_struct_align*)(args[1]);
-
- *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_align g_dbl = { 12, 4951, 127 };
- struct cls_struct_align f_dbl = { 1, 9320, 13 };
- struct cls_struct_align res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_sint64;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
- /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %" PRIdLL " %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %" PRIdLL " %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure alignment of sint64.
+ Limitations: none.
+ PR: none.
+ Originator: <hos@tamanegi.org> 20031203 */
+
+/* { dg-do run } */
+/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
+#include "ffitest.h"
+
+typedef struct cls_struct_align {
+ unsigned char a;
+ signed long long b;
+ unsigned char c;
+} cls_struct_align;
+
+cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
+ struct cls_struct_align a2)
+{
+ struct cls_struct_align result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%d %" PRIdLL " %d %d %" PRIdLL " %d: %d %" PRIdLL " %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
+
+ return result;
+}
+
+static void
+cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_align a1, a2;
+
+ a1 = *(struct cls_struct_align*)(args[0]);
+ a2 = *(struct cls_struct_align*)(args[1]);
+
+ *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_align g_dbl = { 12, 4951, 127 };
+ struct cls_struct_align f_dbl = { 1, 9320, 13 };
+ struct cls_struct_align res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_sint64;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %" PRIdLL " %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %" PRIdLL " %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint64/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint64/ya.make
index 36e6e6dec7..35248e167f 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint64/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_sint64/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_align_sint64.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_align_sint64.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint16.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint16.c
index 93d95fd07c..97620b79d1 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint16.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint16.c
@@ -1,91 +1,91 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure alignment of uint16.
- Limitations: none.
- PR: none.
- Originator: <hos@tamanegi.org> 20031203 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_align {
- unsigned char a;
- unsigned short b;
- unsigned char c;
-} cls_struct_align;
-
-cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
- struct cls_struct_align a2)
-{
- struct cls_struct_align result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
-
- return result;
-}
-
-static void
-cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_align a1, a2;
-
- a1 = *(struct cls_struct_align*)(args[0]);
- a2 = *(struct cls_struct_align*)(args[1]);
-
- *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_align g_dbl = { 12, 4951, 127 };
- struct cls_struct_align f_dbl = { 1, 9320, 13 };
- struct cls_struct_align res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_ushort;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
- /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure alignment of uint16.
+ Limitations: none.
+ PR: none.
+ Originator: <hos@tamanegi.org> 20031203 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_align {
+ unsigned char a;
+ unsigned short b;
+ unsigned char c;
+} cls_struct_align;
+
+cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
+ struct cls_struct_align a2)
+{
+ struct cls_struct_align result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
+
+ return result;
+}
+
+static void
+cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_align a1, a2;
+
+ a1 = *(struct cls_struct_align*)(args[0]);
+ a2 = *(struct cls_struct_align*)(args[1]);
+
+ *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_align g_dbl = { 12, 4951, 127 };
+ struct cls_struct_align f_dbl = { 1, 9320, 13 };
+ struct cls_struct_align res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_ushort;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint16/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint16/ya.make
index a692713122..e0da652591 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint16/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint16/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_align_uint16.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_align_uint16.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint32.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint32.c
index aab42e1d2f..5766fadf0d 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint32.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint32.c
@@ -1,91 +1,91 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure alignment of uint32.
- Limitations: none.
- PR: none.
- Originator: <hos@tamanegi.org> 20031203 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_align {
- unsigned char a;
- unsigned int b;
- unsigned char c;
-} cls_struct_align;
-
-cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
- struct cls_struct_align a2)
-{
- struct cls_struct_align result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
-
- return result;
-}
-
-static void
-cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_align a1, a2;
-
- a1 = *(struct cls_struct_align*)(args[0]);
- a2 = *(struct cls_struct_align*)(args[1]);
-
- *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_align g_dbl = { 12, 4951, 127 };
- struct cls_struct_align f_dbl = { 1, 9320, 13 };
- struct cls_struct_align res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_uint;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
- /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure alignment of uint32.
+ Limitations: none.
+ PR: none.
+ Originator: <hos@tamanegi.org> 20031203 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_align {
+ unsigned char a;
+ unsigned int b;
+ unsigned char c;
+} cls_struct_align;
+
+cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
+ struct cls_struct_align a2)
+{
+ struct cls_struct_align result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%d %d %d %d %d %d: %d %d %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
+
+ return result;
+}
+
+static void
+cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_align a1, a2;
+
+ a1 = *(struct cls_struct_align*)(args[0]);
+ a2 = *(struct cls_struct_align*)(args[1]);
+
+ *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_align g_dbl = { 12, 4951, 127 };
+ struct cls_struct_align f_dbl = { 1, 9320, 13 };
+ struct cls_struct_align res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_uint;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %d %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint32/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint32/ya.make
index e6ce8d14c4..0087a7b596 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint32/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint32/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_align_uint32.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_align_uint32.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint64.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint64.c
index aed7157b03..a52cb8939c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint64.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint64.c
@@ -1,93 +1,93 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure alignment of uint64.
- Limitations: none.
- PR: none.
- Originator: <hos@tamanegi.org> 20031203 */
-
-
-/* { dg-do run } */
-/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
-#include "ffitest.h"
-
-typedef struct cls_struct_align {
- unsigned char a;
- unsigned long long b;
- unsigned char c;
-} cls_struct_align;
-
-cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
- struct cls_struct_align a2)
-{
- struct cls_struct_align result;
-
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
- printf("%d %" PRIdLL " %d %d %" PRIdLL " %d: %d %" PRIdLL " %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
-
- return result;
-}
-
-static void
-cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
-
- struct cls_struct_align a1, a2;
-
- a1 = *(struct cls_struct_align*)(args[0]);
- a2 = *(struct cls_struct_align*)(args[1]);
-
- *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[4];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_align g_dbl = { 12, 4951, 127 };
- struct cls_struct_align f_dbl = { 1, 9320, 13 };
- struct cls_struct_align res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_uint64;
- cls_struct_fields[2] = &ffi_type_uchar;
- cls_struct_fields[3] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &g_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
- /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %" PRIdLL " %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
- /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
- printf("res: %d %" PRIdLL " %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
- /* { dg-output "\nres: 13 14271 140" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure alignment of uint64.
+ Limitations: none.
+ PR: none.
+ Originator: <hos@tamanegi.org> 20031203 */
+
+
+/* { dg-do run } */
+/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
+#include "ffitest.h"
+
+typedef struct cls_struct_align {
+ unsigned char a;
+ unsigned long long b;
+ unsigned char c;
+} cls_struct_align;
+
+cls_struct_align cls_struct_align_fn(struct cls_struct_align a1,
+ struct cls_struct_align a2)
+{
+ struct cls_struct_align result;
+
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+ printf("%d %" PRIdLL " %d %d %" PRIdLL " %d: %d %" PRIdLL " %d\n", a1.a, a1.b, a1.c, a2.a, a2.b, a2.c, result.a, result.b, result.c);
+
+ return result;
+}
+
+static void
+cls_struct_align_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+
+ struct cls_struct_align a1, a2;
+
+ a1 = *(struct cls_struct_align*)(args[0]);
+ a2 = *(struct cls_struct_align*)(args[1]);
+
+ *(cls_struct_align*)resp = cls_struct_align_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[4];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_align g_dbl = { 12, 4951, 127 };
+ struct cls_struct_align f_dbl = { 1, 9320, 13 };
+ struct cls_struct_align res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_uint64;
+ cls_struct_fields[2] = &ffi_type_uchar;
+ cls_struct_fields[3] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &g_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_align_fn), &res_dbl, args_dbl);
+ /* { dg-output "12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %" PRIdLL " %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_align_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_align(*)(cls_struct_align, cls_struct_align))(code))(g_dbl, f_dbl);
+ /* { dg-output "\n12 4951 127 1 9320 13: 13 14271 140" } */
+ printf("res: %d %" PRIdLL " %d\n", res_dbl.a, res_dbl.b, res_dbl.c);
+ /* { dg-output "\nres: 13 14271 140" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint64/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint64/ya.make
index 5a000498c1..59b66b1e4b 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint64/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_align_uint64/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_align_uint64.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_align_uint64.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_dbls_struct.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_dbls_struct.c
index 6e6a04308d..e451dea51b 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_dbls_struct.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_dbls_struct.c
@@ -1,66 +1,66 @@
-/* Area: ffi_call, closure_call
- Purpose: Check double arguments in structs.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/23/2007 */
-
-/* { dg-do run } */
-
-#include "ffitest.h"
-
-typedef struct Dbls {
- double x;
- double y;
-} Dbls;
-
-void
-closure_test_fn(Dbls p)
-{
- printf("%.1f %.1f\n", p.x, p.y);
-}
-
-void
-closure_test_gn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__,
- void** args, void* userdata __UNUSED__)
-{
- closure_test_fn(*(Dbls*)args[0]);
-}
-
-int main(int argc __UNUSED__, char** argv __UNUSED__)
-{
- ffi_cif cif;
-
- void *code;
- ffi_closure* pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type* cl_arg_types[1];
-
- ffi_type ts1_type;
- ffi_type* ts1_type_elements[4];
-
- Dbls arg = { 1.0, 2.0 };
-
- 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_double;
- ts1_type_elements[1] = &ffi_type_double;
- ts1_type_elements[2] = NULL;
-
- cl_arg_types[0] = &ts1_type;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_void, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_gn, NULL, code) == FFI_OK);
-
- ((void*(*)(Dbls))(code))(arg);
- /* { dg-output "1.0 2.0" } */
-
- closure_test_fn(arg);
- /* { dg-output "\n1.0 2.0" } */
-
- return 0;
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check double arguments in structs.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/23/2007 */
+
+/* { dg-do run } */
+
+#include "ffitest.h"
+
+typedef struct Dbls {
+ double x;
+ double y;
+} Dbls;
+
+void
+closure_test_fn(Dbls p)
+{
+ printf("%.1f %.1f\n", p.x, p.y);
+}
+
+void
+closure_test_gn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__,
+ void** args, void* userdata __UNUSED__)
+{
+ closure_test_fn(*(Dbls*)args[0]);
+}
+
+int main(int argc __UNUSED__, char** argv __UNUSED__)
+{
+ ffi_cif cif;
+
+ void *code;
+ ffi_closure* pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type* cl_arg_types[1];
+
+ ffi_type ts1_type;
+ ffi_type* ts1_type_elements[4];
+
+ Dbls arg = { 1.0, 2.0 };
+
+ 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_double;
+ ts1_type_elements[1] = &ffi_type_double;
+ ts1_type_elements[2] = NULL;
+
+ cl_arg_types[0] = &ts1_type;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
+ &ffi_type_void, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, closure_test_gn, NULL, code) == FFI_OK);
+
+ ((void*(*)(Dbls))(code))(arg);
+ /* { dg-output "1.0 2.0" } */
+
+ closure_test_fn(arg);
+ /* { dg-output "\n1.0 2.0" } */
+
+ return 0;
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_dbls_struct/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_dbls_struct/ya.make
index db2b3b5c0c..2aa4e316fe 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_dbls_struct/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_dbls_struct/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_dbls_struct.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_dbls_struct.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_double.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_double.c
index 644af78dfa..84ad4cb7d9 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_double.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_double.c
@@ -1,43 +1,43 @@
-/* Area: closure_call
- Purpose: Check return value double.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void cls_ret_double_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
- {
- *(double *)resp = *(double *)args[0];
-
- printf("%f: %f\n",*(double *)args[0],
- *(double *)resp);
- }
-typedef double (*cls_ret_double)(double);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[2];
- double res;
-
- cl_arg_types[0] = &ffi_type_double;
- cl_arg_types[1] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_double, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_double_fn, NULL, code) == FFI_OK);
-
- res = (*((cls_ret_double)code))(21474.789);
- /* { dg-output "21474.789000: 21474.789000" } */
- printf("res: %.6f\n", res);
- /* { dg-output "\nres: 21474.789000" } */
-
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check return value double.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void cls_ret_double_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+ {
+ *(double *)resp = *(double *)args[0];
+
+ printf("%f: %f\n",*(double *)args[0],
+ *(double *)resp);
+ }
+typedef double (*cls_ret_double)(double);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[2];
+ double res;
+
+ cl_arg_types[0] = &ffi_type_double;
+ cl_arg_types[1] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
+ &ffi_type_double, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_double_fn, NULL, code) == FFI_OK);
+
+ res = (*((cls_ret_double)code))(21474.789);
+ /* { dg-output "21474.789000: 21474.789000" } */
+ printf("res: %.6f\n", res);
+ /* { dg-output "\nres: 21474.789000" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_double/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_double/ya.make
index 39e64d8b9b..d150f7d354 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_double/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_double/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_double.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_double.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_double_va.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_double_va.c
index 6a45477444..e077f92b86 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_double_va.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_double_va.c
@@ -1,61 +1,61 @@
-/* Area: ffi_call, closure_call
- Purpose: Test doubles passed in variable argument lists.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/6/2007 */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-/* { dg-output "" { xfail avr32*-*-* } } */
-/* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */
-
-#include "ffitest.h"
-
-static void
-cls_double_va_fn(ffi_cif* cif __UNUSED__, void* resp,
- void** args, void* userdata __UNUSED__)
-{
- char* format = *(char**)args[0];
- double doubleValue = *(double*)args[1];
-
- *(ffi_arg*)resp = printf(format, doubleValue);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args[3];
- ffi_type* arg_types[3];
-
- char* format = "%.1f\n";
- double doubleArg = 7;
- ffi_arg res = 0;
-
- arg_types[0] = &ffi_type_pointer;
- arg_types[1] = &ffi_type_double;
- arg_types[2] = NULL;
-
- /* This printf call is variadic */
- CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2, &ffi_type_sint,
- arg_types) == FFI_OK);
-
- args[0] = &format;
- args[1] = &doubleArg;
- args[2] = NULL;
-
- ffi_call(&cif, FFI_FN(printf), &res, args);
- /* { dg-output "7.0" } */
- printf("res: %d\n", (int) res);
- /* { dg-output "\nres: 4" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_double_va_fn, NULL,
- code) == FFI_OK);
-
- res = ((int(*)(char*, ...))(code))(format, doubleArg);
- /* { dg-output "\n7.0" } */
- printf("res: %d\n", (int) res);
- /* { dg-output "\nres: 4" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Test doubles passed in variable argument lists.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/6/2007 */
+
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+/* { dg-output "" { xfail avr32*-*-* } } */
+/* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */
+
+#include "ffitest.h"
+
+static void
+cls_double_va_fn(ffi_cif* cif __UNUSED__, void* resp,
+ void** args, void* userdata __UNUSED__)
+{
+ char* format = *(char**)args[0];
+ double doubleValue = *(double*)args[1];
+
+ *(ffi_arg*)resp = printf(format, doubleValue);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args[3];
+ ffi_type* arg_types[3];
+
+ char* format = "%.1f\n";
+ double doubleArg = 7;
+ ffi_arg res = 0;
+
+ arg_types[0] = &ffi_type_pointer;
+ arg_types[1] = &ffi_type_double;
+ arg_types[2] = NULL;
+
+ /* This printf call is variadic */
+ CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2, &ffi_type_sint,
+ arg_types) == FFI_OK);
+
+ args[0] = &format;
+ args[1] = &doubleArg;
+ args[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(printf), &res, args);
+ /* { dg-output "7.0" } */
+ printf("res: %d\n", (int) res);
+ /* { dg-output "\nres: 4" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_double_va_fn, NULL,
+ code) == FFI_OK);
+
+ res = ((int(*)(char*, ...))(code))(format, doubleArg);
+ /* { dg-output "\n7.0" } */
+ printf("res: %d\n", (int) res);
+ /* { dg-output "\nres: 4" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_double_va/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_double_va/ya.make
index d02d9e56ea..a93d647f2b 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_double_va/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_double_va/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_double_va.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_double_va.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_float.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_float.c
index acc27002e8..0090fed906 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_float.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_float.c
@@ -1,42 +1,42 @@
-/* Area: closure_call
- Purpose: Check return value float.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void cls_ret_float_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
- {
- *(float *)resp = *(float *)args[0];
-
- printf("%g: %g\n",*(float *)args[0],
- *(float *)resp);
- }
-
-typedef float (*cls_ret_float)(float);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[2];
- float res;
-
- cl_arg_types[0] = &ffi_type_float;
- cl_arg_types[1] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_float, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_float_fn, NULL, code) == FFI_OK);
- res = ((((cls_ret_float)code)(-2122.12)));
- /* { dg-output "\\-2122.12: \\-2122.12" } */
- printf("res: %.6f\n", res);
- /* { dg-output "\nres: \-2122.120117" } */
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check return value float.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void cls_ret_float_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+ {
+ *(float *)resp = *(float *)args[0];
+
+ printf("%g: %g\n",*(float *)args[0],
+ *(float *)resp);
+ }
+
+typedef float (*cls_ret_float)(float);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[2];
+ float res;
+
+ cl_arg_types[0] = &ffi_type_float;
+ cl_arg_types[1] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
+ &ffi_type_float, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_float_fn, NULL, code) == FFI_OK);
+ res = ((((cls_ret_float)code)(-2122.12)));
+ /* { dg-output "\\-2122.12: \\-2122.12" } */
+ printf("res: %.6f\n", res);
+ /* { dg-output "\nres: \-2122.120117" } */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_float/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_float/ya.make
index 4ce58a83a4..e1a176dc73 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_float/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_float/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_float.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_float.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble.c
index 2bb92cd883..d24e72e4ae 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble.c
@@ -1,105 +1,105 @@
-/* Area: ffi_call, closure_call
- Purpose: Check long double arguments.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin */
-
-/* This test is known to PASS on armv7l-unknown-linux-gnueabihf, so I have
- remove the xfail for arm*-*-* below, until we know more. */
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
-
-#include "ffitest.h"
-
-long double cls_ldouble_fn(
- long double a1,
- long double a2,
- long double a3,
- long double a4,
- long double a5,
- long double a6,
- long double a7,
- long double a8)
-{
- long double r = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8;
-
- printf("%Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg: %Lg\n",
- a1, a2, a3, a4, a5, a6, a7, a8, r);
-
- return r;
-}
-
-static void
-cls_ldouble_gn(ffi_cif* cif __UNUSED__, void* resp,
- void** args, void* userdata __UNUSED__)
-{
- long double a1 = *(long double*)args[0];
- long double a2 = *(long double*)args[1];
- long double a3 = *(long double*)args[2];
- long double a4 = *(long double*)args[3];
- long double a5 = *(long double*)args[4];
- long double a6 = *(long double*)args[5];
- long double a7 = *(long double*)args[6];
- long double a8 = *(long double*)args[7];
-
- *(long double*)resp = cls_ldouble_fn(
- a1, a2, a3, a4, a5, a6, a7, a8);
-}
-
-int main(void)
-{
- ffi_cif cif;
- void* code;
- ffi_closure* pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args[9];
- ffi_type* arg_types[9];
- long double res = 0;
-
- long double arg1 = 1;
- long double arg2 = 2;
- long double arg3 = 3;
- long double arg4 = 4;
- long double arg5 = 5;
- long double arg6 = 6;
- long double arg7 = 7;
- long double arg8 = 8;
-
- arg_types[0] = &ffi_type_longdouble;
- arg_types[1] = &ffi_type_longdouble;
- arg_types[2] = &ffi_type_longdouble;
- arg_types[3] = &ffi_type_longdouble;
- arg_types[4] = &ffi_type_longdouble;
- arg_types[5] = &ffi_type_longdouble;
- arg_types[6] = &ffi_type_longdouble;
- arg_types[7] = &ffi_type_longdouble;
- arg_types[8] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 8, &ffi_type_longdouble,
- arg_types) == FFI_OK);
-
- args[0] = &arg1;
- args[1] = &arg2;
- args[2] = &arg3;
- args[3] = &arg4;
- args[4] = &arg5;
- args[5] = &arg6;
- args[6] = &arg7;
- args[7] = &arg8;
- args[8] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_ldouble_fn), &res, args);
- /* { dg-output "1 2 3 4 5 6 7 8: 36" } */
- printf("res: %Lg\n", res);
- /* { dg-output "\nres: 36" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ldouble_gn, NULL, code) == FFI_OK);
-
- res = ((long double(*)(long double, long double, long double, long double,
- long double, long double, long double, long double))(code))(arg1, arg2,
- arg3, arg4, arg5, arg6, arg7, arg8);
- /* { dg-output "\n1 2 3 4 5 6 7 8: 36" } */
- printf("res: %Lg\n", res);
- /* { dg-output "\nres: 36" } */
-
- return 0;
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check long double arguments.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin */
+
+/* This test is known to PASS on armv7l-unknown-linux-gnueabihf, so I have
+ remove the xfail for arm*-*-* below, until we know more. */
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
+
+#include "ffitest.h"
+
+long double cls_ldouble_fn(
+ long double a1,
+ long double a2,
+ long double a3,
+ long double a4,
+ long double a5,
+ long double a6,
+ long double a7,
+ long double a8)
+{
+ long double r = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8;
+
+ printf("%Lg %Lg %Lg %Lg %Lg %Lg %Lg %Lg: %Lg\n",
+ a1, a2, a3, a4, a5, a6, a7, a8, r);
+
+ return r;
+}
+
+static void
+cls_ldouble_gn(ffi_cif* cif __UNUSED__, void* resp,
+ void** args, void* userdata __UNUSED__)
+{
+ long double a1 = *(long double*)args[0];
+ long double a2 = *(long double*)args[1];
+ long double a3 = *(long double*)args[2];
+ long double a4 = *(long double*)args[3];
+ long double a5 = *(long double*)args[4];
+ long double a6 = *(long double*)args[5];
+ long double a7 = *(long double*)args[6];
+ long double a8 = *(long double*)args[7];
+
+ *(long double*)resp = cls_ldouble_fn(
+ a1, a2, a3, a4, a5, a6, a7, a8);
+}
+
+int main(void)
+{
+ ffi_cif cif;
+ void* code;
+ ffi_closure* pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args[9];
+ ffi_type* arg_types[9];
+ long double res = 0;
+
+ long double arg1 = 1;
+ long double arg2 = 2;
+ long double arg3 = 3;
+ long double arg4 = 4;
+ long double arg5 = 5;
+ long double arg6 = 6;
+ long double arg7 = 7;
+ long double arg8 = 8;
+
+ arg_types[0] = &ffi_type_longdouble;
+ arg_types[1] = &ffi_type_longdouble;
+ arg_types[2] = &ffi_type_longdouble;
+ arg_types[3] = &ffi_type_longdouble;
+ arg_types[4] = &ffi_type_longdouble;
+ arg_types[5] = &ffi_type_longdouble;
+ arg_types[6] = &ffi_type_longdouble;
+ arg_types[7] = &ffi_type_longdouble;
+ arg_types[8] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 8, &ffi_type_longdouble,
+ arg_types) == FFI_OK);
+
+ args[0] = &arg1;
+ args[1] = &arg2;
+ args[2] = &arg3;
+ args[3] = &arg4;
+ args[4] = &arg5;
+ args[5] = &arg6;
+ args[6] = &arg7;
+ args[7] = &arg8;
+ args[8] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_ldouble_fn), &res, args);
+ /* { dg-output "1 2 3 4 5 6 7 8: 36" } */
+ printf("res: %Lg\n", res);
+ /* { dg-output "\nres: 36" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ldouble_gn, NULL, code) == FFI_OK);
+
+ res = ((long double(*)(long double, long double, long double, long double,
+ long double, long double, long double, long double))(code))(arg1, arg2,
+ arg3, arg4, arg5, arg6, arg7, arg8);
+ /* { dg-output "\n1 2 3 4 5 6 7 8: 36" } */
+ printf("res: %Lg\n", res);
+ /* { dg-output "\nres: 36" } */
+
+ return 0;
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble/ya.make
index 995909653d..e7bb2a3cb6 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_longdouble.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_longdouble.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble_va.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble_va.c
index 0ca9020272..39b438b289 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble_va.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble_va.c
@@ -1,61 +1,61 @@
-/* Area: ffi_call, closure_call
- Purpose: Test long doubles passed in variable argument lists.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/6/2007 */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-/* { dg-output "" { xfail avr32*-*-* x86_64-*-mingw* } } */
-/* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */
-
-#include "ffitest.h"
-
-static void
-cls_longdouble_va_fn(ffi_cif* cif __UNUSED__, void* resp,
- void** args, void* userdata __UNUSED__)
-{
- char* format = *(char**)args[0];
- long double ldValue = *(long double*)args[1];
-
- *(ffi_arg*)resp = printf(format, ldValue);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args[3];
- ffi_type* arg_types[3];
-
- char* format = "%.1Lf\n";
- long double ldArg = 7;
- ffi_arg res = 0;
-
- arg_types[0] = &ffi_type_pointer;
- arg_types[1] = &ffi_type_longdouble;
- arg_types[2] = NULL;
-
- /* This printf call is variadic */
- CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2, &ffi_type_sint,
- arg_types) == FFI_OK);
-
- args[0] = &format;
- args[1] = &ldArg;
- args[2] = NULL;
-
- ffi_call(&cif, FFI_FN(printf), &res, args);
- /* { dg-output "7.0" } */
- printf("res: %d\n", (int) res);
- /* { dg-output "\nres: 4" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_longdouble_va_fn, NULL,
- code) == FFI_OK);
-
- res = ((int(*)(char*, ...))(code))(format, ldArg);
- /* { dg-output "\n7.0" } */
- printf("res: %d\n", (int) res);
- /* { dg-output "\nres: 4" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Test long doubles passed in variable argument lists.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/6/2007 */
+
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+/* { dg-output "" { xfail avr32*-*-* x86_64-*-mingw* } } */
+/* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */
+
+#include "ffitest.h"
+
+static void
+cls_longdouble_va_fn(ffi_cif* cif __UNUSED__, void* resp,
+ void** args, void* userdata __UNUSED__)
+{
+ char* format = *(char**)args[0];
+ long double ldValue = *(long double*)args[1];
+
+ *(ffi_arg*)resp = printf(format, ldValue);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args[3];
+ ffi_type* arg_types[3];
+
+ char* format = "%.1Lf\n";
+ long double ldArg = 7;
+ ffi_arg res = 0;
+
+ arg_types[0] = &ffi_type_pointer;
+ arg_types[1] = &ffi_type_longdouble;
+ arg_types[2] = NULL;
+
+ /* This printf call is variadic */
+ CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2, &ffi_type_sint,
+ arg_types) == FFI_OK);
+
+ args[0] = &format;
+ args[1] = &ldArg;
+ args[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(printf), &res, args);
+ /* { dg-output "7.0" } */
+ printf("res: %d\n", (int) res);
+ /* { dg-output "\nres: 4" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_longdouble_va_fn, NULL,
+ code) == FFI_OK);
+
+ res = ((int(*)(char*, ...))(code))(format, ldArg);
+ /* { dg-output "\n7.0" } */
+ printf("res: %d\n", (int) res);
+ /* { dg-output "\nres: 4" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble_va/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble_va/ya.make
index d6d5526e6e..37f5b08c07 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble_va/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_longdouble_va/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_longdouble_va.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_longdouble_va.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_args.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_args.c
index 4fbc0c3d65..7fd6c8207a 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_args.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_args.c
@@ -1,70 +1,70 @@
-/* Area: closure_call
- Purpose: Check closures called with many args of mixed types
- Limitations: none.
- PR: none.
- Originator: <david.schneider@picle.org> */
-
-/* { dg-do run } */
-#include "ffitest.h"
-#include <float.h>
-#include <math.h>
-
-#define NARGS 16
-
-static void cls_ret_double_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- int i;
- double r = 0;
- double t;
- for(i = 0; i < NARGS; i++)
- {
- if(i == 4 || i == 9 || i == 11 || i == 13 || i == 15)
- {
- t = *(long int *)args[i];
- CHECK(t == i+1);
- }
- else
- {
- t = *(double *)args[i];
- CHECK(fabs(t - ((i+1) * 0.1)) < FLT_EPSILON);
- }
- r += t;
- }
- *(double *)resp = r;
-}
-typedef double (*cls_ret_double)(double, double, double, double, long int,
-double, double, double, double, long int, double, long int, double, long int,
-double, long int);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[NARGS];
- double res;
- int i;
- double expected = 64.9;
-
- for(i = 0; i < NARGS; i++)
- {
- if(i == 4 || i == 9 || i == 11 || i == 13 || i == 15)
- cl_arg_types[i] = &ffi_type_slong;
- else
- cl_arg_types[i] = &ffi_type_double;
- }
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, NARGS,
- &ffi_type_double, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_double_fn, NULL, code) == FFI_OK);
-
- res = (((cls_ret_double)code))(0.1, 0.2, 0.3, 0.4, 5, 0.6, 0.7, 0.8, 0.9, 10,
- 1.1, 12, 1.3, 14, 1.5, 16);
- if (fabs(res - expected) < FLT_EPSILON)
- exit(0);
- else
- abort();
-}
+/* Area: closure_call
+ Purpose: Check closures called with many args of mixed types
+ Limitations: none.
+ PR: none.
+ Originator: <david.schneider@picle.org> */
+
+/* { dg-do run } */
+#include "ffitest.h"
+#include <float.h>
+#include <math.h>
+
+#define NARGS 16
+
+static void cls_ret_double_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ int i;
+ double r = 0;
+ double t;
+ for(i = 0; i < NARGS; i++)
+ {
+ if(i == 4 || i == 9 || i == 11 || i == 13 || i == 15)
+ {
+ t = *(long int *)args[i];
+ CHECK(t == i+1);
+ }
+ else
+ {
+ t = *(double *)args[i];
+ CHECK(fabs(t - ((i+1) * 0.1)) < FLT_EPSILON);
+ }
+ r += t;
+ }
+ *(double *)resp = r;
+}
+typedef double (*cls_ret_double)(double, double, double, double, long int,
+double, double, double, double, long int, double, long int, double, long int,
+double, long int);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[NARGS];
+ double res;
+ int i;
+ double expected = 64.9;
+
+ for(i = 0; i < NARGS; i++)
+ {
+ if(i == 4 || i == 9 || i == 11 || i == 13 || i == 15)
+ cl_arg_types[i] = &ffi_type_slong;
+ else
+ cl_arg_types[i] = &ffi_type_double;
+ }
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, NARGS,
+ &ffi_type_double, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_double_fn, NULL, code) == FFI_OK);
+
+ res = (((cls_ret_double)code))(0.1, 0.2, 0.3, 0.4, 5, 0.6, 0.7, 0.8, 0.9, 10,
+ 1.1, 12, 1.3, 14, 1.5, 16);
+ if (fabs(res - expected) < FLT_EPSILON)
+ exit(0);
+ else
+ abort();
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_args/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_args/ya.make
index 9b0cf363b9..25965bfc44 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_args/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_args/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_many_mixed_args.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_many_mixed_args.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_float_double.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_float_double.c
index d0720d8a01..62b0697ac0 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_float_double.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_float_double.c
@@ -1,55 +1,55 @@
-/* Area: closure_call
- Purpose: Check register allocation for closure calls with many float and double arguments
- Limitations: none.
- PR: none.
- Originator: <david.schneider@picle.org> */
-
-/* { dg-do run } */
-#include "ffitest.h"
-#include <float.h>
-#include <math.h>
-
-#define NARGS 16
-
-static void cls_mixed_float_double_fn(ffi_cif* cif , void* ret, void** args,
- void* userdata __UNUSED__)
-{
- double r = 0;
- unsigned int i;
- double t;
- for(i=0; i < cif->nargs; i++)
- {
- if(cif->arg_types[i] == &ffi_type_double) {
- t = *(((double**)(args))[i]);
- } else {
- t = *(((float**)(args))[i]);
- }
- r += t;
- }
- *((double*)ret) = r;
-}
-typedef double (*cls_mixed)(double, float, double, double, double, double, double, float, float, double, float, float);
-
-int main (void)
-{
- ffi_cif cif;
- ffi_closure *closure;
- void* code;
- ffi_type *argtypes[12] = {&ffi_type_double, &ffi_type_float, &ffi_type_double,
- &ffi_type_double, &ffi_type_double, &ffi_type_double,
- &ffi_type_double, &ffi_type_float, &ffi_type_float,
- &ffi_type_double, &ffi_type_float, &ffi_type_float};
-
-
- closure = ffi_closure_alloc(sizeof(ffi_closure), (void**)&code);
- if(closure ==NULL)
- abort();
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 12, &ffi_type_double, argtypes) == FFI_OK);
- CHECK(ffi_prep_closure_loc(closure, &cif, cls_mixed_float_double_fn, NULL, code) == FFI_OK);
- double ret = ((cls_mixed)code)(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2);
- ffi_closure_free(closure);
- if(fabs(ret - 7.8) < FLT_EPSILON)
- exit(0);
- else
- abort();
-}
+/* Area: closure_call
+ Purpose: Check register allocation for closure calls with many float and double arguments
+ Limitations: none.
+ PR: none.
+ Originator: <david.schneider@picle.org> */
+
+/* { dg-do run } */
+#include "ffitest.h"
+#include <float.h>
+#include <math.h>
+
+#define NARGS 16
+
+static void cls_mixed_float_double_fn(ffi_cif* cif , void* ret, void** args,
+ void* userdata __UNUSED__)
+{
+ double r = 0;
+ unsigned int i;
+ double t;
+ for(i=0; i < cif->nargs; i++)
+ {
+ if(cif->arg_types[i] == &ffi_type_double) {
+ t = *(((double**)(args))[i]);
+ } else {
+ t = *(((float**)(args))[i]);
+ }
+ r += t;
+ }
+ *((double*)ret) = r;
+}
+typedef double (*cls_mixed)(double, float, double, double, double, double, double, float, float, double, float, float);
+
+int main (void)
+{
+ ffi_cif cif;
+ ffi_closure *closure;
+ void* code;
+ ffi_type *argtypes[12] = {&ffi_type_double, &ffi_type_float, &ffi_type_double,
+ &ffi_type_double, &ffi_type_double, &ffi_type_double,
+ &ffi_type_double, &ffi_type_float, &ffi_type_float,
+ &ffi_type_double, &ffi_type_float, &ffi_type_float};
+
+
+ closure = ffi_closure_alloc(sizeof(ffi_closure), (void**)&code);
+ if(closure ==NULL)
+ abort();
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 12, &ffi_type_double, argtypes) == FFI_OK);
+ CHECK(ffi_prep_closure_loc(closure, &cif, cls_mixed_float_double_fn, NULL, code) == FFI_OK);
+ double ret = ((cls_mixed)code)(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2);
+ ffi_closure_free(closure);
+ if(fabs(ret - 7.8) < FLT_EPSILON)
+ exit(0);
+ else
+ abort();
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_float_double/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_float_double/ya.make
index 08762e4eac..00425d4d8b 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_float_double/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_many_mixed_float_double/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_many_mixed_float_double.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_many_mixed_float_double.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_schar.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_schar.c
index ffc05239f5..71df7b6516 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_schar.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_schar.c
@@ -1,74 +1,74 @@
-/* Area: ffi_call, closure_call
- Purpose: Check passing of multiple signed char values.
- Limitations: none.
- PR: PR13221.
- Originator: <hos@tamanegi.org> 20031129 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-signed char test_func_fn(signed char a1, signed char a2)
-{
- signed char result;
-
- result = a1 + a2;
-
- printf("%d %d: %d\n", a1, a2, result);
-
- return result;
-
-}
-
-static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals,
- void *data __UNUSED__)
-{
- signed char a1, a2;
-
- a1 = *(signed char *)avals[0];
- a2 = *(signed char *)avals[1];
-
- *(ffi_arg *)rval = test_func_fn(a1, a2);
-
-}
-
-typedef signed char (*test_type)(signed char, signed char);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void * args_dbl[3];
- ffi_type * cl_arg_types[3];
- ffi_arg res_call;
- signed char a, b, res_closure;
-
- a = 2;
- b = 125;
-
- args_dbl[0] = &a;
- args_dbl[1] = &b;
- args_dbl[2] = NULL;
-
- cl_arg_types[0] = &ffi_type_schar;
- cl_arg_types[1] = &ffi_type_schar;
- cl_arg_types[2] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2,
- &ffi_type_schar, cl_arg_types) == FFI_OK);
-
- ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl);
- /* { dg-output "2 125: 127" } */
- printf("res: %d\n", (signed char)res_call);
- /* { dg-output "\nres: 127" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK);
-
- res_closure = (*((test_type)code))(2, 125);
- /* { dg-output "\n2 125: 127" } */
- printf("res: %d\n", res_closure);
- /* { dg-output "\nres: 127" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check passing of multiple signed char values.
+ Limitations: none.
+ PR: PR13221.
+ Originator: <hos@tamanegi.org> 20031129 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+signed char test_func_fn(signed char a1, signed char a2)
+{
+ signed char result;
+
+ result = a1 + a2;
+
+ printf("%d %d: %d\n", a1, a2, result);
+
+ return result;
+
+}
+
+static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals,
+ void *data __UNUSED__)
+{
+ signed char a1, a2;
+
+ a1 = *(signed char *)avals[0];
+ a2 = *(signed char *)avals[1];
+
+ *(ffi_arg *)rval = test_func_fn(a1, a2);
+
+}
+
+typedef signed char (*test_type)(signed char, signed char);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void * args_dbl[3];
+ ffi_type * cl_arg_types[3];
+ ffi_arg res_call;
+ signed char a, b, res_closure;
+
+ a = 2;
+ b = 125;
+
+ args_dbl[0] = &a;
+ args_dbl[1] = &b;
+ args_dbl[2] = NULL;
+
+ cl_arg_types[0] = &ffi_type_schar;
+ cl_arg_types[1] = &ffi_type_schar;
+ cl_arg_types[2] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2,
+ &ffi_type_schar, cl_arg_types) == FFI_OK);
+
+ ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl);
+ /* { dg-output "2 125: 127" } */
+ printf("res: %d\n", (signed char)res_call);
+ /* { dg-output "\nres: 127" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK);
+
+ res_closure = (*((test_type)code))(2, 125);
+ /* { dg-output "\n2 125: 127" } */
+ printf("res: %d\n", res_closure);
+ /* { dg-output "\nres: 127" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_schar/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_schar/ya.make
index bbcea307c3..d96eace4d5 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_schar/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_schar/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_multi_schar.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_multi_schar.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshort.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshort.c
index 2852f45c08..4c39153266 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshort.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshort.c
@@ -1,74 +1,74 @@
-/* Area: ffi_call, closure_call
- Purpose: Check passing of multiple signed short values.
- Limitations: none.
- PR: PR13221.
- Originator: <andreast@gcc.gnu.org> 20031129 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-signed short test_func_fn(signed short a1, signed short a2)
-{
- signed short result;
-
- result = a1 + a2;
-
- printf("%d %d: %d\n", a1, a2, result);
-
- return result;
-
-}
-
-static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals,
- void *data __UNUSED__)
-{
- signed short a1, a2;
-
- a1 = *(signed short *)avals[0];
- a2 = *(signed short *)avals[1];
-
- *(ffi_arg *)rval = test_func_fn(a1, a2);
-
-}
-
-typedef signed short (*test_type)(signed short, signed short);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void * args_dbl[3];
- ffi_type * cl_arg_types[3];
- ffi_arg res_call;
- unsigned short a, b, res_closure;
-
- a = 2;
- b = 32765;
-
- args_dbl[0] = &a;
- args_dbl[1] = &b;
- args_dbl[2] = NULL;
-
- cl_arg_types[0] = &ffi_type_sshort;
- cl_arg_types[1] = &ffi_type_sshort;
- cl_arg_types[2] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2,
- &ffi_type_sshort, cl_arg_types) == FFI_OK);
-
- ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl);
- /* { dg-output "2 32765: 32767" } */
- printf("res: %d\n", (unsigned short)res_call);
- /* { dg-output "\nres: 32767" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK);
-
- res_closure = (*((test_type)code))(2, 32765);
- /* { dg-output "\n2 32765: 32767" } */
- printf("res: %d\n", res_closure);
- /* { dg-output "\nres: 32767" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check passing of multiple signed short values.
+ Limitations: none.
+ PR: PR13221.
+ Originator: <andreast@gcc.gnu.org> 20031129 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+signed short test_func_fn(signed short a1, signed short a2)
+{
+ signed short result;
+
+ result = a1 + a2;
+
+ printf("%d %d: %d\n", a1, a2, result);
+
+ return result;
+
+}
+
+static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals,
+ void *data __UNUSED__)
+{
+ signed short a1, a2;
+
+ a1 = *(signed short *)avals[0];
+ a2 = *(signed short *)avals[1];
+
+ *(ffi_arg *)rval = test_func_fn(a1, a2);
+
+}
+
+typedef signed short (*test_type)(signed short, signed short);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void * args_dbl[3];
+ ffi_type * cl_arg_types[3];
+ ffi_arg res_call;
+ unsigned short a, b, res_closure;
+
+ a = 2;
+ b = 32765;
+
+ args_dbl[0] = &a;
+ args_dbl[1] = &b;
+ args_dbl[2] = NULL;
+
+ cl_arg_types[0] = &ffi_type_sshort;
+ cl_arg_types[1] = &ffi_type_sshort;
+ cl_arg_types[2] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2,
+ &ffi_type_sshort, cl_arg_types) == FFI_OK);
+
+ ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl);
+ /* { dg-output "2 32765: 32767" } */
+ printf("res: %d\n", (unsigned short)res_call);
+ /* { dg-output "\nres: 32767" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK);
+
+ res_closure = (*((test_type)code))(2, 32765);
+ /* { dg-output "\n2 32765: 32767" } */
+ printf("res: %d\n", res_closure);
+ /* { dg-output "\nres: 32767" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshort/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshort/ya.make
index cd42422b66..9cfeb70413 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshort/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshort/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_multi_sshort.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_multi_sshort.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c
index 6163796ac0..1c3aeb5a66 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c
@@ -1,86 +1,86 @@
-/* Area: ffi_call, closure_call
- Purpose: Check passing of multiple signed short/char values.
- Limitations: none.
- PR: PR13221.
- Originator: <andreast@gcc.gnu.org> 20031129 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-signed short test_func_fn(signed char a1, signed short a2,
- signed char a3, signed short a4)
-{
- signed short result;
-
- result = a1 + a2 + a3 + a4;
-
- printf("%d %d %d %d: %d\n", a1, a2, a3, a4, result);
-
- return result;
-
-}
-
-static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals,
- void *data __UNUSED__)
-{
- signed char a1, a3;
- signed short a2, a4;
-
- a1 = *(signed char *)avals[0];
- a2 = *(signed short *)avals[1];
- a3 = *(signed char *)avals[2];
- a4 = *(signed short *)avals[3];
-
- *(ffi_arg *)rval = test_func_fn(a1, a2, a3, a4);
-
-}
-
-typedef signed short (*test_type)(signed char, signed short,
- signed char, signed short);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void * args_dbl[5];
- ffi_type * cl_arg_types[5];
- ffi_arg res_call;
- signed char a, c;
- signed short b, d, res_closure;
-
- a = 1;
- b = 32765;
- c = 127;
- d = -128;
-
- args_dbl[0] = &a;
- args_dbl[1] = &b;
- args_dbl[2] = &c;
- args_dbl[3] = &d;
- args_dbl[4] = NULL;
-
- cl_arg_types[0] = &ffi_type_schar;
- cl_arg_types[1] = &ffi_type_sshort;
- cl_arg_types[2] = &ffi_type_schar;
- cl_arg_types[3] = &ffi_type_sshort;
- cl_arg_types[4] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4,
- &ffi_type_sshort, cl_arg_types) == FFI_OK);
-
- ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl);
- /* { dg-output "1 32765 127 -128: 32765" } */
- printf("res: %d\n", (signed short)res_call);
- /* { dg-output "\nres: 32765" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK);
-
- res_closure = (*((test_type)code))(1, 32765, 127, -128);
- /* { dg-output "\n1 32765 127 -128: 32765" } */
- printf("res: %d\n", res_closure);
- /* { dg-output "\nres: 32765" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check passing of multiple signed short/char values.
+ Limitations: none.
+ PR: PR13221.
+ Originator: <andreast@gcc.gnu.org> 20031129 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+signed short test_func_fn(signed char a1, signed short a2,
+ signed char a3, signed short a4)
+{
+ signed short result;
+
+ result = a1 + a2 + a3 + a4;
+
+ printf("%d %d %d %d: %d\n", a1, a2, a3, a4, result);
+
+ return result;
+
+}
+
+static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals,
+ void *data __UNUSED__)
+{
+ signed char a1, a3;
+ signed short a2, a4;
+
+ a1 = *(signed char *)avals[0];
+ a2 = *(signed short *)avals[1];
+ a3 = *(signed char *)avals[2];
+ a4 = *(signed short *)avals[3];
+
+ *(ffi_arg *)rval = test_func_fn(a1, a2, a3, a4);
+
+}
+
+typedef signed short (*test_type)(signed char, signed short,
+ signed char, signed short);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void * args_dbl[5];
+ ffi_type * cl_arg_types[5];
+ ffi_arg res_call;
+ signed char a, c;
+ signed short b, d, res_closure;
+
+ a = 1;
+ b = 32765;
+ c = 127;
+ d = -128;
+
+ args_dbl[0] = &a;
+ args_dbl[1] = &b;
+ args_dbl[2] = &c;
+ args_dbl[3] = &d;
+ args_dbl[4] = NULL;
+
+ cl_arg_types[0] = &ffi_type_schar;
+ cl_arg_types[1] = &ffi_type_sshort;
+ cl_arg_types[2] = &ffi_type_schar;
+ cl_arg_types[3] = &ffi_type_sshort;
+ cl_arg_types[4] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4,
+ &ffi_type_sshort, cl_arg_types) == FFI_OK);
+
+ ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl);
+ /* { dg-output "1 32765 127 -128: 32765" } */
+ printf("res: %d\n", (signed short)res_call);
+ /* { dg-output "\nres: 32765" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK);
+
+ res_closure = (*((test_type)code))(1, 32765, 127, -128);
+ /* { dg-output "\n1 32765 127 -128: 32765" } */
+ printf("res: %d\n", res_closure);
+ /* { dg-output "\nres: 32765" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshortchar/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshortchar/ya.make
index a530b471aa..5e76efc9c5 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshortchar/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_sshortchar/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_multi_sshortchar.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_multi_sshortchar.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_uchar.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_uchar.c
index 735386effa..009c02c72b 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_uchar.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_uchar.c
@@ -1,91 +1,91 @@
-/* Area: ffi_call, closure_call
- Purpose: Check passing of multiple unsigned char values.
- Limitations: none.
- PR: PR13221.
- Originator: <andreast@gcc.gnu.org> 20031129 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-unsigned char test_func_fn(unsigned char a1, unsigned char a2,
- unsigned char a3, unsigned char a4)
-{
- unsigned char result;
-
- result = a1 + a2 + a3 + a4;
-
- printf("%d %d %d %d: %d\n", a1, a2, a3, a4, result);
-
- return result;
-
-}
-
-static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals,
- void *data __UNUSED__)
-{
- unsigned char a1, a2, a3, a4;
-
- a1 = *(unsigned char *)avals[0];
- a2 = *(unsigned char *)avals[1];
- a3 = *(unsigned char *)avals[2];
- a4 = *(unsigned char *)avals[3];
-
- *(ffi_arg *)rval = test_func_fn(a1, a2, a3, a4);
-
-}
-
-typedef unsigned char (*test_type)(unsigned char, unsigned char,
- unsigned char, unsigned char);
-
-void test_func(ffi_cif *cif __UNUSED__, void *rval __UNUSED__, void **avals,
- void *data __UNUSED__)
-{
- printf("%d %d %d %d\n", *(unsigned char *)avals[0],
- *(unsigned char *)avals[1], *(unsigned char *)avals[2],
- *(unsigned char *)avals[3]);
-}
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void * args_dbl[5];
- ffi_type * cl_arg_types[5];
- ffi_arg res_call;
- unsigned char a, b, c, d, res_closure;
-
- a = 1;
- b = 2;
- c = 127;
- d = 125;
-
- args_dbl[0] = &a;
- args_dbl[1] = &b;
- args_dbl[2] = &c;
- args_dbl[3] = &d;
- args_dbl[4] = NULL;
-
- cl_arg_types[0] = &ffi_type_uchar;
- cl_arg_types[1] = &ffi_type_uchar;
- cl_arg_types[2] = &ffi_type_uchar;
- cl_arg_types[3] = &ffi_type_uchar;
- cl_arg_types[4] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4,
- &ffi_type_uchar, cl_arg_types) == FFI_OK);
-
- ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl);
- /* { dg-output "1 2 127 125: 255" } */
- printf("res: %d\n", (unsigned char)res_call);
- /* { dg-output "\nres: 255" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK);
-
- res_closure = (*((test_type)code))(1, 2, 127, 125);
- /* { dg-output "\n1 2 127 125: 255" } */
- printf("res: %d\n", res_closure);
- /* { dg-output "\nres: 255" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check passing of multiple unsigned char values.
+ Limitations: none.
+ PR: PR13221.
+ Originator: <andreast@gcc.gnu.org> 20031129 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+unsigned char test_func_fn(unsigned char a1, unsigned char a2,
+ unsigned char a3, unsigned char a4)
+{
+ unsigned char result;
+
+ result = a1 + a2 + a3 + a4;
+
+ printf("%d %d %d %d: %d\n", a1, a2, a3, a4, result);
+
+ return result;
+
+}
+
+static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals,
+ void *data __UNUSED__)
+{
+ unsigned char a1, a2, a3, a4;
+
+ a1 = *(unsigned char *)avals[0];
+ a2 = *(unsigned char *)avals[1];
+ a3 = *(unsigned char *)avals[2];
+ a4 = *(unsigned char *)avals[3];
+
+ *(ffi_arg *)rval = test_func_fn(a1, a2, a3, a4);
+
+}
+
+typedef unsigned char (*test_type)(unsigned char, unsigned char,
+ unsigned char, unsigned char);
+
+void test_func(ffi_cif *cif __UNUSED__, void *rval __UNUSED__, void **avals,
+ void *data __UNUSED__)
+{
+ printf("%d %d %d %d\n", *(unsigned char *)avals[0],
+ *(unsigned char *)avals[1], *(unsigned char *)avals[2],
+ *(unsigned char *)avals[3]);
+}
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void * args_dbl[5];
+ ffi_type * cl_arg_types[5];
+ ffi_arg res_call;
+ unsigned char a, b, c, d, res_closure;
+
+ a = 1;
+ b = 2;
+ c = 127;
+ d = 125;
+
+ args_dbl[0] = &a;
+ args_dbl[1] = &b;
+ args_dbl[2] = &c;
+ args_dbl[3] = &d;
+ args_dbl[4] = NULL;
+
+ cl_arg_types[0] = &ffi_type_uchar;
+ cl_arg_types[1] = &ffi_type_uchar;
+ cl_arg_types[2] = &ffi_type_uchar;
+ cl_arg_types[3] = &ffi_type_uchar;
+ cl_arg_types[4] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4,
+ &ffi_type_uchar, cl_arg_types) == FFI_OK);
+
+ ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl);
+ /* { dg-output "1 2 127 125: 255" } */
+ printf("res: %d\n", (unsigned char)res_call);
+ /* { dg-output "\nres: 255" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK);
+
+ res_closure = (*((test_type)code))(1, 2, 127, 125);
+ /* { dg-output "\n1 2 127 125: 255" } */
+ printf("res: %d\n", res_closure);
+ /* { dg-output "\nres: 255" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_uchar/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_uchar/ya.make
index 6f6065e813..ef08173604 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_uchar/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_uchar/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_multi_uchar.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_multi_uchar.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushort.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushort.c
index 40debdda85..dd10ca7346 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushort.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushort.c
@@ -1,74 +1,74 @@
-/* Area: ffi_call, closure_call
- Purpose: Check passing of multiple unsigned short values.
- Limitations: none.
- PR: PR13221.
- Originator: <andreast@gcc.gnu.org> 20031129 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-unsigned short test_func_fn(unsigned short a1, unsigned short a2)
-{
- unsigned short result;
-
- result = a1 + a2;
-
- printf("%d %d: %d\n", a1, a2, result);
-
- return result;
-
-}
-
-static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals,
- void *data __UNUSED__)
-{
- unsigned short a1, a2;
-
- a1 = *(unsigned short *)avals[0];
- a2 = *(unsigned short *)avals[1];
-
- *(ffi_arg *)rval = test_func_fn(a1, a2);
-
-}
-
-typedef unsigned short (*test_type)(unsigned short, unsigned short);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void * args_dbl[3];
- ffi_type * cl_arg_types[3];
- ffi_arg res_call;
- unsigned short a, b, res_closure;
-
- a = 2;
- b = 32765;
-
- args_dbl[0] = &a;
- args_dbl[1] = &b;
- args_dbl[2] = NULL;
-
- cl_arg_types[0] = &ffi_type_ushort;
- cl_arg_types[1] = &ffi_type_ushort;
- cl_arg_types[2] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2,
- &ffi_type_ushort, cl_arg_types) == FFI_OK);
-
- ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl);
- /* { dg-output "2 32765: 32767" } */
- printf("res: %d\n", (unsigned short)res_call);
- /* { dg-output "\nres: 32767" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK);
-
- res_closure = (*((test_type)code))(2, 32765);
- /* { dg-output "\n2 32765: 32767" } */
- printf("res: %d\n", res_closure);
- /* { dg-output "\nres: 32767" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check passing of multiple unsigned short values.
+ Limitations: none.
+ PR: PR13221.
+ Originator: <andreast@gcc.gnu.org> 20031129 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+unsigned short test_func_fn(unsigned short a1, unsigned short a2)
+{
+ unsigned short result;
+
+ result = a1 + a2;
+
+ printf("%d %d: %d\n", a1, a2, result);
+
+ return result;
+
+}
+
+static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals,
+ void *data __UNUSED__)
+{
+ unsigned short a1, a2;
+
+ a1 = *(unsigned short *)avals[0];
+ a2 = *(unsigned short *)avals[1];
+
+ *(ffi_arg *)rval = test_func_fn(a1, a2);
+
+}
+
+typedef unsigned short (*test_type)(unsigned short, unsigned short);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void * args_dbl[3];
+ ffi_type * cl_arg_types[3];
+ ffi_arg res_call;
+ unsigned short a, b, res_closure;
+
+ a = 2;
+ b = 32765;
+
+ args_dbl[0] = &a;
+ args_dbl[1] = &b;
+ args_dbl[2] = NULL;
+
+ cl_arg_types[0] = &ffi_type_ushort;
+ cl_arg_types[1] = &ffi_type_ushort;
+ cl_arg_types[2] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2,
+ &ffi_type_ushort, cl_arg_types) == FFI_OK);
+
+ ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl);
+ /* { dg-output "2 32765: 32767" } */
+ printf("res: %d\n", (unsigned short)res_call);
+ /* { dg-output "\nres: 32767" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK);
+
+ res_closure = (*((test_type)code))(2, 32765);
+ /* { dg-output "\n2 32765: 32767" } */
+ printf("res: %d\n", res_closure);
+ /* { dg-output "\nres: 32767" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushort/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushort/ya.make
index d706f9eed6..31dbab5cf1 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushort/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushort/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_multi_ushort.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_multi_ushort.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c
index 21a1174bdf..2588e97f98 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c
@@ -1,86 +1,86 @@
-/* Area: ffi_call, closure_call
- Purpose: Check passing of multiple unsigned short/char values.
- Limitations: none.
- PR: PR13221.
- Originator: <andreast@gcc.gnu.org> 20031129 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-unsigned short test_func_fn(unsigned char a1, unsigned short a2,
- unsigned char a3, unsigned short a4)
-{
- unsigned short result;
-
- result = a1 + a2 + a3 + a4;
-
- printf("%d %d %d %d: %d\n", a1, a2, a3, a4, result);
-
- return result;
-
-}
-
-static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals,
- void *data __UNUSED__)
-{
- unsigned char a1, a3;
- unsigned short a2, a4;
-
- a1 = *(unsigned char *)avals[0];
- a2 = *(unsigned short *)avals[1];
- a3 = *(unsigned char *)avals[2];
- a4 = *(unsigned short *)avals[3];
-
- *(ffi_arg *)rval = test_func_fn(a1, a2, a3, a4);
-
-}
-
-typedef unsigned short (*test_type)(unsigned char, unsigned short,
- unsigned char, unsigned short);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void * args_dbl[5];
- ffi_type * cl_arg_types[5];
- ffi_arg res_call;
- unsigned char a, c;
- unsigned short b, d, res_closure;
-
- a = 1;
- b = 2;
- c = 127;
- d = 128;
-
- args_dbl[0] = &a;
- args_dbl[1] = &b;
- args_dbl[2] = &c;
- args_dbl[3] = &d;
- args_dbl[4] = NULL;
-
- cl_arg_types[0] = &ffi_type_uchar;
- cl_arg_types[1] = &ffi_type_ushort;
- cl_arg_types[2] = &ffi_type_uchar;
- cl_arg_types[3] = &ffi_type_ushort;
- cl_arg_types[4] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4,
- &ffi_type_ushort, cl_arg_types) == FFI_OK);
-
- ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl);
- /* { dg-output "1 2 127 128: 258" } */
- printf("res: %d\n", (unsigned short)res_call);
- /* { dg-output "\nres: 258" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK);
-
- res_closure = (*((test_type)code))(1, 2, 127, 128);
- /* { dg-output "\n1 2 127 128: 258" } */
- printf("res: %d\n", res_closure);
- /* { dg-output "\nres: 258" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check passing of multiple unsigned short/char values.
+ Limitations: none.
+ PR: PR13221.
+ Originator: <andreast@gcc.gnu.org> 20031129 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+unsigned short test_func_fn(unsigned char a1, unsigned short a2,
+ unsigned char a3, unsigned short a4)
+{
+ unsigned short result;
+
+ result = a1 + a2 + a3 + a4;
+
+ printf("%d %d %d %d: %d\n", a1, a2, a3, a4, result);
+
+ return result;
+
+}
+
+static void test_func_gn(ffi_cif *cif __UNUSED__, void *rval, void **avals,
+ void *data __UNUSED__)
+{
+ unsigned char a1, a3;
+ unsigned short a2, a4;
+
+ a1 = *(unsigned char *)avals[0];
+ a2 = *(unsigned short *)avals[1];
+ a3 = *(unsigned char *)avals[2];
+ a4 = *(unsigned short *)avals[3];
+
+ *(ffi_arg *)rval = test_func_fn(a1, a2, a3, a4);
+
+}
+
+typedef unsigned short (*test_type)(unsigned char, unsigned short,
+ unsigned char, unsigned short);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void * args_dbl[5];
+ ffi_type * cl_arg_types[5];
+ ffi_arg res_call;
+ unsigned char a, c;
+ unsigned short b, d, res_closure;
+
+ a = 1;
+ b = 2;
+ c = 127;
+ d = 128;
+
+ args_dbl[0] = &a;
+ args_dbl[1] = &b;
+ args_dbl[2] = &c;
+ args_dbl[3] = &d;
+ args_dbl[4] = NULL;
+
+ cl_arg_types[0] = &ffi_type_uchar;
+ cl_arg_types[1] = &ffi_type_ushort;
+ cl_arg_types[2] = &ffi_type_uchar;
+ cl_arg_types[3] = &ffi_type_ushort;
+ cl_arg_types[4] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4,
+ &ffi_type_ushort, cl_arg_types) == FFI_OK);
+
+ ffi_call(&cif, FFI_FN(test_func_fn), &res_call, args_dbl);
+ /* { dg-output "1 2 127 128: 258" } */
+ printf("res: %d\n", (unsigned short)res_call);
+ /* { dg-output "\nres: 258" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, test_func_gn, NULL, code) == FFI_OK);
+
+ res_closure = (*((test_type)code))(1, 2, 127, 128);
+ /* { dg-output "\n1 2 127 128: 258" } */
+ printf("res: %d\n", res_closure);
+ /* { dg-output "\nres: 258" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushortchar/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushortchar/ya.make
index 7a346aac17..633d341d4c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushortchar/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_multi_ushortchar/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_multi_ushortchar.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_multi_ushortchar.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer.c
index 6f59f72171..d82a87a71b 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer.c
@@ -1,74 +1,74 @@
-/* Area: ffi_call, closure_call
- Purpose: Check pointer arguments.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/6/2007 */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-#include "ffitest.h"
-
-void* cls_pointer_fn(void* a1, void* a2)
-{
- void* result = (void*)((intptr_t)a1 + (intptr_t)a2);
-
- printf("0x%08x 0x%08x: 0x%08x\n",
- (unsigned int)(uintptr_t) a1,
- (unsigned int)(uintptr_t) a2,
- (unsigned int)(uintptr_t) result);
-
- return result;
-}
-
-static void
-cls_pointer_gn(ffi_cif* cif __UNUSED__, void* resp,
- void** args, void* userdata __UNUSED__)
-{
- void* a1 = *(void**)(args[0]);
- void* a2 = *(void**)(args[1]);
-
- *(void**)resp = cls_pointer_fn(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure* pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args[3];
- /* ffi_type cls_pointer_type; */
- ffi_type* arg_types[3];
-
-/* cls_pointer_type.size = sizeof(void*);
- cls_pointer_type.alignment = 0;
- cls_pointer_type.type = FFI_TYPE_POINTER;
- cls_pointer_type.elements = NULL;*/
-
- void* arg1 = (void*)0x12345678;
- void* arg2 = (void*)0x89abcdef;
- ffi_arg res = 0;
-
- arg_types[0] = &ffi_type_pointer;
- arg_types[1] = &ffi_type_pointer;
- arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &ffi_type_pointer,
- arg_types) == FFI_OK);
-
- args[0] = &arg1;
- args[1] = &arg2;
- args[2] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_pointer_fn), &res, args);
- /* { dg-output "0x12345678 0x89abcdef: 0x9be02467" } */
- printf("res: 0x%08x\n", (unsigned int) res);
- /* { dg-output "\nres: 0x9be02467" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_pointer_gn, NULL, code) == FFI_OK);
-
- res = (ffi_arg)(uintptr_t)((void*(*)(void*, void*))(code))(arg1, arg2);
- /* { dg-output "\n0x12345678 0x89abcdef: 0x9be02467" } */
- printf("res: 0x%08x\n", (unsigned int) res);
- /* { dg-output "\nres: 0x9be02467" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check pointer arguments.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/6/2007 */
+
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+#include "ffitest.h"
+
+void* cls_pointer_fn(void* a1, void* a2)
+{
+ void* result = (void*)((intptr_t)a1 + (intptr_t)a2);
+
+ printf("0x%08x 0x%08x: 0x%08x\n",
+ (unsigned int)(uintptr_t) a1,
+ (unsigned int)(uintptr_t) a2,
+ (unsigned int)(uintptr_t) result);
+
+ return result;
+}
+
+static void
+cls_pointer_gn(ffi_cif* cif __UNUSED__, void* resp,
+ void** args, void* userdata __UNUSED__)
+{
+ void* a1 = *(void**)(args[0]);
+ void* a2 = *(void**)(args[1]);
+
+ *(void**)resp = cls_pointer_fn(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure* pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args[3];
+ /* ffi_type cls_pointer_type; */
+ ffi_type* arg_types[3];
+
+/* cls_pointer_type.size = sizeof(void*);
+ cls_pointer_type.alignment = 0;
+ cls_pointer_type.type = FFI_TYPE_POINTER;
+ cls_pointer_type.elements = NULL;*/
+
+ void* arg1 = (void*)0x12345678;
+ void* arg2 = (void*)0x89abcdef;
+ ffi_arg res = 0;
+
+ arg_types[0] = &ffi_type_pointer;
+ arg_types[1] = &ffi_type_pointer;
+ arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &ffi_type_pointer,
+ arg_types) == FFI_OK);
+
+ args[0] = &arg1;
+ args[1] = &arg2;
+ args[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_pointer_fn), &res, args);
+ /* { dg-output "0x12345678 0x89abcdef: 0x9be02467" } */
+ printf("res: 0x%08x\n", (unsigned int) res);
+ /* { dg-output "\nres: 0x9be02467" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_pointer_gn, NULL, code) == FFI_OK);
+
+ res = (ffi_arg)(uintptr_t)((void*(*)(void*, void*))(code))(arg1, arg2);
+ /* { dg-output "\n0x12345678 0x89abcdef: 0x9be02467" } */
+ printf("res: 0x%08x\n", (unsigned int) res);
+ /* { dg-output "\nres: 0x9be02467" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer/ya.make
index 06d633a56d..4cbd0599fe 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_pointer.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_pointer.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer_stack.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer_stack.c
index b3cc17d24b..1f1d9157b9 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer_stack.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer_stack.c
@@ -1,142 +1,142 @@
-/* Area: ffi_call, closure_call
- Purpose: Check pointer arguments across multiple hideous stack frames.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/7/2007 */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-#include "ffitest.h"
-
-static long dummyVar;
-
-long dummy_func(
- long double a1, char b1,
- long double a2, char b2,
- long double a3, char b3,
- long double a4, char b4)
-{
- return a1 + b1 + a2 + b2 + a3 + b3 + a4 + b4;
-}
-
-void* cls_pointer_fn2(void* a1, void* a2)
-{
- long double trample1 = (intptr_t)a1 + (intptr_t)a2;
- char trample2 = ((char*)&a1)[0] + ((char*)&a2)[0];
- long double trample3 = (intptr_t)trample1 + (intptr_t)a1;
- char trample4 = trample2 + ((char*)&a1)[1];
- long double trample5 = (intptr_t)trample3 + (intptr_t)a2;
- char trample6 = trample4 + ((char*)&a2)[1];
- long double trample7 = (intptr_t)trample5 + (intptr_t)trample1;
- char trample8 = trample6 + trample2;
- void* result;
-
- dummyVar = dummy_func(trample1, trample2, trample3, trample4,
- trample5, trample6, trample7, trample8);
-
- result = (void*)((intptr_t)a1 + (intptr_t)a2);
-
- printf("0x%08x 0x%08x: 0x%08x\n",
- (unsigned int)(uintptr_t) a1,
- (unsigned int)(uintptr_t) a2,
- (unsigned int)(uintptr_t) result);
-
- return result;
-}
-
-void* cls_pointer_fn1(void* a1, void* a2)
-{
- long double trample1 = (intptr_t)a1 + (intptr_t)a2;
- char trample2 = ((char*)&a1)[0] + ((char*)&a2)[0];
- long double trample3 = (intptr_t)trample1 + (intptr_t)a1;
- char trample4 = trample2 + ((char*)&a1)[1];
- long double trample5 = (intptr_t)trample3 + (intptr_t)a2;
- char trample6 = trample4 + ((char*)&a2)[1];
- long double trample7 = (intptr_t)trample5 + (intptr_t)trample1;
- char trample8 = trample6 + trample2;
- void* result;
-
- dummyVar = dummy_func(trample1, trample2, trample3, trample4,
- trample5, trample6, trample7, trample8);
-
- result = (void*)((intptr_t)a1 + (intptr_t)a2);
-
+/* Area: ffi_call, closure_call
+ Purpose: Check pointer arguments across multiple hideous stack frames.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/7/2007 */
+
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+#include "ffitest.h"
+
+static long dummyVar;
+
+long dummy_func(
+ long double a1, char b1,
+ long double a2, char b2,
+ long double a3, char b3,
+ long double a4, char b4)
+{
+ return a1 + b1 + a2 + b2 + a3 + b3 + a4 + b4;
+}
+
+void* cls_pointer_fn2(void* a1, void* a2)
+{
+ long double trample1 = (intptr_t)a1 + (intptr_t)a2;
+ char trample2 = ((char*)&a1)[0] + ((char*)&a2)[0];
+ long double trample3 = (intptr_t)trample1 + (intptr_t)a1;
+ char trample4 = trample2 + ((char*)&a1)[1];
+ long double trample5 = (intptr_t)trample3 + (intptr_t)a2;
+ char trample6 = trample4 + ((char*)&a2)[1];
+ long double trample7 = (intptr_t)trample5 + (intptr_t)trample1;
+ char trample8 = trample6 + trample2;
+ void* result;
+
+ dummyVar = dummy_func(trample1, trample2, trample3, trample4,
+ trample5, trample6, trample7, trample8);
+
+ result = (void*)((intptr_t)a1 + (intptr_t)a2);
+
printf("0x%08x 0x%08x: 0x%08x\n",
- (unsigned int)(intptr_t) a1,
- (unsigned int)(intptr_t) a2,
- (unsigned int)(intptr_t) result);
-
- result = cls_pointer_fn2(result, a1);
-
- return result;
-}
-
-static void
-cls_pointer_gn(ffi_cif* cif __UNUSED__, void* resp,
- void** args, void* userdata __UNUSED__)
-{
- void* a1 = *(void**)(args[0]);
- void* a2 = *(void**)(args[1]);
-
- long double trample1 = (intptr_t)a1 + (intptr_t)a2;
- char trample2 = ((char*)&a1)[0] + ((char*)&a2)[0];
- long double trample3 = (intptr_t)trample1 + (intptr_t)a1;
- char trample4 = trample2 + ((char*)&a1)[1];
- long double trample5 = (intptr_t)trample3 + (intptr_t)a2;
- char trample6 = trample4 + ((char*)&a2)[1];
- long double trample7 = (intptr_t)trample5 + (intptr_t)trample1;
- char trample8 = trample6 + trample2;
-
- dummyVar = dummy_func(trample1, trample2, trample3, trample4,
- trample5, trample6, trample7, trample8);
-
- *(void**)resp = cls_pointer_fn1(a1, a2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure* pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args[3];
- /* ffi_type cls_pointer_type; */
- ffi_type* arg_types[3];
-
-/* cls_pointer_type.size = sizeof(void*);
- cls_pointer_type.alignment = 0;
- cls_pointer_type.type = FFI_TYPE_POINTER;
- cls_pointer_type.elements = NULL;*/
-
- void* arg1 = (void*)0x01234567;
- void* arg2 = (void*)0x89abcdef;
- ffi_arg res = 0;
-
- arg_types[0] = &ffi_type_pointer;
- arg_types[1] = &ffi_type_pointer;
- arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &ffi_type_pointer,
- arg_types) == FFI_OK);
-
- args[0] = &arg1;
- args[1] = &arg2;
- args[2] = NULL;
-
- printf("\n");
- ffi_call(&cif, FFI_FN(cls_pointer_fn1), &res, args);
-
- printf("res: 0x%08x\n", (unsigned int) res);
- /* { dg-output "\n0x01234567 0x89abcdef: 0x8acf1356" } */
- /* { dg-output "\n0x8acf1356 0x01234567: 0x8bf258bd" } */
- /* { dg-output "\nres: 0x8bf258bd" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_pointer_gn, NULL, code) == FFI_OK);
-
- res = (ffi_arg)(uintptr_t)((void*(*)(void*, void*))(code))(arg1, arg2);
-
- printf("res: 0x%08x\n", (unsigned int) res);
- /* { dg-output "\n0x01234567 0x89abcdef: 0x8acf1356" } */
- /* { dg-output "\n0x8acf1356 0x01234567: 0x8bf258bd" } */
- /* { dg-output "\nres: 0x8bf258bd" } */
-
- exit(0);
-}
+ (unsigned int)(uintptr_t) a1,
+ (unsigned int)(uintptr_t) a2,
+ (unsigned int)(uintptr_t) result);
+
+ return result;
+}
+
+void* cls_pointer_fn1(void* a1, void* a2)
+{
+ long double trample1 = (intptr_t)a1 + (intptr_t)a2;
+ char trample2 = ((char*)&a1)[0] + ((char*)&a2)[0];
+ long double trample3 = (intptr_t)trample1 + (intptr_t)a1;
+ char trample4 = trample2 + ((char*)&a1)[1];
+ long double trample5 = (intptr_t)trample3 + (intptr_t)a2;
+ char trample6 = trample4 + ((char*)&a2)[1];
+ long double trample7 = (intptr_t)trample5 + (intptr_t)trample1;
+ char trample8 = trample6 + trample2;
+ void* result;
+
+ dummyVar = dummy_func(trample1, trample2, trample3, trample4,
+ trample5, trample6, trample7, trample8);
+
+ result = (void*)((intptr_t)a1 + (intptr_t)a2);
+
+ printf("0x%08x 0x%08x: 0x%08x\n",
+ (unsigned int)(intptr_t) a1,
+ (unsigned int)(intptr_t) a2,
+ (unsigned int)(intptr_t) result);
+
+ result = cls_pointer_fn2(result, a1);
+
+ return result;
+}
+
+static void
+cls_pointer_gn(ffi_cif* cif __UNUSED__, void* resp,
+ void** args, void* userdata __UNUSED__)
+{
+ void* a1 = *(void**)(args[0]);
+ void* a2 = *(void**)(args[1]);
+
+ long double trample1 = (intptr_t)a1 + (intptr_t)a2;
+ char trample2 = ((char*)&a1)[0] + ((char*)&a2)[0];
+ long double trample3 = (intptr_t)trample1 + (intptr_t)a1;
+ char trample4 = trample2 + ((char*)&a1)[1];
+ long double trample5 = (intptr_t)trample3 + (intptr_t)a2;
+ char trample6 = trample4 + ((char*)&a2)[1];
+ long double trample7 = (intptr_t)trample5 + (intptr_t)trample1;
+ char trample8 = trample6 + trample2;
+
+ dummyVar = dummy_func(trample1, trample2, trample3, trample4,
+ trample5, trample6, trample7, trample8);
+
+ *(void**)resp = cls_pointer_fn1(a1, a2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure* pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args[3];
+ /* ffi_type cls_pointer_type; */
+ ffi_type* arg_types[3];
+
+/* cls_pointer_type.size = sizeof(void*);
+ cls_pointer_type.alignment = 0;
+ cls_pointer_type.type = FFI_TYPE_POINTER;
+ cls_pointer_type.elements = NULL;*/
+
+ void* arg1 = (void*)0x01234567;
+ void* arg2 = (void*)0x89abcdef;
+ ffi_arg res = 0;
+
+ arg_types[0] = &ffi_type_pointer;
+ arg_types[1] = &ffi_type_pointer;
+ arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &ffi_type_pointer,
+ arg_types) == FFI_OK);
+
+ args[0] = &arg1;
+ args[1] = &arg2;
+ args[2] = NULL;
+
+ printf("\n");
+ ffi_call(&cif, FFI_FN(cls_pointer_fn1), &res, args);
+
+ printf("res: 0x%08x\n", (unsigned int) res);
+ /* { dg-output "\n0x01234567 0x89abcdef: 0x8acf1356" } */
+ /* { dg-output "\n0x8acf1356 0x01234567: 0x8bf258bd" } */
+ /* { dg-output "\nres: 0x8bf258bd" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_pointer_gn, NULL, code) == FFI_OK);
+
+ res = (ffi_arg)(uintptr_t)((void*(*)(void*, void*))(code))(arg1, arg2);
+
+ printf("res: 0x%08x\n", (unsigned int) res);
+ /* { dg-output "\n0x01234567 0x89abcdef: 0x8acf1356" } */
+ /* { dg-output "\n0x8acf1356 0x01234567: 0x8bf258bd" } */
+ /* { dg-output "\nres: 0x8bf258bd" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer_stack/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer_stack/ya.make
index 44fc912cfc..20524524eb 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer_stack/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_pointer_stack/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_pointer_stack.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_pointer_stack.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_schar.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_schar.c
index 27a827f18c..82986b172c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_schar.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_schar.c
@@ -1,44 +1,44 @@
-/* Area: closure_call
- Purpose: Check return value schar.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20031108 */
-
-
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void cls_ret_schar_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- *(ffi_arg*)resp = *(signed char *)args[0];
- printf("%d: %d\n",*(signed char *)args[0],
- (int)*(ffi_arg *)(resp));
-}
-typedef signed char (*cls_ret_schar)(signed char);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[2];
- signed char res;
-
- cl_arg_types[0] = &ffi_type_schar;
- cl_arg_types[1] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_schar, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_schar_fn, NULL, code) == FFI_OK);
-
- res = (*((cls_ret_schar)code))(127);
- /* { dg-output "127: 127" } */
- printf("res: %d\n", res);
- /* { dg-output "\nres: 127" } */
-
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check return value schar.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20031108 */
+
+
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void cls_ret_schar_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ *(ffi_arg*)resp = *(signed char *)args[0];
+ printf("%d: %d\n",*(signed char *)args[0],
+ (int)*(ffi_arg *)(resp));
+}
+typedef signed char (*cls_ret_schar)(signed char);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[2];
+ signed char res;
+
+ cl_arg_types[0] = &ffi_type_schar;
+ cl_arg_types[1] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
+ &ffi_type_schar, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_schar_fn, NULL, code) == FFI_OK);
+
+ res = (*((cls_ret_schar)code))(127);
+ /* { dg-output "127: 127" } */
+ printf("res: %d\n", res);
+ /* { dg-output "\nres: 127" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_schar/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_schar/ya.make
index d6917755ee..647dbe1e33 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_schar/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_schar/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_schar.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_schar.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_sint.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_sint.c
index bf30e9492e..c7e13b73a3 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_sint.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_sint.c
@@ -1,42 +1,42 @@
-/* Area: closure_call
- Purpose: Check return value sint32.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20031108 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void cls_ret_sint_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- *(ffi_arg*)resp = *(signed int *)args[0];
- printf("%d: %d\n",*(signed int *)args[0],
- (int)*(ffi_arg *)(resp));
-}
-typedef signed int (*cls_ret_sint)(signed int);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[2];
- signed int res;
-
- cl_arg_types[0] = &ffi_type_sint;
- cl_arg_types[1] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_sint, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_sint_fn, NULL, code) == FFI_OK);
-
- res = (*((cls_ret_sint)code))(65534);
- /* { dg-output "65534: 65534" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 65534" } */
-
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check return value sint32.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20031108 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void cls_ret_sint_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ *(ffi_arg*)resp = *(signed int *)args[0];
+ printf("%d: %d\n",*(signed int *)args[0],
+ (int)*(ffi_arg *)(resp));
+}
+typedef signed int (*cls_ret_sint)(signed int);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[2];
+ signed int res;
+
+ cl_arg_types[0] = &ffi_type_sint;
+ cl_arg_types[1] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
+ &ffi_type_sint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_sint_fn, NULL, code) == FFI_OK);
+
+ res = (*((cls_ret_sint)code))(65534);
+ /* { dg-output "65534: 65534" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 65534" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_sint/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_sint/ya.make
index e0006c41eb..d73d2b4bef 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_sint/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_sint/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_sint.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_sint.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_sshort.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_sshort.c
index c34f793c94..846d57ed1b 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_sshort.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_sshort.c
@@ -1,42 +1,42 @@
-/* Area: closure_call
- Purpose: Check return value sshort.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20031108 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void cls_ret_sshort_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- *(ffi_arg*)resp = *(signed short *)args[0];
- printf("%d: %d\n",*(signed short *)args[0],
- (int)*(ffi_arg *)(resp));
-}
-typedef signed short (*cls_ret_sshort)(signed short);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[2];
- signed short res;
-
- cl_arg_types[0] = &ffi_type_sshort;
- cl_arg_types[1] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_sshort, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_sshort_fn, NULL, code) == FFI_OK);
-
- res = (*((cls_ret_sshort)code))(255);
- /* { dg-output "255: 255" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 255" } */
-
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check return value sshort.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20031108 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void cls_ret_sshort_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ *(ffi_arg*)resp = *(signed short *)args[0];
+ printf("%d: %d\n",*(signed short *)args[0],
+ (int)*(ffi_arg *)(resp));
+}
+typedef signed short (*cls_ret_sshort)(signed short);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[2];
+ signed short res;
+
+ cl_arg_types[0] = &ffi_type_sshort;
+ cl_arg_types[1] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
+ &ffi_type_sshort, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_sshort_fn, NULL, code) == FFI_OK);
+
+ res = (*((cls_ret_sshort)code))(255);
+ /* { dg-output "255: 255" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 255" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_sshort/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_sshort/ya.make
index 1c05b4f214..dd0be63016 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_sshort/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_sshort/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_sshort.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_sshort.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_struct_va1.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_struct_va1.c
index 485922ead5..6d1fdaeb60 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_struct_va1.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_struct_va1.c
@@ -1,114 +1,114 @@
-/* Area: ffi_call, closure_call
- Purpose: Test doubles passed in variable argument lists.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/6/2007 */
-
-/* { dg-do run } */
-/* { dg-output "" { xfail avr32*-*-* } } */
-#include "ffitest.h"
-
-struct small_tag
-{
- unsigned char a;
- unsigned char b;
-};
-
-struct large_tag
-{
- unsigned a;
- unsigned b;
- unsigned c;
- unsigned d;
- unsigned e;
-};
-
-static void
-test_fn (ffi_cif* cif __UNUSED__, void* resp,
- void** args, void* userdata __UNUSED__)
-{
- int n = *(int*)args[0];
- struct small_tag s1 = * (struct small_tag *) args[1];
- struct large_tag l1 = * (struct large_tag *) args[2];
- struct small_tag s2 = * (struct small_tag *) args[3];
-
- printf ("%d %d %d %d %d %d %d %d %d %d\n", n, s1.a, s1.b,
- l1.a, l1.b, l1.c, l1.d, l1.e,
- s2.a, s2.b);
- * (ffi_arg*) resp = 42;
-}
-
-int
-main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc (sizeof (ffi_closure), &code);
- ffi_type* arg_types[5];
-
- ffi_arg res = 0;
-
- ffi_type s_type;
- ffi_type *s_type_elements[3];
-
- ffi_type l_type;
- ffi_type *l_type_elements[6];
-
- struct small_tag s1;
- struct small_tag s2;
- struct large_tag l1;
-
- int si;
-
- s_type.size = 0;
- s_type.alignment = 0;
- s_type.type = FFI_TYPE_STRUCT;
- s_type.elements = s_type_elements;
-
- s_type_elements[0] = &ffi_type_uchar;
- s_type_elements[1] = &ffi_type_uchar;
- s_type_elements[2] = NULL;
-
- l_type.size = 0;
- l_type.alignment = 0;
- l_type.type = FFI_TYPE_STRUCT;
- l_type.elements = l_type_elements;
-
- l_type_elements[0] = &ffi_type_uint;
- l_type_elements[1] = &ffi_type_uint;
- l_type_elements[2] = &ffi_type_uint;
- l_type_elements[3] = &ffi_type_uint;
- l_type_elements[4] = &ffi_type_uint;
- l_type_elements[5] = NULL;
-
- arg_types[0] = &ffi_type_sint;
- arg_types[1] = &s_type;
- arg_types[2] = &l_type;
- arg_types[3] = &s_type;
- arg_types[4] = NULL;
-
- CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 4, &ffi_type_sint,
- arg_types) == FFI_OK);
-
- si = 4;
- s1.a = 5;
- s1.b = 6;
-
- s2.a = 20;
- s2.b = 21;
-
- l1.a = 10;
- l1.b = 11;
- l1.c = 12;
- l1.d = 13;
- l1.e = 14;
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, test_fn, NULL, code) == FFI_OK);
-
- res = ((int (*)(int, ...))(code))(si, s1, l1, s2);
- /* { dg-output "4 5 6 10 11 12 13 14 20 21" } */
- printf("res: %d\n", (int) res);
- /* { dg-output "\nres: 42" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Test doubles passed in variable argument lists.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/6/2007 */
+
+/* { dg-do run } */
+/* { dg-output "" { xfail avr32*-*-* } } */
+#include "ffitest.h"
+
+struct small_tag
+{
+ unsigned char a;
+ unsigned char b;
+};
+
+struct large_tag
+{
+ unsigned a;
+ unsigned b;
+ unsigned c;
+ unsigned d;
+ unsigned e;
+};
+
+static void
+test_fn (ffi_cif* cif __UNUSED__, void* resp,
+ void** args, void* userdata __UNUSED__)
+{
+ int n = *(int*)args[0];
+ struct small_tag s1 = * (struct small_tag *) args[1];
+ struct large_tag l1 = * (struct large_tag *) args[2];
+ struct small_tag s2 = * (struct small_tag *) args[3];
+
+ printf ("%d %d %d %d %d %d %d %d %d %d\n", n, s1.a, s1.b,
+ l1.a, l1.b, l1.c, l1.d, l1.e,
+ s2.a, s2.b);
+ * (ffi_arg*) resp = 42;
+}
+
+int
+main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc (sizeof (ffi_closure), &code);
+ ffi_type* arg_types[5];
+
+ ffi_arg res = 0;
+
+ ffi_type s_type;
+ ffi_type *s_type_elements[3];
+
+ ffi_type l_type;
+ ffi_type *l_type_elements[6];
+
+ struct small_tag s1;
+ struct small_tag s2;
+ struct large_tag l1;
+
+ int si;
+
+ s_type.size = 0;
+ s_type.alignment = 0;
+ s_type.type = FFI_TYPE_STRUCT;
+ s_type.elements = s_type_elements;
+
+ s_type_elements[0] = &ffi_type_uchar;
+ s_type_elements[1] = &ffi_type_uchar;
+ s_type_elements[2] = NULL;
+
+ l_type.size = 0;
+ l_type.alignment = 0;
+ l_type.type = FFI_TYPE_STRUCT;
+ l_type.elements = l_type_elements;
+
+ l_type_elements[0] = &ffi_type_uint;
+ l_type_elements[1] = &ffi_type_uint;
+ l_type_elements[2] = &ffi_type_uint;
+ l_type_elements[3] = &ffi_type_uint;
+ l_type_elements[4] = &ffi_type_uint;
+ l_type_elements[5] = NULL;
+
+ arg_types[0] = &ffi_type_sint;
+ arg_types[1] = &s_type;
+ arg_types[2] = &l_type;
+ arg_types[3] = &s_type;
+ arg_types[4] = NULL;
+
+ CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 4, &ffi_type_sint,
+ arg_types) == FFI_OK);
+
+ si = 4;
+ s1.a = 5;
+ s1.b = 6;
+
+ s2.a = 20;
+ s2.b = 21;
+
+ l1.a = 10;
+ l1.b = 11;
+ l1.c = 12;
+ l1.d = 13;
+ l1.e = 14;
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, test_fn, NULL, code) == FFI_OK);
+
+ res = ((int (*)(int, ...))(code))(si, s1, l1, s2);
+ /* { dg-output "4 5 6 10 11 12 13 14 20 21" } */
+ printf("res: %d\n", (int) res);
+ /* { dg-output "\nres: 42" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_struct_va1/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_struct_va1/ya.make
index fc2f3e953d..909b210dc0 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_struct_va1/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_struct_va1/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_struct_va1.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_struct_va1.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar.c
index 8a7d0fc291..c1317e795f 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar.c
@@ -1,42 +1,42 @@
-/* Area: closure_call
- Purpose: Check return value uchar.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void cls_ret_uchar_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- *(ffi_arg*)resp = *(unsigned char *)args[0];
- printf("%d: %d\n",*(unsigned char *)args[0],
- (int)*(ffi_arg *)(resp));
-}
-typedef unsigned char (*cls_ret_uchar)(unsigned char);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[2];
- unsigned char res;
-
- cl_arg_types[0] = &ffi_type_uchar;
- cl_arg_types[1] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_uchar, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_uchar_fn, NULL, code) == FFI_OK);
-
- res = (*((cls_ret_uchar)code))(127);
- /* { dg-output "127: 127" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 127" } */
-
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check return value uchar.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void cls_ret_uchar_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ *(ffi_arg*)resp = *(unsigned char *)args[0];
+ printf("%d: %d\n",*(unsigned char *)args[0],
+ (int)*(ffi_arg *)(resp));
+}
+typedef unsigned char (*cls_ret_uchar)(unsigned char);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[2];
+ unsigned char res;
+
+ cl_arg_types[0] = &ffi_type_uchar;
+ cl_arg_types[1] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
+ &ffi_type_uchar, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_uchar_fn, NULL, code) == FFI_OK);
+
+ res = (*((cls_ret_uchar)code))(127);
+ /* { dg-output "127: 127" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 127" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar/ya.make
index d17f8cdce6..edc1b7dee3 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_uchar.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_uchar.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar_va.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar_va.c
index 41d0a80c86..6491c5b3df 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar_va.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar_va.c
@@ -1,44 +1,44 @@
-/* Area: closure_call
- Purpose: Test anonymous unsigned char argument.
- Limitations: none.
- PR: none.
- Originator: ARM Ltd. */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef unsigned char T;
-
-static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
- {
- *(ffi_arg *)resp = *(T *)args[0];
-
- printf("%d: %d %d\n", (int)(*(ffi_arg *)resp), *(T *)args[0], *(T *)args[1]);
- }
-
-typedef T (*cls_ret_T)(T, ...);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[3];
- T res;
-
- cl_arg_types[0] = &ffi_type_uchar;
- cl_arg_types[1] = &ffi_type_uchar;
- cl_arg_types[2] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2,
- &ffi_type_uchar, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_T_fn, NULL, code) == FFI_OK);
- res = ((((cls_ret_T)code)(67, 4)));
- /* { dg-output "67: 67 4" } */
- printf("res: %d\n", res);
- /* { dg-output "\nres: 67" } */
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Test anonymous unsigned char argument.
+ Limitations: none.
+ PR: none.
+ Originator: ARM Ltd. */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef unsigned char T;
+
+static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+ {
+ *(ffi_arg *)resp = *(T *)args[0];
+
+ printf("%d: %d %d\n", (int)(*(ffi_arg *)resp), *(T *)args[0], *(T *)args[1]);
+ }
+
+typedef T (*cls_ret_T)(T, ...);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[3];
+ T res;
+
+ cl_arg_types[0] = &ffi_type_uchar;
+ cl_arg_types[1] = &ffi_type_uchar;
+ cl_arg_types[2] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2,
+ &ffi_type_uchar, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_T_fn, NULL, code) == FFI_OK);
+ res = ((((cls_ret_T)code)(67, 4)));
+ /* { dg-output "67: 67 4" } */
+ printf("res: %d\n", res);
+ /* { dg-output "\nres: 67" } */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar_va/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar_va/ya.make
index ea7a6fbca6..2d963a350d 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar_va/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uchar_va/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_uchar_va.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_uchar_va.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint.c
index c80f594d4c..885cff5c31 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint.c
@@ -1,43 +1,43 @@
-/* Area: closure_call
- Purpose: Check return value uint.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void cls_ret_uint_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- *(ffi_arg *)resp = *(unsigned int *)args[0];
-
- printf("%d: %d\n",*(unsigned int *)args[0],
- (int)*(ffi_arg *)(resp));
-}
-typedef unsigned int (*cls_ret_uint)(unsigned int);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[2];
- unsigned int res;
-
- cl_arg_types[0] = &ffi_type_uint;
- cl_arg_types[1] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_uint, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_uint_fn, NULL, code) == FFI_OK);
-
- res = (*((cls_ret_uint)code))(2147483647);
- /* { dg-output "2147483647: 2147483647" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 2147483647" } */
-
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check return value uint.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void cls_ret_uint_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ *(ffi_arg *)resp = *(unsigned int *)args[0];
+
+ printf("%d: %d\n",*(unsigned int *)args[0],
+ (int)*(ffi_arg *)(resp));
+}
+typedef unsigned int (*cls_ret_uint)(unsigned int);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[2];
+ unsigned int res;
+
+ cl_arg_types[0] = &ffi_type_uint;
+ cl_arg_types[1] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
+ &ffi_type_uint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_uint_fn, NULL, code) == FFI_OK);
+
+ res = (*((cls_ret_uint)code))(2147483647);
+ /* { dg-output "2147483647: 2147483647" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 2147483647" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint/ya.make
index 129d375b9e..e4344b6e3d 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_uint.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_uint.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint_va.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint_va.c
index fcd7b4a48c..b04cfd19c2 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint_va.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint_va.c
@@ -1,45 +1,45 @@
-/* Area: closure_call
- Purpose: Test anonymous unsigned int argument.
- Limitations: none.
- PR: none.
- Originator: ARM Ltd. */
-
-/* { dg-do run } */
-
-#include "ffitest.h"
-
-typedef unsigned int T;
-
-static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
- {
- *(ffi_arg *)resp = *(T *)args[0];
-
- printf("%d: %d %d\n", (int)*(ffi_arg *)resp, *(T *)args[0], *(T *)args[1]);
- }
-
-typedef T (*cls_ret_T)(T, ...);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[3];
- T res;
-
- cl_arg_types[0] = &ffi_type_uint;
- cl_arg_types[1] = &ffi_type_uint;
- cl_arg_types[2] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2,
- &ffi_type_uint, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_T_fn, NULL, code) == FFI_OK);
- res = ((((cls_ret_T)code)(67, 4)));
- /* { dg-output "67: 67 4" } */
- printf("res: %d\n", res);
- /* { dg-output "\nres: 67" } */
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Test anonymous unsigned int argument.
+ Limitations: none.
+ PR: none.
+ Originator: ARM Ltd. */
+
+/* { dg-do run } */
+
+#include "ffitest.h"
+
+typedef unsigned int T;
+
+static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+ {
+ *(ffi_arg *)resp = *(T *)args[0];
+
+ printf("%d: %d %d\n", (int)*(ffi_arg *)resp, *(T *)args[0], *(T *)args[1]);
+ }
+
+typedef T (*cls_ret_T)(T, ...);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[3];
+ T res;
+
+ cl_arg_types[0] = &ffi_type_uint;
+ cl_arg_types[1] = &ffi_type_uint;
+ cl_arg_types[2] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2,
+ &ffi_type_uint, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_T_fn, NULL, code) == FFI_OK);
+ res = ((((cls_ret_T)code)(67, 4)));
+ /* { dg-output "67: 67 4" } */
+ printf("res: %d\n", res);
+ /* { dg-output "\nres: 67" } */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint_va/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint_va/ya.make
index 0db56fb11c..87fb8f7030 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint_va/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_uint_va/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_uint_va.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_uint_va.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulong_va.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulong_va.c
index 987dc86609..0315082e09 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulong_va.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulong_va.c
@@ -1,45 +1,45 @@
-/* Area: closure_call
- Purpose: Test anonymous unsigned long argument.
- Limitations: none.
- PR: none.
- Originator: ARM Ltd. */
-
-/* { dg-do run } */
-
-#include "ffitest.h"
-
-typedef unsigned long T;
-
-static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
- {
- *(T *)resp = *(T *)args[0];
-
- printf("%ld: %ld %ld\n", *(T *)resp, *(T *)args[0], *(T *)args[1]);
- }
-
-typedef T (*cls_ret_T)(T, ...);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[3];
- T res;
-
- cl_arg_types[0] = &ffi_type_ulong;
- cl_arg_types[1] = &ffi_type_ulong;
- cl_arg_types[2] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2,
- &ffi_type_ulong, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_T_fn, NULL, code) == FFI_OK);
- res = ((((cls_ret_T)code)(67, 4)));
- /* { dg-output "67: 67 4" } */
- printf("res: %ld\n", res);
- /* { dg-output "\nres: 67" } */
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Test anonymous unsigned long argument.
+ Limitations: none.
+ PR: none.
+ Originator: ARM Ltd. */
+
+/* { dg-do run } */
+
+#include "ffitest.h"
+
+typedef unsigned long T;
+
+static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+ {
+ *(T *)resp = *(T *)args[0];
+
+ printf("%ld: %ld %ld\n", *(T *)resp, *(T *)args[0], *(T *)args[1]);
+ }
+
+typedef T (*cls_ret_T)(T, ...);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[3];
+ T res;
+
+ cl_arg_types[0] = &ffi_type_ulong;
+ cl_arg_types[1] = &ffi_type_ulong;
+ cl_arg_types[2] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2,
+ &ffi_type_ulong, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_T_fn, NULL, code) == FFI_OK);
+ res = ((((cls_ret_T)code)(67, 4)));
+ /* { dg-output "67: 67 4" } */
+ printf("res: %ld\n", res);
+ /* { dg-output "\nres: 67" } */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulong_va/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulong_va/ya.make
index 56f20c9c33..5169351460 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulong_va/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulong_va/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_ulong_va.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_ulong_va.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulonglong.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulonglong.c
index 808875c899..62f2cae63a 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulonglong.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulonglong.c
@@ -1,47 +1,47 @@
-/* Area: closure_call
- Purpose: Check return value long long.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
-#include "ffitest.h"
-
-static void cls_ret_ulonglong_fn(ffi_cif* cif __UNUSED__, void* resp,
- void** args, void* userdata __UNUSED__)
-{
- *(unsigned long long *)resp= 0xfffffffffffffffLL ^ *(unsigned long long *)args[0];
-
- printf("%" PRIuLL ": %" PRIuLL "\n",*(unsigned long long *)args[0],
- *(unsigned long long *)(resp));
-}
-typedef unsigned long long (*cls_ret_ulonglong)(unsigned long long);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[2];
- unsigned long long res;
-
- cl_arg_types[0] = &ffi_type_uint64;
- cl_arg_types[1] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_uint64, cl_arg_types) == FFI_OK);
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_ulonglong_fn, NULL, code) == FFI_OK);
- res = (*((cls_ret_ulonglong)code))(214LL);
- /* { dg-output "214: 1152921504606846761" } */
- printf("res: %" PRIdLL "\n", res);
- /* { dg-output "\nres: 1152921504606846761" } */
-
- res = (*((cls_ret_ulonglong)code))(9223372035854775808LL);
- /* { dg-output "\n9223372035854775808: 8070450533247928831" } */
- printf("res: %" PRIdLL "\n", res);
- /* { dg-output "\nres: 8070450533247928831" } */
-
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check return value long long.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
+#include "ffitest.h"
+
+static void cls_ret_ulonglong_fn(ffi_cif* cif __UNUSED__, void* resp,
+ void** args, void* userdata __UNUSED__)
+{
+ *(unsigned long long *)resp= 0xfffffffffffffffLL ^ *(unsigned long long *)args[0];
+
+ printf("%" PRIuLL ": %" PRIuLL "\n",*(unsigned long long *)args[0],
+ *(unsigned long long *)(resp));
+}
+typedef unsigned long long (*cls_ret_ulonglong)(unsigned long long);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[2];
+ unsigned long long res;
+
+ cl_arg_types[0] = &ffi_type_uint64;
+ cl_arg_types[1] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
+ &ffi_type_uint64, cl_arg_types) == FFI_OK);
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_ulonglong_fn, NULL, code) == FFI_OK);
+ res = (*((cls_ret_ulonglong)code))(214LL);
+ /* { dg-output "214: 1152921504606846761" } */
+ printf("res: %" PRIdLL "\n", res);
+ /* { dg-output "\nres: 1152921504606846761" } */
+
+ res = (*((cls_ret_ulonglong)code))(9223372035854775808LL);
+ /* { dg-output "\n9223372035854775808: 8070450533247928831" } */
+ printf("res: %" PRIdLL "\n", res);
+ /* { dg-output "\nres: 8070450533247928831" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulonglong/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulonglong/ya.make
index 25e83aeaf6..9b2dc41c8e 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulonglong/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ulonglong/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_ulonglong.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_ulonglong.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort.c
index 11f53b5088..a00100e07f 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort.c
@@ -1,43 +1,43 @@
-/* Area: closure_call
- Purpose: Check return value ushort.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static void cls_ret_ushort_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- *(ffi_arg*)resp = *(unsigned short *)args[0];
-
- printf("%d: %d\n",*(unsigned short *)args[0],
- (int)*(ffi_arg *)(resp));
-}
-typedef unsigned short (*cls_ret_ushort)(unsigned short);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[2];
- unsigned short res;
-
- cl_arg_types[0] = &ffi_type_ushort;
- cl_arg_types[1] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
- &ffi_type_ushort, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_ushort_fn, NULL, code) == FFI_OK);
-
- res = (*((cls_ret_ushort)code))(65535);
- /* { dg-output "65535: 65535" } */
- printf("res: %d\n",res);
- /* { dg-output "\nres: 65535" } */
-
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check return value ushort.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+static void cls_ret_ushort_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ *(ffi_arg*)resp = *(unsigned short *)args[0];
+
+ printf("%d: %d\n",*(unsigned short *)args[0],
+ (int)*(ffi_arg *)(resp));
+}
+typedef unsigned short (*cls_ret_ushort)(unsigned short);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[2];
+ unsigned short res;
+
+ cl_arg_types[0] = &ffi_type_ushort;
+ cl_arg_types[1] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
+ &ffi_type_ushort, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_ushort_fn, NULL, code) == FFI_OK);
+
+ res = (*((cls_ret_ushort)code))(65535);
+ /* { dg-output "65535: 65535" } */
+ printf("res: %d\n",res);
+ /* { dg-output "\nres: 65535" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort/ya.make
index 41a35f9672..cd744ba6f4 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_ushort.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_ushort.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort_va.c b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort_va.c
index 58586c1105..37aa1064ea 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort_va.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort_va.c
@@ -1,44 +1,44 @@
-/* Area: closure_call
- Purpose: Test anonymous unsigned short argument.
- Limitations: none.
- PR: none.
- Originator: ARM Ltd. */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef unsigned short T;
-
-static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
- {
- *(ffi_arg *)resp = *(T *)args[0];
-
- printf("%d: %d %d\n", (int)(*(ffi_arg *)resp), *(T *)args[0], *(T *)args[1]);
- }
-
-typedef T (*cls_ret_T)(T, ...);
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type * cl_arg_types[3];
- T res;
-
- cl_arg_types[0] = &ffi_type_ushort;
- cl_arg_types[1] = &ffi_type_ushort;
- cl_arg_types[2] = NULL;
-
- /* Initialize the cif */
- CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2,
- &ffi_type_ushort, cl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_T_fn, NULL, code) == FFI_OK);
- res = ((((cls_ret_T)code)(67, 4)));
- /* { dg-output "67: 67 4" } */
- printf("res: %d\n", res);
- /* { dg-output "\nres: 67" } */
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Test anonymous unsigned short argument.
+ Limitations: none.
+ PR: none.
+ Originator: ARM Ltd. */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef unsigned short T;
+
+static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+ {
+ *(ffi_arg *)resp = *(T *)args[0];
+
+ printf("%d: %d %d\n", (int)(*(ffi_arg *)resp), *(T *)args[0], *(T *)args[1]);
+ }
+
+typedef T (*cls_ret_T)(T, ...);
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type * cl_arg_types[3];
+ T res;
+
+ cl_arg_types[0] = &ffi_type_ushort;
+ cl_arg_types[1] = &ffi_type_ushort;
+ cl_arg_types[2] = NULL;
+
+ /* Initialize the cif */
+ CHECK(ffi_prep_cif_var(&cif, FFI_DEFAULT_ABI, 1, 2,
+ &ffi_type_ushort, cl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_ret_T_fn, NULL, code) == FFI_OK);
+ res = ((((cls_ret_T)code)(67, 4)));
+ /* { dg-output "67: 67 4" } */
+ printf("res: %d\n", res);
+ /* { dg-output "\nres: 67" } */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort_va/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort_va/ya.make
index 13caf9fc3a..798c5ed5c9 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort_va/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/cls_ushort_va/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- cls_ushort_va.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ cls_ushort_va.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/err_bad_abi.c b/contrib/restricted/libffi/testsuite/libffi.closures/err_bad_abi.c
index 64ab7a45b8..f5a73179ec 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/err_bad_abi.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/err_bad_abi.c
@@ -1,36 +1,36 @@
-/* Area: ffi_prep_cif, ffi_prep_closure
- Purpose: Test error return for bad ABIs.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/6/2007 */
-
-/* { dg-do run } */
-
-#include "ffitest.h"
-
-static void
-dummy_fn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__,
- void** args __UNUSED__, void* userdata __UNUSED__)
-{}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type* arg_types[1];
-
- arg_types[0] = NULL;
-
- CHECK(ffi_prep_cif(&cif, 255, 0, &ffi_type_void,
- arg_types) == FFI_BAD_ABI);
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &ffi_type_void,
- arg_types) == FFI_OK);
-
- cif.abi= 255;
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, dummy_fn, NULL, code) == FFI_BAD_ABI);
-
- exit(0);
-}
+/* Area: ffi_prep_cif, ffi_prep_closure
+ Purpose: Test error return for bad ABIs.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/6/2007 */
+
+/* { dg-do run } */
+
+#include "ffitest.h"
+
+static void
+dummy_fn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__,
+ void** args __UNUSED__, void* userdata __UNUSED__)
+{}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type* arg_types[1];
+
+ arg_types[0] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, 255, 0, &ffi_type_void,
+ arg_types) == FFI_BAD_ABI);
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &ffi_type_void,
+ arg_types) == FFI_OK);
+
+ cif.abi= 255;
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, dummy_fn, NULL, code) == FFI_BAD_ABI);
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/err_bad_abi/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/err_bad_abi/ya.make
index 44d8df4d1f..67284d9c78 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/err_bad_abi/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/err_bad_abi/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- err_bad_abi.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ err_bad_abi.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/ffitest.h b/contrib/restricted/libffi/testsuite/libffi.closures/ffitest.h
index c030b7026c..27d12840f8 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/ffitest.h
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/ffitest.h
@@ -1,144 +1,144 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <fcntl.h>
-#include <ffi.h>
-
-#define HAVE_STDINT_H
-#define HAVE_INTTYPES_H
-
-#ifndef _MSC_VER
-#define HAVE_MMAP_ANON
-#endif
-
-#if defined HAVE_STDINT_H
-#include <stdint.h>
-#endif
-
-#if defined HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-
-#define MAX_ARGS 256
-
-#define CHECK(x) (void)(!(x) ? (abort(), 1) : 0)
-
-/* Define macros so that compilers other than gcc can run the tests. */
-#undef __UNUSED__
-#if defined(__GNUC__)
-#define __UNUSED__ __attribute__((__unused__))
-#define __STDCALL__ __attribute__((stdcall))
-#define __THISCALL__ __attribute__((thiscall))
-#define __FASTCALL__ __attribute__((fastcall))
-#define __MSABI__ __attribute__((ms_abi))
-#else
-#define __UNUSED__
-#define __STDCALL__ __stdcall
-#define __THISCALL__ __thiscall
-#define __FASTCALL__ __fastcall
-#endif
-
-#ifndef ABI_NUM
-#define ABI_NUM FFI_DEFAULT_ABI
-#define ABI_ATTR
-#endif
-
-/* Prefer MAP_ANON(YMOUS) to /dev/zero, since we don't need to keep a
- file open. */
-#ifdef HAVE_MMAP_ANON
-# undef HAVE_MMAP_DEV_ZERO
-
-# include <sys/mman.h>
-# ifndef MAP_FAILED
-# define MAP_FAILED -1
-# endif
-# if !defined (MAP_ANONYMOUS) && defined (MAP_ANON)
-# define MAP_ANONYMOUS MAP_ANON
-# endif
-# define USING_MMAP
-
-#endif
-
-#ifdef HAVE_MMAP_DEV_ZERO
-
-# include <sys/mman.h>
-# ifndef MAP_FAILED
-# define MAP_FAILED -1
-# endif
-# define USING_MMAP
-
-#endif
-
-/* MinGW kludge. */
-#if defined(_WIN64) | defined(_WIN32)
-#define PRIdLL "I64d"
-#define PRIuLL "I64u"
-#else
-#define PRIdLL "lld"
-#define PRIuLL "llu"
-#endif
-
-/* Tru64 UNIX kludge. */
-#if defined(__alpha__) && defined(__osf__)
-/* Tru64 UNIX V4.0 doesn't support %lld/%lld, but long is 64-bit. */
-#undef PRIdLL
-#define PRIdLL "ld"
-#undef PRIuLL
-#define PRIuLL "lu"
-#define PRId8 "hd"
-#define PRIu8 "hu"
-#define PRId64 "ld"
-#define PRIu64 "lu"
-#define PRIuPTR "lu"
-#endif
-
-/* PA HP-UX kludge. */
-#if defined(__hppa__) && defined(__hpux__) && !defined(PRIuPTR)
-#define PRIuPTR "lu"
-#endif
-
-/* IRIX kludge. */
-#if defined(__sgi)
-/* IRIX 6.5 <inttypes.h> provides all definitions, but only for C99
- compilations. */
-#define PRId8 "hhd"
-#define PRIu8 "hhu"
-#if (_MIPS_SZLONG == 32)
-#define PRId64 "lld"
-#define PRIu64 "llu"
-#endif
-/* This doesn't match <inttypes.h>, which always has "lld" here, but the
- arguments are uint64_t, int64_t, which are unsigned long, long for
- 64-bit in <sgidefs.h>. */
-#if (_MIPS_SZLONG == 64)
-#define PRId64 "ld"
-#define PRIu64 "lu"
-#endif
-/* This doesn't match <inttypes.h>, which has "u" here, but the arguments
- are uintptr_t, which is always unsigned long. */
-#define PRIuPTR "lu"
-#endif
-
-/* Solaris < 10 kludge. */
-#if defined(__sun__) && defined(__svr4__) && !defined(PRIuPTR)
-#if defined(__arch64__) || defined (__x86_64__)
-#define PRIuPTR "lu"
-#else
-#define PRIuPTR "u"
-#endif
-#endif
-
-/* MSVC kludge. */
-#if defined _MSC_VER
-#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
-#define PRIuPTR "lu"
-#define PRIu8 "u"
-#define PRId8 "d"
-#define PRIu64 "I64u"
-#define PRId64 "I64d"
-#endif
-#endif
-
-#ifndef PRIuPTR
-#define PRIuPTR "u"
-#endif
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <fcntl.h>
+#include <ffi.h>
+
+#define HAVE_STDINT_H
+#define HAVE_INTTYPES_H
+
+#ifndef _MSC_VER
+#define HAVE_MMAP_ANON
+#endif
+
+#if defined HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
+#if defined HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+
+#define MAX_ARGS 256
+
+#define CHECK(x) (void)(!(x) ? (abort(), 1) : 0)
+
+/* Define macros so that compilers other than gcc can run the tests. */
+#undef __UNUSED__
+#if defined(__GNUC__)
+#define __UNUSED__ __attribute__((__unused__))
+#define __STDCALL__ __attribute__((stdcall))
+#define __THISCALL__ __attribute__((thiscall))
+#define __FASTCALL__ __attribute__((fastcall))
+#define __MSABI__ __attribute__((ms_abi))
+#else
+#define __UNUSED__
+#define __STDCALL__ __stdcall
+#define __THISCALL__ __thiscall
+#define __FASTCALL__ __fastcall
+#endif
+
+#ifndef ABI_NUM
+#define ABI_NUM FFI_DEFAULT_ABI
+#define ABI_ATTR
+#endif
+
+/* Prefer MAP_ANON(YMOUS) to /dev/zero, since we don't need to keep a
+ file open. */
+#ifdef HAVE_MMAP_ANON
+# undef HAVE_MMAP_DEV_ZERO
+
+# include <sys/mman.h>
+# ifndef MAP_FAILED
+# define MAP_FAILED -1
+# endif
+# if !defined (MAP_ANONYMOUS) && defined (MAP_ANON)
+# define MAP_ANONYMOUS MAP_ANON
+# endif
+# define USING_MMAP
+
+#endif
+
+#ifdef HAVE_MMAP_DEV_ZERO
+
+# include <sys/mman.h>
+# ifndef MAP_FAILED
+# define MAP_FAILED -1
+# endif
+# define USING_MMAP
+
+#endif
+
+/* MinGW kludge. */
+#if defined(_WIN64) | defined(_WIN32)
+#define PRIdLL "I64d"
+#define PRIuLL "I64u"
+#else
+#define PRIdLL "lld"
+#define PRIuLL "llu"
+#endif
+
+/* Tru64 UNIX kludge. */
+#if defined(__alpha__) && defined(__osf__)
+/* Tru64 UNIX V4.0 doesn't support %lld/%lld, but long is 64-bit. */
+#undef PRIdLL
+#define PRIdLL "ld"
+#undef PRIuLL
+#define PRIuLL "lu"
+#define PRId8 "hd"
+#define PRIu8 "hu"
+#define PRId64 "ld"
+#define PRIu64 "lu"
+#define PRIuPTR "lu"
+#endif
+
+/* PA HP-UX kludge. */
+#if defined(__hppa__) && defined(__hpux__) && !defined(PRIuPTR)
+#define PRIuPTR "lu"
+#endif
+
+/* IRIX kludge. */
+#if defined(__sgi)
+/* IRIX 6.5 <inttypes.h> provides all definitions, but only for C99
+ compilations. */
+#define PRId8 "hhd"
+#define PRIu8 "hhu"
+#if (_MIPS_SZLONG == 32)
+#define PRId64 "lld"
+#define PRIu64 "llu"
+#endif
+/* This doesn't match <inttypes.h>, which always has "lld" here, but the
+ arguments are uint64_t, int64_t, which are unsigned long, long for
+ 64-bit in <sgidefs.h>. */
+#if (_MIPS_SZLONG == 64)
+#define PRId64 "ld"
+#define PRIu64 "lu"
+#endif
+/* This doesn't match <inttypes.h>, which has "u" here, but the arguments
+ are uintptr_t, which is always unsigned long. */
+#define PRIuPTR "lu"
+#endif
+
+/* Solaris < 10 kludge. */
+#if defined(__sun__) && defined(__svr4__) && !defined(PRIuPTR)
+#if defined(__arch64__) || defined (__x86_64__)
+#define PRIuPTR "lu"
+#else
+#define PRIuPTR "u"
+#endif
+#endif
+
+/* MSVC kludge. */
+#if defined _MSC_VER
+#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
+#define PRIuPTR "lu"
+#define PRIu8 "u"
+#define PRId8 "d"
+#define PRIu64 "I64u"
+#define PRId64 "I64d"
+#endif
+#endif
+
+#ifndef PRIuPTR
+#define PRIuPTR "u"
+#endif
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/huge_struct.c b/contrib/restricted/libffi/testsuite/libffi.closures/huge_struct.c
index a0170d549f..1915c3f1e8 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/huge_struct.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/huge_struct.c
@@ -1,341 +1,341 @@
-/* Area: ffi_call, closure_call
- Purpose: Check large structure returns.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/18/2007
-*/
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
-/* { dg-options -Wformat=0 { target moxie*-*-elf or1k-*-* } } */
-
-#include "ffitest.h"
-
-typedef struct BigStruct{
- uint8_t a;
- int8_t b;
- uint16_t c;
- int16_t d;
- uint32_t e;
- int32_t f;
- uint64_t g;
- int64_t h;
- float i;
- double j;
- long double k;
- char* l;
- uint8_t m;
- int8_t n;
- uint16_t o;
- int16_t p;
- uint32_t q;
- int32_t r;
- uint64_t s;
- int64_t t;
- float u;
- double v;
- long double w;
- char* x;
- uint8_t y;
- int8_t z;
- uint16_t aa;
- int16_t bb;
- uint32_t cc;
- int32_t dd;
- uint64_t ee;
- int64_t ff;
- float gg;
- double hh;
- long double ii;
- char* jj;
- uint8_t kk;
- int8_t ll;
- uint16_t mm;
- int16_t nn;
- uint32_t oo;
- int32_t pp;
- uint64_t qq;
- int64_t rr;
- float ss;
- double tt;
- long double uu;
- char* vv;
- uint8_t ww;
- int8_t xx;
-} BigStruct;
-
-BigStruct
-test_large_fn(
- uint8_t ui8_1,
- int8_t si8_1,
- uint16_t ui16_1,
- int16_t si16_1,
- uint32_t ui32_1,
- int32_t si32_1,
- uint64_t ui64_1,
- int64_t si64_1,
- float f_1,
- double d_1,
- long double ld_1,
- char* p_1,
- uint8_t ui8_2,
- int8_t si8_2,
- uint16_t ui16_2,
- int16_t si16_2,
- uint32_t ui32_2,
- int32_t si32_2,
- uint64_t ui64_2,
- int64_t si64_2,
- float f_2,
- double d_2,
- long double ld_2,
- char* p_2,
- uint8_t ui8_3,
- int8_t si8_3,
- uint16_t ui16_3,
- int16_t si16_3,
- uint32_t ui32_3,
- int32_t si32_3,
- uint64_t ui64_3,
- int64_t si64_3,
- float f_3,
- double d_3,
- long double ld_3,
- char* p_3,
- uint8_t ui8_4,
- int8_t si8_4,
- uint16_t ui16_4,
- int16_t si16_4,
- uint32_t ui32_4,
- int32_t si32_4,
- uint64_t ui64_4,
- int64_t si64_4,
- float f_4,
- double d_4,
- long double ld_4,
- char* p_4,
- uint8_t ui8_5,
- int8_t si8_5)
-{
- BigStruct retVal = {
- ui8_1 + 1, si8_1 + 1, ui16_1 + 1, si16_1 + 1, ui32_1 + 1, si32_1 + 1,
- ui64_1 + 1, si64_1 + 1, f_1 + 1, d_1 + 1, ld_1 + 1, (char*)((intptr_t)p_1 + 1),
- ui8_2 + 2, si8_2 + 2, ui16_2 + 2, si16_2 + 2, ui32_2 + 2, si32_2 + 2,
- ui64_2 + 2, si64_2 + 2, f_2 + 2, d_2 + 2, ld_2 + 2, (char*)((intptr_t)p_2 + 2),
- ui8_3 + 3, si8_3 + 3, ui16_3 + 3, si16_3 + 3, ui32_3 + 3, si32_3 + 3,
- ui64_3 + 3, si64_3 + 3, f_3 + 3, d_3 + 3, ld_3 + 3, (char*)((intptr_t)p_3 + 3),
- ui8_4 + 4, si8_4 + 4, ui16_4 + 4, si16_4 + 4, ui32_4 + 4, si32_4 + 4,
- ui64_4 + 4, si64_4 + 4, f_4 + 4, d_4 + 4, ld_4 + 4, (char*)((intptr_t)p_4 + 4),
- ui8_5 + 5, si8_5 + 5};
-
- printf("%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %" PRIu8 " %" PRId8 ": "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %" PRIu8 " %" PRId8 "\n",
- ui8_1, si8_1, ui16_1, si16_1, ui32_1, si32_1, ui64_1, si64_1, f_1, d_1, ld_1, (unsigned long)p_1,
- ui8_2, si8_2, ui16_2, si16_2, ui32_2, si32_2, ui64_2, si64_2, f_2, d_2, ld_2, (unsigned long)p_2,
- ui8_3, si8_3, ui16_3, si16_3, ui32_3, si32_3, ui64_3, si64_3, f_3, d_3, ld_3, (unsigned long)p_3,
- ui8_4, si8_4, ui16_4, si16_4, ui32_4, si32_4, ui64_4, si64_4, f_4, d_4, ld_4, (unsigned long)p_4, ui8_5, si8_5,
- retVal.a, retVal.b, retVal.c, retVal.d, retVal.e, retVal.f,
- retVal.g, retVal.h, retVal.i, retVal.j, retVal.k, (unsigned long)retVal.l,
- retVal.m, retVal.n, retVal.o, retVal.p, retVal.q, retVal.r,
- retVal.s, retVal.t, retVal.u, retVal.v, retVal.w, (unsigned long)retVal.x,
- retVal.y, retVal.z, retVal.aa, retVal.bb, retVal.cc, retVal.dd,
- retVal.ee, retVal.ff, retVal.gg, retVal.hh, retVal.ii, (unsigned long)retVal.jj,
- retVal.kk, retVal.ll, retVal.mm, retVal.nn, retVal.oo, retVal.pp,
- retVal.qq, retVal.rr, retVal.ss, retVal.tt, retVal.uu, (unsigned long)retVal.vv, retVal.ww, retVal.xx);
-
- return retVal;
-}
-
-static void
-cls_large_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__)
-{
- uint8_t ui8_1 = *(uint8_t*)args[0];
- int8_t si8_1 = *(int8_t*)args[1];
- uint16_t ui16_1 = *(uint16_t*)args[2];
- int16_t si16_1 = *(int16_t*)args[3];
- uint32_t ui32_1 = *(uint32_t*)args[4];
- int32_t si32_1 = *(int32_t*)args[5];
- uint64_t ui64_1 = *(uint64_t*)args[6];
- int64_t si64_1 = *(int64_t*)args[7];
- float f_1 = *(float*)args[8];
- double d_1 = *(double*)args[9];
- long double ld_1 = *(long double*)args[10];
- char* p_1 = *(char**)args[11];
- uint8_t ui8_2 = *(uint8_t*)args[12];
- int8_t si8_2 = *(int8_t*)args[13];
- uint16_t ui16_2 = *(uint16_t*)args[14];
- int16_t si16_2 = *(int16_t*)args[15];
- uint32_t ui32_2 = *(uint32_t*)args[16];
- int32_t si32_2 = *(int32_t*)args[17];
- uint64_t ui64_2 = *(uint64_t*)args[18];
- int64_t si64_2 = *(int64_t*)args[19];
- float f_2 = *(float*)args[20];
- double d_2 = *(double*)args[21];
- long double ld_2 = *(long double*)args[22];
- char* p_2 = *(char**)args[23];
- uint8_t ui8_3 = *(uint8_t*)args[24];
- int8_t si8_3 = *(int8_t*)args[25];
- uint16_t ui16_3 = *(uint16_t*)args[26];
- int16_t si16_3 = *(int16_t*)args[27];
- uint32_t ui32_3 = *(uint32_t*)args[28];
- int32_t si32_3 = *(int32_t*)args[29];
- uint64_t ui64_3 = *(uint64_t*)args[30];
- int64_t si64_3 = *(int64_t*)args[31];
- float f_3 = *(float*)args[32];
- double d_3 = *(double*)args[33];
- long double ld_3 = *(long double*)args[34];
- char* p_3 = *(char**)args[35];
- uint8_t ui8_4 = *(uint8_t*)args[36];
- int8_t si8_4 = *(int8_t*)args[37];
- uint16_t ui16_4 = *(uint16_t*)args[38];
- int16_t si16_4 = *(int16_t*)args[39];
- uint32_t ui32_4 = *(uint32_t*)args[40];
- int32_t si32_4 = *(int32_t*)args[41];
- uint64_t ui64_4 = *(uint64_t*)args[42];
- int64_t si64_4 = *(int64_t*)args[43];
- float f_4 = *(float*)args[44];
- double d_4 = *(double*)args[45];
- long double ld_4 = *(long double*)args[46];
- char* p_4 = *(char**)args[47];
- uint8_t ui8_5 = *(uint8_t*)args[48];
- int8_t si8_5 = *(int8_t*)args[49];
-
- *(BigStruct*)resp = test_large_fn(
- ui8_1, si8_1, ui16_1, si16_1, ui32_1, si32_1, ui64_1, si64_1, f_1, d_1, ld_1, p_1,
- ui8_2, si8_2, ui16_2, si16_2, ui32_2, si32_2, ui64_2, si64_2, f_2, d_2, ld_2, p_2,
- ui8_3, si8_3, ui16_3, si16_3, ui32_3, si32_3, ui64_3, si64_3, f_3, d_3, ld_3, p_3,
- ui8_4, si8_4, ui16_4, si16_4, ui32_4, si32_4, ui64_4, si64_4, f_4, d_4, ld_4, p_4,
- ui8_5, si8_5);
-}
-
-int
-main(int argc __UNUSED__, const char** argv __UNUSED__)
-{
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
-
- ffi_cif cif;
- ffi_type* argTypes[51];
- void* argValues[51];
-
- ffi_type ret_struct_type;
- ffi_type* st_fields[51];
- BigStruct retVal;
-
- uint8_t ui8 = 1;
- int8_t si8 = 2;
- uint16_t ui16 = 3;
- int16_t si16 = 4;
- uint32_t ui32 = 5;
- int32_t si32 = 6;
- uint64_t ui64 = 7;
- int64_t si64 = 8;
- float f = 9;
- double d = 10;
- long double ld = 11;
- char* p = (char*)0x12345678;
-
- memset (&retVal, 0, sizeof(retVal));
-
- ret_struct_type.size = 0;
- ret_struct_type.alignment = 0;
- ret_struct_type.type = FFI_TYPE_STRUCT;
- ret_struct_type.elements = st_fields;
-
- st_fields[0] = st_fields[12] = st_fields[24] = st_fields[36] = st_fields[48] = &ffi_type_uint8;
- st_fields[1] = st_fields[13] = st_fields[25] = st_fields[37] = st_fields[49] = &ffi_type_sint8;
- st_fields[2] = st_fields[14] = st_fields[26] = st_fields[38] = &ffi_type_uint16;
- st_fields[3] = st_fields[15] = st_fields[27] = st_fields[39] = &ffi_type_sint16;
- st_fields[4] = st_fields[16] = st_fields[28] = st_fields[40] = &ffi_type_uint32;
- st_fields[5] = st_fields[17] = st_fields[29] = st_fields[41] = &ffi_type_sint32;
- st_fields[6] = st_fields[18] = st_fields[30] = st_fields[42] = &ffi_type_uint64;
- st_fields[7] = st_fields[19] = st_fields[31] = st_fields[43] = &ffi_type_sint64;
- st_fields[8] = st_fields[20] = st_fields[32] = st_fields[44] = &ffi_type_float;
- st_fields[9] = st_fields[21] = st_fields[33] = st_fields[45] = &ffi_type_double;
- st_fields[10] = st_fields[22] = st_fields[34] = st_fields[46] = &ffi_type_longdouble;
- st_fields[11] = st_fields[23] = st_fields[35] = st_fields[47] = &ffi_type_pointer;
-
- st_fields[50] = NULL;
-
- argTypes[0] = argTypes[12] = argTypes[24] = argTypes[36] = argTypes[48] = &ffi_type_uint8;
- argValues[0] = argValues[12] = argValues[24] = argValues[36] = argValues[48] = &ui8;
- argTypes[1] = argTypes[13] = argTypes[25] = argTypes[37] = argTypes[49] = &ffi_type_sint8;
- argValues[1] = argValues[13] = argValues[25] = argValues[37] = argValues[49] = &si8;
- argTypes[2] = argTypes[14] = argTypes[26] = argTypes[38] = &ffi_type_uint16;
- argValues[2] = argValues[14] = argValues[26] = argValues[38] = &ui16;
- argTypes[3] = argTypes[15] = argTypes[27] = argTypes[39] = &ffi_type_sint16;
- argValues[3] = argValues[15] = argValues[27] = argValues[39] = &si16;
- argTypes[4] = argTypes[16] = argTypes[28] = argTypes[40] = &ffi_type_uint32;
- argValues[4] = argValues[16] = argValues[28] = argValues[40] = &ui32;
- argTypes[5] = argTypes[17] = argTypes[29] = argTypes[41] = &ffi_type_sint32;
- argValues[5] = argValues[17] = argValues[29] = argValues[41] = &si32;
- argTypes[6] = argTypes[18] = argTypes[30] = argTypes[42] = &ffi_type_uint64;
- argValues[6] = argValues[18] = argValues[30] = argValues[42] = &ui64;
- argTypes[7] = argTypes[19] = argTypes[31] = argTypes[43] = &ffi_type_sint64;
- argValues[7] = argValues[19] = argValues[31] = argValues[43] = &si64;
- argTypes[8] = argTypes[20] = argTypes[32] = argTypes[44] = &ffi_type_float;
- argValues[8] = argValues[20] = argValues[32] = argValues[44] = &f;
- argTypes[9] = argTypes[21] = argTypes[33] = argTypes[45] = &ffi_type_double;
- argValues[9] = argValues[21] = argValues[33] = argValues[45] = &d;
- argTypes[10] = argTypes[22] = argTypes[34] = argTypes[46] = &ffi_type_longdouble;
- argValues[10] = argValues[22] = argValues[34] = argValues[46] = &ld;
- argTypes[11] = argTypes[23] = argTypes[35] = argTypes[47] = &ffi_type_pointer;
- argValues[11] = argValues[23] = argValues[35] = argValues[47] = &p;
-
- argTypes[50] = NULL;
- argValues[50] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 50, &ret_struct_type, argTypes) == FFI_OK);
-
- ffi_call(&cif, FFI_FN(test_large_fn), &retVal, argValues);
- /* { dg-output "1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2: 2 3 4 5 6 7 8 9 10 11 12 0x12345679 3 4 5 6 7 8 9 10 11 12 13 0x1234567a 4 5 6 7 8 9 10 11 12 13 14 0x1234567b 5 6 7 8 9 10 11 12 13 14 15 0x1234567c 6 7" } */
- printf("res: %" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %" PRIu8 " %" PRId8 "\n",
- retVal.a, retVal.b, retVal.c, retVal.d, retVal.e, retVal.f,
- retVal.g, retVal.h, retVal.i, retVal.j, retVal.k, (unsigned long)retVal.l,
- retVal.m, retVal.n, retVal.o, retVal.p, retVal.q, retVal.r,
- retVal.s, retVal.t, retVal.u, retVal.v, retVal.w, (unsigned long)retVal.x,
- retVal.y, retVal.z, retVal.aa, retVal.bb, retVal.cc, retVal.dd,
- retVal.ee, retVal.ff, retVal.gg, retVal.hh, retVal.ii, (unsigned long)retVal.jj,
- retVal.kk, retVal.ll, retVal.mm, retVal.nn, retVal.oo, retVal.pp,
- retVal.qq, retVal.rr, retVal.ss, retVal.tt, retVal.uu, (unsigned long)retVal.vv, retVal.ww, retVal.xx);
- /* { dg-output "\nres: 2 3 4 5 6 7 8 9 10 11 12 0x12345679 3 4 5 6 7 8 9 10 11 12 13 0x1234567a 4 5 6 7 8 9 10 11 12 13 14 0x1234567b 5 6 7 8 9 10 11 12 13 14 15 0x1234567c 6 7" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_large_fn, NULL, code) == FFI_OK);
-
- retVal = ((BigStruct(*)(
- uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, long double, char*,
- uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, long double, char*,
- uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, long double, char*,
- uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, long double, char*,
- uint8_t, int8_t))(code))(
- ui8, si8, ui16, si16, ui32, si32, ui64, si64, f, d, ld, p,
- ui8, si8, ui16, si16, ui32, si32, ui64, si64, f, d, ld, p,
- ui8, si8, ui16, si16, ui32, si32, ui64, si64, f, d, ld, p,
- ui8, si8, ui16, si16, ui32, si32, ui64, si64, f, d, ld, p,
- ui8, si8);
- /* { dg-output "\n1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2: 2 3 4 5 6 7 8 9 10 11 12 0x12345679 3 4 5 6 7 8 9 10 11 12 13 0x1234567a 4 5 6 7 8 9 10 11 12 13 14 0x1234567b 5 6 7 8 9 10 11 12 13 14 15 0x1234567c 6 7" } */
- printf("res: %" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
- "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %" PRIu8 " %" PRId8 "\n",
- retVal.a, retVal.b, retVal.c, retVal.d, retVal.e, retVal.f,
- retVal.g, retVal.h, retVal.i, retVal.j, retVal.k, (unsigned long)retVal.l,
- retVal.m, retVal.n, retVal.o, retVal.p, retVal.q, retVal.r,
- retVal.s, retVal.t, retVal.u, retVal.v, retVal.w, (unsigned long)retVal.x,
- retVal.y, retVal.z, retVal.aa, retVal.bb, retVal.cc, retVal.dd,
- retVal.ee, retVal.ff, retVal.gg, retVal.hh, retVal.ii, (unsigned long)retVal.jj,
- retVal.kk, retVal.ll, retVal.mm, retVal.nn, retVal.oo, retVal.pp,
- retVal.qq, retVal.rr, retVal.ss, retVal.tt, retVal.uu, (unsigned long)retVal.vv, retVal.ww, retVal.xx);
- /* { dg-output "\nres: 2 3 4 5 6 7 8 9 10 11 12 0x12345679 3 4 5 6 7 8 9 10 11 12 13 0x1234567a 4 5 6 7 8 9 10 11 12 13 14 0x1234567b 5 6 7 8 9 10 11 12 13 14 15 0x1234567c 6 7" } */
-
- return 0;
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check large structure returns.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/18/2007
+*/
+
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
+/* { dg-options -Wformat=0 { target moxie*-*-elf or1k-*-* } } */
+
+#include "ffitest.h"
+
+typedef struct BigStruct{
+ uint8_t a;
+ int8_t b;
+ uint16_t c;
+ int16_t d;
+ uint32_t e;
+ int32_t f;
+ uint64_t g;
+ int64_t h;
+ float i;
+ double j;
+ long double k;
+ char* l;
+ uint8_t m;
+ int8_t n;
+ uint16_t o;
+ int16_t p;
+ uint32_t q;
+ int32_t r;
+ uint64_t s;
+ int64_t t;
+ float u;
+ double v;
+ long double w;
+ char* x;
+ uint8_t y;
+ int8_t z;
+ uint16_t aa;
+ int16_t bb;
+ uint32_t cc;
+ int32_t dd;
+ uint64_t ee;
+ int64_t ff;
+ float gg;
+ double hh;
+ long double ii;
+ char* jj;
+ uint8_t kk;
+ int8_t ll;
+ uint16_t mm;
+ int16_t nn;
+ uint32_t oo;
+ int32_t pp;
+ uint64_t qq;
+ int64_t rr;
+ float ss;
+ double tt;
+ long double uu;
+ char* vv;
+ uint8_t ww;
+ int8_t xx;
+} BigStruct;
+
+BigStruct
+test_large_fn(
+ uint8_t ui8_1,
+ int8_t si8_1,
+ uint16_t ui16_1,
+ int16_t si16_1,
+ uint32_t ui32_1,
+ int32_t si32_1,
+ uint64_t ui64_1,
+ int64_t si64_1,
+ float f_1,
+ double d_1,
+ long double ld_1,
+ char* p_1,
+ uint8_t ui8_2,
+ int8_t si8_2,
+ uint16_t ui16_2,
+ int16_t si16_2,
+ uint32_t ui32_2,
+ int32_t si32_2,
+ uint64_t ui64_2,
+ int64_t si64_2,
+ float f_2,
+ double d_2,
+ long double ld_2,
+ char* p_2,
+ uint8_t ui8_3,
+ int8_t si8_3,
+ uint16_t ui16_3,
+ int16_t si16_3,
+ uint32_t ui32_3,
+ int32_t si32_3,
+ uint64_t ui64_3,
+ int64_t si64_3,
+ float f_3,
+ double d_3,
+ long double ld_3,
+ char* p_3,
+ uint8_t ui8_4,
+ int8_t si8_4,
+ uint16_t ui16_4,
+ int16_t si16_4,
+ uint32_t ui32_4,
+ int32_t si32_4,
+ uint64_t ui64_4,
+ int64_t si64_4,
+ float f_4,
+ double d_4,
+ long double ld_4,
+ char* p_4,
+ uint8_t ui8_5,
+ int8_t si8_5)
+{
+ BigStruct retVal = {
+ ui8_1 + 1, si8_1 + 1, ui16_1 + 1, si16_1 + 1, ui32_1 + 1, si32_1 + 1,
+ ui64_1 + 1, si64_1 + 1, f_1 + 1, d_1 + 1, ld_1 + 1, (char*)((intptr_t)p_1 + 1),
+ ui8_2 + 2, si8_2 + 2, ui16_2 + 2, si16_2 + 2, ui32_2 + 2, si32_2 + 2,
+ ui64_2 + 2, si64_2 + 2, f_2 + 2, d_2 + 2, ld_2 + 2, (char*)((intptr_t)p_2 + 2),
+ ui8_3 + 3, si8_3 + 3, ui16_3 + 3, si16_3 + 3, ui32_3 + 3, si32_3 + 3,
+ ui64_3 + 3, si64_3 + 3, f_3 + 3, d_3 + 3, ld_3 + 3, (char*)((intptr_t)p_3 + 3),
+ ui8_4 + 4, si8_4 + 4, ui16_4 + 4, si16_4 + 4, ui32_4 + 4, si32_4 + 4,
+ ui64_4 + 4, si64_4 + 4, f_4 + 4, d_4 + 4, ld_4 + 4, (char*)((intptr_t)p_4 + 4),
+ ui8_5 + 5, si8_5 + 5};
+
+ printf("%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %" PRIu8 " %" PRId8 ": "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %" PRIu8 " %" PRId8 "\n",
+ ui8_1, si8_1, ui16_1, si16_1, ui32_1, si32_1, ui64_1, si64_1, f_1, d_1, ld_1, (unsigned long)p_1,
+ ui8_2, si8_2, ui16_2, si16_2, ui32_2, si32_2, ui64_2, si64_2, f_2, d_2, ld_2, (unsigned long)p_2,
+ ui8_3, si8_3, ui16_3, si16_3, ui32_3, si32_3, ui64_3, si64_3, f_3, d_3, ld_3, (unsigned long)p_3,
+ ui8_4, si8_4, ui16_4, si16_4, ui32_4, si32_4, ui64_4, si64_4, f_4, d_4, ld_4, (unsigned long)p_4, ui8_5, si8_5,
+ retVal.a, retVal.b, retVal.c, retVal.d, retVal.e, retVal.f,
+ retVal.g, retVal.h, retVal.i, retVal.j, retVal.k, (unsigned long)retVal.l,
+ retVal.m, retVal.n, retVal.o, retVal.p, retVal.q, retVal.r,
+ retVal.s, retVal.t, retVal.u, retVal.v, retVal.w, (unsigned long)retVal.x,
+ retVal.y, retVal.z, retVal.aa, retVal.bb, retVal.cc, retVal.dd,
+ retVal.ee, retVal.ff, retVal.gg, retVal.hh, retVal.ii, (unsigned long)retVal.jj,
+ retVal.kk, retVal.ll, retVal.mm, retVal.nn, retVal.oo, retVal.pp,
+ retVal.qq, retVal.rr, retVal.ss, retVal.tt, retVal.uu, (unsigned long)retVal.vv, retVal.ww, retVal.xx);
+
+ return retVal;
+}
+
+static void
+cls_large_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__)
+{
+ uint8_t ui8_1 = *(uint8_t*)args[0];
+ int8_t si8_1 = *(int8_t*)args[1];
+ uint16_t ui16_1 = *(uint16_t*)args[2];
+ int16_t si16_1 = *(int16_t*)args[3];
+ uint32_t ui32_1 = *(uint32_t*)args[4];
+ int32_t si32_1 = *(int32_t*)args[5];
+ uint64_t ui64_1 = *(uint64_t*)args[6];
+ int64_t si64_1 = *(int64_t*)args[7];
+ float f_1 = *(float*)args[8];
+ double d_1 = *(double*)args[9];
+ long double ld_1 = *(long double*)args[10];
+ char* p_1 = *(char**)args[11];
+ uint8_t ui8_2 = *(uint8_t*)args[12];
+ int8_t si8_2 = *(int8_t*)args[13];
+ uint16_t ui16_2 = *(uint16_t*)args[14];
+ int16_t si16_2 = *(int16_t*)args[15];
+ uint32_t ui32_2 = *(uint32_t*)args[16];
+ int32_t si32_2 = *(int32_t*)args[17];
+ uint64_t ui64_2 = *(uint64_t*)args[18];
+ int64_t si64_2 = *(int64_t*)args[19];
+ float f_2 = *(float*)args[20];
+ double d_2 = *(double*)args[21];
+ long double ld_2 = *(long double*)args[22];
+ char* p_2 = *(char**)args[23];
+ uint8_t ui8_3 = *(uint8_t*)args[24];
+ int8_t si8_3 = *(int8_t*)args[25];
+ uint16_t ui16_3 = *(uint16_t*)args[26];
+ int16_t si16_3 = *(int16_t*)args[27];
+ uint32_t ui32_3 = *(uint32_t*)args[28];
+ int32_t si32_3 = *(int32_t*)args[29];
+ uint64_t ui64_3 = *(uint64_t*)args[30];
+ int64_t si64_3 = *(int64_t*)args[31];
+ float f_3 = *(float*)args[32];
+ double d_3 = *(double*)args[33];
+ long double ld_3 = *(long double*)args[34];
+ char* p_3 = *(char**)args[35];
+ uint8_t ui8_4 = *(uint8_t*)args[36];
+ int8_t si8_4 = *(int8_t*)args[37];
+ uint16_t ui16_4 = *(uint16_t*)args[38];
+ int16_t si16_4 = *(int16_t*)args[39];
+ uint32_t ui32_4 = *(uint32_t*)args[40];
+ int32_t si32_4 = *(int32_t*)args[41];
+ uint64_t ui64_4 = *(uint64_t*)args[42];
+ int64_t si64_4 = *(int64_t*)args[43];
+ float f_4 = *(float*)args[44];
+ double d_4 = *(double*)args[45];
+ long double ld_4 = *(long double*)args[46];
+ char* p_4 = *(char**)args[47];
+ uint8_t ui8_5 = *(uint8_t*)args[48];
+ int8_t si8_5 = *(int8_t*)args[49];
+
+ *(BigStruct*)resp = test_large_fn(
+ ui8_1, si8_1, ui16_1, si16_1, ui32_1, si32_1, ui64_1, si64_1, f_1, d_1, ld_1, p_1,
+ ui8_2, si8_2, ui16_2, si16_2, ui32_2, si32_2, ui64_2, si64_2, f_2, d_2, ld_2, p_2,
+ ui8_3, si8_3, ui16_3, si16_3, ui32_3, si32_3, ui64_3, si64_3, f_3, d_3, ld_3, p_3,
+ ui8_4, si8_4, ui16_4, si16_4, ui32_4, si32_4, ui64_4, si64_4, f_4, d_4, ld_4, p_4,
+ ui8_5, si8_5);
+}
+
+int
+main(int argc __UNUSED__, const char** argv __UNUSED__)
+{
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+
+ ffi_cif cif;
+ ffi_type* argTypes[51];
+ void* argValues[51];
+
+ ffi_type ret_struct_type;
+ ffi_type* st_fields[51];
+ BigStruct retVal;
+
+ uint8_t ui8 = 1;
+ int8_t si8 = 2;
+ uint16_t ui16 = 3;
+ int16_t si16 = 4;
+ uint32_t ui32 = 5;
+ int32_t si32 = 6;
+ uint64_t ui64 = 7;
+ int64_t si64 = 8;
+ float f = 9;
+ double d = 10;
+ long double ld = 11;
+ char* p = (char*)0x12345678;
+
+ memset (&retVal, 0, sizeof(retVal));
+
+ ret_struct_type.size = 0;
+ ret_struct_type.alignment = 0;
+ ret_struct_type.type = FFI_TYPE_STRUCT;
+ ret_struct_type.elements = st_fields;
+
+ st_fields[0] = st_fields[12] = st_fields[24] = st_fields[36] = st_fields[48] = &ffi_type_uint8;
+ st_fields[1] = st_fields[13] = st_fields[25] = st_fields[37] = st_fields[49] = &ffi_type_sint8;
+ st_fields[2] = st_fields[14] = st_fields[26] = st_fields[38] = &ffi_type_uint16;
+ st_fields[3] = st_fields[15] = st_fields[27] = st_fields[39] = &ffi_type_sint16;
+ st_fields[4] = st_fields[16] = st_fields[28] = st_fields[40] = &ffi_type_uint32;
+ st_fields[5] = st_fields[17] = st_fields[29] = st_fields[41] = &ffi_type_sint32;
+ st_fields[6] = st_fields[18] = st_fields[30] = st_fields[42] = &ffi_type_uint64;
+ st_fields[7] = st_fields[19] = st_fields[31] = st_fields[43] = &ffi_type_sint64;
+ st_fields[8] = st_fields[20] = st_fields[32] = st_fields[44] = &ffi_type_float;
+ st_fields[9] = st_fields[21] = st_fields[33] = st_fields[45] = &ffi_type_double;
+ st_fields[10] = st_fields[22] = st_fields[34] = st_fields[46] = &ffi_type_longdouble;
+ st_fields[11] = st_fields[23] = st_fields[35] = st_fields[47] = &ffi_type_pointer;
+
+ st_fields[50] = NULL;
+
+ argTypes[0] = argTypes[12] = argTypes[24] = argTypes[36] = argTypes[48] = &ffi_type_uint8;
+ argValues[0] = argValues[12] = argValues[24] = argValues[36] = argValues[48] = &ui8;
+ argTypes[1] = argTypes[13] = argTypes[25] = argTypes[37] = argTypes[49] = &ffi_type_sint8;
+ argValues[1] = argValues[13] = argValues[25] = argValues[37] = argValues[49] = &si8;
+ argTypes[2] = argTypes[14] = argTypes[26] = argTypes[38] = &ffi_type_uint16;
+ argValues[2] = argValues[14] = argValues[26] = argValues[38] = &ui16;
+ argTypes[3] = argTypes[15] = argTypes[27] = argTypes[39] = &ffi_type_sint16;
+ argValues[3] = argValues[15] = argValues[27] = argValues[39] = &si16;
+ argTypes[4] = argTypes[16] = argTypes[28] = argTypes[40] = &ffi_type_uint32;
+ argValues[4] = argValues[16] = argValues[28] = argValues[40] = &ui32;
+ argTypes[5] = argTypes[17] = argTypes[29] = argTypes[41] = &ffi_type_sint32;
+ argValues[5] = argValues[17] = argValues[29] = argValues[41] = &si32;
+ argTypes[6] = argTypes[18] = argTypes[30] = argTypes[42] = &ffi_type_uint64;
+ argValues[6] = argValues[18] = argValues[30] = argValues[42] = &ui64;
+ argTypes[7] = argTypes[19] = argTypes[31] = argTypes[43] = &ffi_type_sint64;
+ argValues[7] = argValues[19] = argValues[31] = argValues[43] = &si64;
+ argTypes[8] = argTypes[20] = argTypes[32] = argTypes[44] = &ffi_type_float;
+ argValues[8] = argValues[20] = argValues[32] = argValues[44] = &f;
+ argTypes[9] = argTypes[21] = argTypes[33] = argTypes[45] = &ffi_type_double;
+ argValues[9] = argValues[21] = argValues[33] = argValues[45] = &d;
+ argTypes[10] = argTypes[22] = argTypes[34] = argTypes[46] = &ffi_type_longdouble;
+ argValues[10] = argValues[22] = argValues[34] = argValues[46] = &ld;
+ argTypes[11] = argTypes[23] = argTypes[35] = argTypes[47] = &ffi_type_pointer;
+ argValues[11] = argValues[23] = argValues[35] = argValues[47] = &p;
+
+ argTypes[50] = NULL;
+ argValues[50] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 50, &ret_struct_type, argTypes) == FFI_OK);
+
+ ffi_call(&cif, FFI_FN(test_large_fn), &retVal, argValues);
+ /* { dg-output "1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2: 2 3 4 5 6 7 8 9 10 11 12 0x12345679 3 4 5 6 7 8 9 10 11 12 13 0x1234567a 4 5 6 7 8 9 10 11 12 13 14 0x1234567b 5 6 7 8 9 10 11 12 13 14 15 0x1234567c 6 7" } */
+ printf("res: %" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %" PRIu8 " %" PRId8 "\n",
+ retVal.a, retVal.b, retVal.c, retVal.d, retVal.e, retVal.f,
+ retVal.g, retVal.h, retVal.i, retVal.j, retVal.k, (unsigned long)retVal.l,
+ retVal.m, retVal.n, retVal.o, retVal.p, retVal.q, retVal.r,
+ retVal.s, retVal.t, retVal.u, retVal.v, retVal.w, (unsigned long)retVal.x,
+ retVal.y, retVal.z, retVal.aa, retVal.bb, retVal.cc, retVal.dd,
+ retVal.ee, retVal.ff, retVal.gg, retVal.hh, retVal.ii, (unsigned long)retVal.jj,
+ retVal.kk, retVal.ll, retVal.mm, retVal.nn, retVal.oo, retVal.pp,
+ retVal.qq, retVal.rr, retVal.ss, retVal.tt, retVal.uu, (unsigned long)retVal.vv, retVal.ww, retVal.xx);
+ /* { dg-output "\nres: 2 3 4 5 6 7 8 9 10 11 12 0x12345679 3 4 5 6 7 8 9 10 11 12 13 0x1234567a 4 5 6 7 8 9 10 11 12 13 14 0x1234567b 5 6 7 8 9 10 11 12 13 14 15 0x1234567c 6 7" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_large_fn, NULL, code) == FFI_OK);
+
+ retVal = ((BigStruct(*)(
+ uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, long double, char*,
+ uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, long double, char*,
+ uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, long double, char*,
+ uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, long double, char*,
+ uint8_t, int8_t))(code))(
+ ui8, si8, ui16, si16, ui32, si32, ui64, si64, f, d, ld, p,
+ ui8, si8, ui16, si16, ui32, si32, ui64, si64, f, d, ld, p,
+ ui8, si8, ui16, si16, ui32, si32, ui64, si64, f, d, ld, p,
+ ui8, si8, ui16, si16, ui32, si32, ui64, si64, f, d, ld, p,
+ ui8, si8);
+ /* { dg-output "\n1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2 3 4 5 6 7 8 9 10 11 0x12345678 1 2: 2 3 4 5 6 7 8 9 10 11 12 0x12345679 3 4 5 6 7 8 9 10 11 12 13 0x1234567a 4 5 6 7 8 9 10 11 12 13 14 0x1234567b 5 6 7 8 9 10 11 12 13 14 15 0x1234567c 6 7" } */
+ printf("res: %" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%" PRIu8 " %" PRId8 " %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %" PRIu8 " %" PRId8 "\n",
+ retVal.a, retVal.b, retVal.c, retVal.d, retVal.e, retVal.f,
+ retVal.g, retVal.h, retVal.i, retVal.j, retVal.k, (unsigned long)retVal.l,
+ retVal.m, retVal.n, retVal.o, retVal.p, retVal.q, retVal.r,
+ retVal.s, retVal.t, retVal.u, retVal.v, retVal.w, (unsigned long)retVal.x,
+ retVal.y, retVal.z, retVal.aa, retVal.bb, retVal.cc, retVal.dd,
+ retVal.ee, retVal.ff, retVal.gg, retVal.hh, retVal.ii, (unsigned long)retVal.jj,
+ retVal.kk, retVal.ll, retVal.mm, retVal.nn, retVal.oo, retVal.pp,
+ retVal.qq, retVal.rr, retVal.ss, retVal.tt, retVal.uu, (unsigned long)retVal.vv, retVal.ww, retVal.xx);
+ /* { dg-output "\nres: 2 3 4 5 6 7 8 9 10 11 12 0x12345679 3 4 5 6 7 8 9 10 11 12 13 0x1234567a 4 5 6 7 8 9 10 11 12 13 14 0x1234567b 5 6 7 8 9 10 11 12 13 14 15 0x1234567c 6 7" } */
+
+ return 0;
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/huge_struct/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/huge_struct/ya.make
index 7bec56c432..7d2e07b233 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/huge_struct/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/huge_struct/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- huge_struct.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ huge_struct.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct.c b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct.c
index f3a18a0fe5..c15e3a0338 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct.c
@@ -1,152 +1,152 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Contains structs as parameter of the struct itself.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_16byte1 {
- double a;
- float b;
- int c;
-} cls_struct_16byte1;
-
-typedef struct cls_struct_16byte2 {
- int ii;
- double dd;
- float ff;
-} cls_struct_16byte2;
-
-typedef struct cls_struct_combined {
- cls_struct_16byte1 d;
- cls_struct_16byte2 e;
-} cls_struct_combined;
-
-cls_struct_combined cls_struct_combined_fn(struct cls_struct_16byte1 b0,
- struct cls_struct_16byte2 b1,
- struct cls_struct_combined b2)
-{
- struct cls_struct_combined result;
-
- result.d.a = b0.a + b1.dd + b2.d.a;
- result.d.b = b0.b + b1.ff + b2.d.b;
- result.d.c = b0.c + b1.ii + b2.d.c;
- result.e.ii = b0.c + b1.ii + b2.e.ii;
- result.e.dd = b0.a + b1.dd + b2.e.dd;
- result.e.ff = b0.b + b1.ff + b2.e.ff;
-
- printf("%g %g %d %d %g %g %g %g %d %d %g %g: %g %g %d %d %g %g\n",
- b0.a, b0.b, b0.c,
- b1.ii, b1.dd, b1.ff,
- b2.d.a, b2.d.b, b2.d.c,
- b2.e.ii, b2.e.dd, b2.e.ff,
- result.d.a, result.d.b, result.d.c,
- result.e.ii, result.e.dd, result.e.ff);
-
- return result;
-}
-
-static void
-cls_struct_combined_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct cls_struct_16byte1 b0;
- struct cls_struct_16byte2 b1;
- struct cls_struct_combined b2;
-
- b0 = *(struct cls_struct_16byte1*)(args[0]);
- b1 = *(struct cls_struct_16byte2*)(args[1]);
- b2 = *(struct cls_struct_combined*)(args[2]);
-
-
- *(cls_struct_combined*)resp = cls_struct_combined_fn(b0, b1, b2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[5];
- ffi_type* cls_struct_fields1[5];
- ffi_type* cls_struct_fields2[5];
- ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_16byte1 e_dbl = { 9.0, 2.0, 6};
- struct cls_struct_16byte2 f_dbl = { 1, 2.0, 3.0};
- struct cls_struct_combined g_dbl = {{4.0, 5.0, 6},
- {3, 1.0, 8.0}};
- struct cls_struct_combined res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_type1.size = 0;
- cls_struct_type1.alignment = 0;
- cls_struct_type1.type = FFI_TYPE_STRUCT;
- cls_struct_type1.elements = cls_struct_fields1;
-
- cls_struct_type2.size = 0;
- cls_struct_type2.alignment = 0;
- cls_struct_type2.type = FFI_TYPE_STRUCT;
- cls_struct_type2.elements = cls_struct_fields2;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_float;
- cls_struct_fields[2] = &ffi_type_sint;
- cls_struct_fields[3] = NULL;
-
- cls_struct_fields1[0] = &ffi_type_sint;
- cls_struct_fields1[1] = &ffi_type_double;
- cls_struct_fields1[2] = &ffi_type_float;
- cls_struct_fields1[3] = NULL;
-
- cls_struct_fields2[0] = &cls_struct_type;
- cls_struct_fields2[1] = &cls_struct_type1;
- cls_struct_fields2[2] = NULL;
-
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type1;
- dbl_arg_types[2] = &cls_struct_type2;
- dbl_arg_types[3] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type2,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = &g_dbl;
- args_dbl[3] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_combined_fn), &res_dbl, args_dbl);
- /* { dg-output "9 2 6 1 2 3 4 5 6 3 1 8: 15 10 13 10 12 13" } */
- CHECK( res_dbl.d.a == (e_dbl.a + f_dbl.dd + g_dbl.d.a));
- CHECK( res_dbl.d.b == (e_dbl.b + f_dbl.ff + g_dbl.d.b));
- CHECK( res_dbl.d.c == (e_dbl.c + f_dbl.ii + g_dbl.d.c));
- CHECK( res_dbl.e.ii == (e_dbl.c + f_dbl.ii + g_dbl.e.ii));
- CHECK( res_dbl.e.dd == (e_dbl.a + f_dbl.dd + g_dbl.e.dd));
- CHECK( res_dbl.e.ff == (e_dbl.b + f_dbl.ff + g_dbl.e.ff));
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_combined_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_combined(*)(cls_struct_16byte1,
- cls_struct_16byte2,
- cls_struct_combined))
- (code))(e_dbl, f_dbl, g_dbl);
- /* { dg-output "\n9 2 6 1 2 3 4 5 6 3 1 8: 15 10 13 10 12 13" } */
- CHECK( res_dbl.d.a == (e_dbl.a + f_dbl.dd + g_dbl.d.a));
- CHECK( res_dbl.d.b == (e_dbl.b + f_dbl.ff + g_dbl.d.b));
- CHECK( res_dbl.d.c == (e_dbl.c + f_dbl.ii + g_dbl.d.c));
- CHECK( res_dbl.e.ii == (e_dbl.c + f_dbl.ii + g_dbl.e.ii));
- CHECK( res_dbl.e.dd == (e_dbl.a + f_dbl.dd + g_dbl.e.dd));
- CHECK( res_dbl.e.ff == (e_dbl.b + f_dbl.ff + g_dbl.e.ff));
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Contains structs as parameter of the struct itself.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_16byte1 {
+ double a;
+ float b;
+ int c;
+} cls_struct_16byte1;
+
+typedef struct cls_struct_16byte2 {
+ int ii;
+ double dd;
+ float ff;
+} cls_struct_16byte2;
+
+typedef struct cls_struct_combined {
+ cls_struct_16byte1 d;
+ cls_struct_16byte2 e;
+} cls_struct_combined;
+
+cls_struct_combined cls_struct_combined_fn(struct cls_struct_16byte1 b0,
+ struct cls_struct_16byte2 b1,
+ struct cls_struct_combined b2)
+{
+ struct cls_struct_combined result;
+
+ result.d.a = b0.a + b1.dd + b2.d.a;
+ result.d.b = b0.b + b1.ff + b2.d.b;
+ result.d.c = b0.c + b1.ii + b2.d.c;
+ result.e.ii = b0.c + b1.ii + b2.e.ii;
+ result.e.dd = b0.a + b1.dd + b2.e.dd;
+ result.e.ff = b0.b + b1.ff + b2.e.ff;
+
+ printf("%g %g %d %d %g %g %g %g %d %d %g %g: %g %g %d %d %g %g\n",
+ b0.a, b0.b, b0.c,
+ b1.ii, b1.dd, b1.ff,
+ b2.d.a, b2.d.b, b2.d.c,
+ b2.e.ii, b2.e.dd, b2.e.ff,
+ result.d.a, result.d.b, result.d.c,
+ result.e.ii, result.e.dd, result.e.ff);
+
+ return result;
+}
+
+static void
+cls_struct_combined_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct cls_struct_16byte1 b0;
+ struct cls_struct_16byte2 b1;
+ struct cls_struct_combined b2;
+
+ b0 = *(struct cls_struct_16byte1*)(args[0]);
+ b1 = *(struct cls_struct_16byte2*)(args[1]);
+ b2 = *(struct cls_struct_combined*)(args[2]);
+
+
+ *(cls_struct_combined*)resp = cls_struct_combined_fn(b0, b1, b2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[5];
+ ffi_type* cls_struct_fields1[5];
+ ffi_type* cls_struct_fields2[5];
+ ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_16byte1 e_dbl = { 9.0, 2.0, 6};
+ struct cls_struct_16byte2 f_dbl = { 1, 2.0, 3.0};
+ struct cls_struct_combined g_dbl = {{4.0, 5.0, 6},
+ {3, 1.0, 8.0}};
+ struct cls_struct_combined res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_type1.size = 0;
+ cls_struct_type1.alignment = 0;
+ cls_struct_type1.type = FFI_TYPE_STRUCT;
+ cls_struct_type1.elements = cls_struct_fields1;
+
+ cls_struct_type2.size = 0;
+ cls_struct_type2.alignment = 0;
+ cls_struct_type2.type = FFI_TYPE_STRUCT;
+ cls_struct_type2.elements = cls_struct_fields2;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_float;
+ cls_struct_fields[2] = &ffi_type_sint;
+ cls_struct_fields[3] = NULL;
+
+ cls_struct_fields1[0] = &ffi_type_sint;
+ cls_struct_fields1[1] = &ffi_type_double;
+ cls_struct_fields1[2] = &ffi_type_float;
+ cls_struct_fields1[3] = NULL;
+
+ cls_struct_fields2[0] = &cls_struct_type;
+ cls_struct_fields2[1] = &cls_struct_type1;
+ cls_struct_fields2[2] = NULL;
+
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type1;
+ dbl_arg_types[2] = &cls_struct_type2;
+ dbl_arg_types[3] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type2,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = &g_dbl;
+ args_dbl[3] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_combined_fn), &res_dbl, args_dbl);
+ /* { dg-output "9 2 6 1 2 3 4 5 6 3 1 8: 15 10 13 10 12 13" } */
+ CHECK( res_dbl.d.a == (e_dbl.a + f_dbl.dd + g_dbl.d.a));
+ CHECK( res_dbl.d.b == (e_dbl.b + f_dbl.ff + g_dbl.d.b));
+ CHECK( res_dbl.d.c == (e_dbl.c + f_dbl.ii + g_dbl.d.c));
+ CHECK( res_dbl.e.ii == (e_dbl.c + f_dbl.ii + g_dbl.e.ii));
+ CHECK( res_dbl.e.dd == (e_dbl.a + f_dbl.dd + g_dbl.e.dd));
+ CHECK( res_dbl.e.ff == (e_dbl.b + f_dbl.ff + g_dbl.e.ff));
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_combined_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_combined(*)(cls_struct_16byte1,
+ cls_struct_16byte2,
+ cls_struct_combined))
+ (code))(e_dbl, f_dbl, g_dbl);
+ /* { dg-output "\n9 2 6 1 2 3 4 5 6 3 1 8: 15 10 13 10 12 13" } */
+ CHECK( res_dbl.d.a == (e_dbl.a + f_dbl.dd + g_dbl.d.a));
+ CHECK( res_dbl.d.b == (e_dbl.b + f_dbl.ff + g_dbl.d.b));
+ CHECK( res_dbl.d.c == (e_dbl.c + f_dbl.ii + g_dbl.d.c));
+ CHECK( res_dbl.e.ii == (e_dbl.c + f_dbl.ii + g_dbl.e.ii));
+ CHECK( res_dbl.e.dd == (e_dbl.a + f_dbl.dd + g_dbl.e.dd));
+ CHECK( res_dbl.e.ff == (e_dbl.b + f_dbl.ff + g_dbl.e.ff));
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct/ya.make
index af96f71d89..6e5232236a 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- nested_struct.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ nested_struct.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct1.c b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct1.c
index d782f31b07..477a6b9bde 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct1.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct1.c
@@ -1,161 +1,161 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Contains structs as parameter of the struct itself.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_16byte1 {
- double a;
- float b;
- int c;
-} cls_struct_16byte1;
-
-typedef struct cls_struct_16byte2 {
- int ii;
- double dd;
- float ff;
-} cls_struct_16byte2;
-
-typedef struct cls_struct_combined {
- cls_struct_16byte1 d;
- cls_struct_16byte2 e;
-} cls_struct_combined;
-
-cls_struct_combined cls_struct_combined_fn(struct cls_struct_16byte1 b0,
- struct cls_struct_16byte2 b1,
- struct cls_struct_combined b2,
- struct cls_struct_16byte1 b3)
-{
- struct cls_struct_combined result;
-
- result.d.a = b0.a + b1.dd + b2.d.a;
- result.d.b = b0.b + b1.ff + b2.d.b;
- result.d.c = b0.c + b1.ii + b2.d.c;
- result.e.ii = b0.c + b1.ii + b2.e.ii;
- result.e.dd = b0.a + b1.dd + b2.e.dd;
- result.e.ff = b0.b + b1.ff + b2.e.ff;
-
- printf("%g %g %d %d %g %g %g %g %d %d %g %g %g %g %d: %g %g %d %d %g %g\n",
- b0.a, b0.b, b0.c,
- b1.ii, b1.dd, b1.ff,
- b2.d.a, b2.d.b, b2.d.c,
- b2.e.ii, b2.e.dd, b2.e.ff,
- b3.a, b3.b, b3.c,
- result.d.a, result.d.b, result.d.c,
- result.e.ii, result.e.dd, result.e.ff);
-
- return result;
-}
-
-static void
-cls_struct_combined_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct cls_struct_16byte1 b0;
- struct cls_struct_16byte2 b1;
- struct cls_struct_combined b2;
- struct cls_struct_16byte1 b3;
-
- b0 = *(struct cls_struct_16byte1*)(args[0]);
- b1 = *(struct cls_struct_16byte2*)(args[1]);
- b2 = *(struct cls_struct_combined*)(args[2]);
- b3 = *(struct cls_struct_16byte1*)(args[3]);
-
-
- *(cls_struct_combined*)resp = cls_struct_combined_fn(b0, b1, b2, b3);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[5];
- ffi_type* cls_struct_fields1[5];
- ffi_type* cls_struct_fields2[5];
- ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_16byte1 e_dbl = { 9.0, 2.0, 6};
- struct cls_struct_16byte2 f_dbl = { 1, 2.0, 3.0};
- struct cls_struct_combined g_dbl = {{4.0, 5.0, 6},
- {3, 1.0, 8.0}};
- struct cls_struct_16byte1 h_dbl = { 3.0, 2.0, 4};
- struct cls_struct_combined res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_type1.size = 0;
- cls_struct_type1.alignment = 0;
- cls_struct_type1.type = FFI_TYPE_STRUCT;
- cls_struct_type1.elements = cls_struct_fields1;
-
- cls_struct_type2.size = 0;
- cls_struct_type2.alignment = 0;
- cls_struct_type2.type = FFI_TYPE_STRUCT;
- cls_struct_type2.elements = cls_struct_fields2;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_float;
- cls_struct_fields[2] = &ffi_type_sint;
- cls_struct_fields[3] = NULL;
-
- cls_struct_fields1[0] = &ffi_type_sint;
- cls_struct_fields1[1] = &ffi_type_double;
- cls_struct_fields1[2] = &ffi_type_float;
- cls_struct_fields1[3] = NULL;
-
- cls_struct_fields2[0] = &cls_struct_type;
- cls_struct_fields2[1] = &cls_struct_type1;
- cls_struct_fields2[2] = NULL;
-
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type1;
- dbl_arg_types[2] = &cls_struct_type2;
- dbl_arg_types[3] = &cls_struct_type;
- dbl_arg_types[4] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type2,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = &g_dbl;
- args_dbl[3] = &h_dbl;
- args_dbl[4] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_combined_fn), &res_dbl, args_dbl);
- /* { dg-output "9 2 6 1 2 3 4 5 6 3 1 8 3 2 4: 15 10 13 10 12 13" } */
- CHECK( res_dbl.d.a == (e_dbl.a + f_dbl.dd + g_dbl.d.a));
- CHECK( res_dbl.d.b == (e_dbl.b + f_dbl.ff + g_dbl.d.b));
- CHECK( res_dbl.d.c == (e_dbl.c + f_dbl.ii + g_dbl.d.c));
- CHECK( res_dbl.e.ii == (e_dbl.c + f_dbl.ii + g_dbl.e.ii));
- CHECK( res_dbl.e.dd == (e_dbl.a + f_dbl.dd + g_dbl.e.dd));
- CHECK( res_dbl.e.ff == (e_dbl.b + f_dbl.ff + g_dbl.e.ff));
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_combined_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((cls_struct_combined(*)(cls_struct_16byte1,
- cls_struct_16byte2,
- cls_struct_combined,
- cls_struct_16byte1))
- (code))(e_dbl, f_dbl, g_dbl, h_dbl);
- /* { dg-output "\n9 2 6 1 2 3 4 5 6 3 1 8 3 2 4: 15 10 13 10 12 13" } */
- CHECK( res_dbl.d.a == (e_dbl.a + f_dbl.dd + g_dbl.d.a));
- CHECK( res_dbl.d.b == (e_dbl.b + f_dbl.ff + g_dbl.d.b));
- CHECK( res_dbl.d.c == (e_dbl.c + f_dbl.ii + g_dbl.d.c));
- CHECK( res_dbl.e.ii == (e_dbl.c + f_dbl.ii + g_dbl.e.ii));
- CHECK( res_dbl.e.dd == (e_dbl.a + f_dbl.dd + g_dbl.e.dd));
- CHECK( res_dbl.e.ff == (e_dbl.b + f_dbl.ff + g_dbl.e.ff));
- /* CHECK( 1 == 0); */
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Contains structs as parameter of the struct itself.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_16byte1 {
+ double a;
+ float b;
+ int c;
+} cls_struct_16byte1;
+
+typedef struct cls_struct_16byte2 {
+ int ii;
+ double dd;
+ float ff;
+} cls_struct_16byte2;
+
+typedef struct cls_struct_combined {
+ cls_struct_16byte1 d;
+ cls_struct_16byte2 e;
+} cls_struct_combined;
+
+cls_struct_combined cls_struct_combined_fn(struct cls_struct_16byte1 b0,
+ struct cls_struct_16byte2 b1,
+ struct cls_struct_combined b2,
+ struct cls_struct_16byte1 b3)
+{
+ struct cls_struct_combined result;
+
+ result.d.a = b0.a + b1.dd + b2.d.a;
+ result.d.b = b0.b + b1.ff + b2.d.b;
+ result.d.c = b0.c + b1.ii + b2.d.c;
+ result.e.ii = b0.c + b1.ii + b2.e.ii;
+ result.e.dd = b0.a + b1.dd + b2.e.dd;
+ result.e.ff = b0.b + b1.ff + b2.e.ff;
+
+ printf("%g %g %d %d %g %g %g %g %d %d %g %g %g %g %d: %g %g %d %d %g %g\n",
+ b0.a, b0.b, b0.c,
+ b1.ii, b1.dd, b1.ff,
+ b2.d.a, b2.d.b, b2.d.c,
+ b2.e.ii, b2.e.dd, b2.e.ff,
+ b3.a, b3.b, b3.c,
+ result.d.a, result.d.b, result.d.c,
+ result.e.ii, result.e.dd, result.e.ff);
+
+ return result;
+}
+
+static void
+cls_struct_combined_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct cls_struct_16byte1 b0;
+ struct cls_struct_16byte2 b1;
+ struct cls_struct_combined b2;
+ struct cls_struct_16byte1 b3;
+
+ b0 = *(struct cls_struct_16byte1*)(args[0]);
+ b1 = *(struct cls_struct_16byte2*)(args[1]);
+ b2 = *(struct cls_struct_combined*)(args[2]);
+ b3 = *(struct cls_struct_16byte1*)(args[3]);
+
+
+ *(cls_struct_combined*)resp = cls_struct_combined_fn(b0, b1, b2, b3);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[5];
+ ffi_type* cls_struct_fields1[5];
+ ffi_type* cls_struct_fields2[5];
+ ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_16byte1 e_dbl = { 9.0, 2.0, 6};
+ struct cls_struct_16byte2 f_dbl = { 1, 2.0, 3.0};
+ struct cls_struct_combined g_dbl = {{4.0, 5.0, 6},
+ {3, 1.0, 8.0}};
+ struct cls_struct_16byte1 h_dbl = { 3.0, 2.0, 4};
+ struct cls_struct_combined res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_type1.size = 0;
+ cls_struct_type1.alignment = 0;
+ cls_struct_type1.type = FFI_TYPE_STRUCT;
+ cls_struct_type1.elements = cls_struct_fields1;
+
+ cls_struct_type2.size = 0;
+ cls_struct_type2.alignment = 0;
+ cls_struct_type2.type = FFI_TYPE_STRUCT;
+ cls_struct_type2.elements = cls_struct_fields2;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_float;
+ cls_struct_fields[2] = &ffi_type_sint;
+ cls_struct_fields[3] = NULL;
+
+ cls_struct_fields1[0] = &ffi_type_sint;
+ cls_struct_fields1[1] = &ffi_type_double;
+ cls_struct_fields1[2] = &ffi_type_float;
+ cls_struct_fields1[3] = NULL;
+
+ cls_struct_fields2[0] = &cls_struct_type;
+ cls_struct_fields2[1] = &cls_struct_type1;
+ cls_struct_fields2[2] = NULL;
+
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type1;
+ dbl_arg_types[2] = &cls_struct_type2;
+ dbl_arg_types[3] = &cls_struct_type;
+ dbl_arg_types[4] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type2,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = &g_dbl;
+ args_dbl[3] = &h_dbl;
+ args_dbl[4] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_combined_fn), &res_dbl, args_dbl);
+ /* { dg-output "9 2 6 1 2 3 4 5 6 3 1 8 3 2 4: 15 10 13 10 12 13" } */
+ CHECK( res_dbl.d.a == (e_dbl.a + f_dbl.dd + g_dbl.d.a));
+ CHECK( res_dbl.d.b == (e_dbl.b + f_dbl.ff + g_dbl.d.b));
+ CHECK( res_dbl.d.c == (e_dbl.c + f_dbl.ii + g_dbl.d.c));
+ CHECK( res_dbl.e.ii == (e_dbl.c + f_dbl.ii + g_dbl.e.ii));
+ CHECK( res_dbl.e.dd == (e_dbl.a + f_dbl.dd + g_dbl.e.dd));
+ CHECK( res_dbl.e.ff == (e_dbl.b + f_dbl.ff + g_dbl.e.ff));
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_combined_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((cls_struct_combined(*)(cls_struct_16byte1,
+ cls_struct_16byte2,
+ cls_struct_combined,
+ cls_struct_16byte1))
+ (code))(e_dbl, f_dbl, g_dbl, h_dbl);
+ /* { dg-output "\n9 2 6 1 2 3 4 5 6 3 1 8 3 2 4: 15 10 13 10 12 13" } */
+ CHECK( res_dbl.d.a == (e_dbl.a + f_dbl.dd + g_dbl.d.a));
+ CHECK( res_dbl.d.b == (e_dbl.b + f_dbl.ff + g_dbl.d.b));
+ CHECK( res_dbl.d.c == (e_dbl.c + f_dbl.ii + g_dbl.d.c));
+ CHECK( res_dbl.e.ii == (e_dbl.c + f_dbl.ii + g_dbl.e.ii));
+ CHECK( res_dbl.e.dd == (e_dbl.a + f_dbl.dd + g_dbl.e.dd));
+ CHECK( res_dbl.e.ff == (e_dbl.b + f_dbl.ff + g_dbl.e.ff));
+ /* CHECK( 1 == 0); */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct1/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct1/ya.make
index 10713d2f2b..89f922394c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct1/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct1/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- nested_struct1.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ nested_struct1.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct10.c b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct10.c
index 8b4fd6f62d..3cf2b44abe 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct10.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct10.c
@@ -1,134 +1,134 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Contains structs as parameter of the struct itself.
- Sample taken from Alan Modras patch to src/prep_cif.c.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20051010 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct A {
- unsigned long long a;
- unsigned char b;
-} A;
-
-typedef struct B {
- unsigned char y;
- struct A x;
- unsigned int z;
-} B;
-
-typedef struct C {
- unsigned long long d;
- unsigned char e;
-} C;
-
-static B B_fn(struct A b2, struct B b3, struct C b4)
-{
- struct B result;
-
- result.x.a = b2.a + b3.x.a + b3.z + b4.d;
- result.x.b = b2.b + b3.x.b + b3.y + b4.e;
- result.y = b2.b + b3.x.b + b4.e;
- result.z = 0;
-
- printf("%d %d %d %d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
- (int)b3.x.a, b3.x.b, b3.y, b3.z, (int)b4.d, b4.e,
- (int)result.x.a, result.x.b, result.y);
-
- return result;
-}
-
-static void
-B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct A b0;
- struct B b1;
- struct C b2;
-
- b0 = *(struct A*)(args[0]);
- b1 = *(struct B*)(args[1]);
- b2 = *(struct C*)(args[2]);
-
- *(B*)resp = B_fn(b0, b1, b2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[4];
- ffi_type* cls_struct_fields[3];
- ffi_type* cls_struct_fields1[4];
- ffi_type* cls_struct_fields2[3];
- ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2;
- ffi_type* dbl_arg_types[4];
-
- struct A e_dbl = { 1LL, 7};
- struct B f_dbl = { 99, {12LL , 127}, 255};
- struct C g_dbl = { 2LL, 9};
-
- struct B res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_type1.size = 0;
- cls_struct_type1.alignment = 0;
- cls_struct_type1.type = FFI_TYPE_STRUCT;
- cls_struct_type1.elements = cls_struct_fields1;
-
- cls_struct_type2.size = 0;
- cls_struct_type2.alignment = 0;
- cls_struct_type2.type = FFI_TYPE_STRUCT;
- cls_struct_type2.elements = cls_struct_fields2;
-
- cls_struct_fields[0] = &ffi_type_uint64;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = NULL;
-
- cls_struct_fields1[0] = &ffi_type_uchar;
- cls_struct_fields1[1] = &cls_struct_type;
- cls_struct_fields1[2] = &ffi_type_uint;
- cls_struct_fields1[3] = NULL;
-
- cls_struct_fields2[0] = &ffi_type_uint64;
- cls_struct_fields2[1] = &ffi_type_uchar;
- cls_struct_fields2[2] = NULL;
-
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type1;
- dbl_arg_types[2] = &cls_struct_type2;
- dbl_arg_types[3] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type1,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = &g_dbl;
- args_dbl[3] = NULL;
-
- ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
- /* { dg-output "1 7 12 127 99 255 2 9: 270 242 143" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + f_dbl.z + g_dbl.d));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((B(*)(A, B, C))(code))(e_dbl, f_dbl, g_dbl);
- /* { dg-output "\n1 7 12 127 99 255 2 9: 270 242 143" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + f_dbl.z + g_dbl.d));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Contains structs as parameter of the struct itself.
+ Sample taken from Alan Modras patch to src/prep_cif.c.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20051010 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct A {
+ unsigned long long a;
+ unsigned char b;
+} A;
+
+typedef struct B {
+ unsigned char y;
+ struct A x;
+ unsigned int z;
+} B;
+
+typedef struct C {
+ unsigned long long d;
+ unsigned char e;
+} C;
+
+static B B_fn(struct A b2, struct B b3, struct C b4)
+{
+ struct B result;
+
+ result.x.a = b2.a + b3.x.a + b3.z + b4.d;
+ result.x.b = b2.b + b3.x.b + b3.y + b4.e;
+ result.y = b2.b + b3.x.b + b4.e;
+ result.z = 0;
+
+ printf("%d %d %d %d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
+ (int)b3.x.a, b3.x.b, b3.y, b3.z, (int)b4.d, b4.e,
+ (int)result.x.a, result.x.b, result.y);
+
+ return result;
+}
+
+static void
+B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct A b0;
+ struct B b1;
+ struct C b2;
+
+ b0 = *(struct A*)(args[0]);
+ b1 = *(struct B*)(args[1]);
+ b2 = *(struct C*)(args[2]);
+
+ *(B*)resp = B_fn(b0, b1, b2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[4];
+ ffi_type* cls_struct_fields[3];
+ ffi_type* cls_struct_fields1[4];
+ ffi_type* cls_struct_fields2[3];
+ ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2;
+ ffi_type* dbl_arg_types[4];
+
+ struct A e_dbl = { 1LL, 7};
+ struct B f_dbl = { 99, {12LL , 127}, 255};
+ struct C g_dbl = { 2LL, 9};
+
+ struct B res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_type1.size = 0;
+ cls_struct_type1.alignment = 0;
+ cls_struct_type1.type = FFI_TYPE_STRUCT;
+ cls_struct_type1.elements = cls_struct_fields1;
+
+ cls_struct_type2.size = 0;
+ cls_struct_type2.alignment = 0;
+ cls_struct_type2.type = FFI_TYPE_STRUCT;
+ cls_struct_type2.elements = cls_struct_fields2;
+
+ cls_struct_fields[0] = &ffi_type_uint64;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = NULL;
+
+ cls_struct_fields1[0] = &ffi_type_uchar;
+ cls_struct_fields1[1] = &cls_struct_type;
+ cls_struct_fields1[2] = &ffi_type_uint;
+ cls_struct_fields1[3] = NULL;
+
+ cls_struct_fields2[0] = &ffi_type_uint64;
+ cls_struct_fields2[1] = &ffi_type_uchar;
+ cls_struct_fields2[2] = NULL;
+
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type1;
+ dbl_arg_types[2] = &cls_struct_type2;
+ dbl_arg_types[3] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type1,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = &g_dbl;
+ args_dbl[3] = NULL;
+
+ ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 7 12 127 99 255 2 9: 270 242 143" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + f_dbl.z + g_dbl.d));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((B(*)(A, B, C))(code))(e_dbl, f_dbl, g_dbl);
+ /* { dg-output "\n1 7 12 127 99 255 2 9: 270 242 143" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + f_dbl.z + g_dbl.d));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct10/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct10/ya.make
index 15ebfa55e1..be040d0dec 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct10/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct10/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- nested_struct10.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ nested_struct10.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct11.c b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct11.c
index c8402480b6..351049382c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct11.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct11.c
@@ -1,121 +1,121 @@
-/* Area: ffi_call, closure_call
- Purpose: Check parameter passing with nested structs
- of a single type. This tests the special cases
- for homogeneous floating-point aggregates in the
- AArch64 PCS.
- Limitations: none.
- PR: none.
- Originator: ARM Ltd. */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct A {
- float a_x;
- float a_y;
-} A;
-
-typedef struct B {
- float b_x;
- float b_y;
-} B;
-
-typedef struct C {
- A a;
- B b;
-} C;
-
-static C C_fn (int x, int y, int z, C source, int i, int j, int k)
-{
- C result;
- result.a.a_x = source.a.a_x;
- result.a.a_y = source.a.a_y;
- result.b.b_x = source.b.b_x;
- result.b.b_y = source.b.b_y;
-
- printf ("%d, %d, %d, %d, %d, %d\n", x, y, z, i, j, k);
-
- printf ("%.1f, %.1f, %.1f, %.1f, "
- "%.1f, %.1f, %.1f, %.1f\n",
- source.a.a_x, source.a.a_y,
- source.b.b_x, source.b.b_y,
- result.a.a_x, result.a.a_y,
- result.b.b_x, result.b.b_y);
-
- return result;
-}
-
-int main (void)
-{
- ffi_cif cif;
-
- ffi_type* struct_fields_source_a[3];
- ffi_type* struct_fields_source_b[3];
- ffi_type* struct_fields_source_c[3];
- ffi_type* arg_types[8];
-
- ffi_type struct_type_a, struct_type_b, struct_type_c;
-
- struct A source_fld_a = {1.0, 2.0};
- struct B source_fld_b = {4.0, 8.0};
- int k = 1;
-
- struct C result;
- struct C source = {source_fld_a, source_fld_b};
-
- struct_type_a.size = 0;
- struct_type_a.alignment = 0;
- struct_type_a.type = FFI_TYPE_STRUCT;
- struct_type_a.elements = struct_fields_source_a;
-
- struct_type_b.size = 0;
- struct_type_b.alignment = 0;
- struct_type_b.type = FFI_TYPE_STRUCT;
- struct_type_b.elements = struct_fields_source_b;
-
- struct_type_c.size = 0;
- struct_type_c.alignment = 0;
- struct_type_c.type = FFI_TYPE_STRUCT;
- struct_type_c.elements = struct_fields_source_c;
-
- struct_fields_source_a[0] = &ffi_type_float;
- struct_fields_source_a[1] = &ffi_type_float;
- struct_fields_source_a[2] = NULL;
-
- struct_fields_source_b[0] = &ffi_type_float;
- struct_fields_source_b[1] = &ffi_type_float;
- struct_fields_source_b[2] = NULL;
-
- struct_fields_source_c[0] = &struct_type_a;
- struct_fields_source_c[1] = &struct_type_b;
- struct_fields_source_c[2] = NULL;
-
- arg_types[0] = &ffi_type_sint32;
- arg_types[1] = &ffi_type_sint32;
- arg_types[2] = &ffi_type_sint32;
- arg_types[3] = &struct_type_c;
- arg_types[4] = &ffi_type_sint32;
- arg_types[5] = &ffi_type_sint32;
- arg_types[6] = &ffi_type_sint32;
- arg_types[7] = NULL;
-
- void *args[7];
- args[0] = &k;
- args[1] = &k;
- args[2] = &k;
- args[3] = &source;
- args[4] = &k;
- args[5] = &k;
- args[6] = &k;
- CHECK (ffi_prep_cif (&cif, FFI_DEFAULT_ABI, 7, &struct_type_c,
- arg_types) == FFI_OK);
-
- ffi_call (&cif, FFI_FN (C_fn), &result, args);
- /* { dg-output "1, 1, 1, 1, 1, 1\n" } */
- /* { dg-output "1.0, 2.0, 4.0, 8.0, 1.0, 2.0, 4.0, 8.0" } */
- CHECK (result.a.a_x == source.a.a_x);
- CHECK (result.a.a_y == source.a.a_y);
- CHECK (result.b.b_x == source.b.b_x);
- CHECK (result.b.b_y == source.b.b_y);
- exit (0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check parameter passing with nested structs
+ of a single type. This tests the special cases
+ for homogeneous floating-point aggregates in the
+ AArch64 PCS.
+ Limitations: none.
+ PR: none.
+ Originator: ARM Ltd. */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct A {
+ float a_x;
+ float a_y;
+} A;
+
+typedef struct B {
+ float b_x;
+ float b_y;
+} B;
+
+typedef struct C {
+ A a;
+ B b;
+} C;
+
+static C C_fn (int x, int y, int z, C source, int i, int j, int k)
+{
+ C result;
+ result.a.a_x = source.a.a_x;
+ result.a.a_y = source.a.a_y;
+ result.b.b_x = source.b.b_x;
+ result.b.b_y = source.b.b_y;
+
+ printf ("%d, %d, %d, %d, %d, %d\n", x, y, z, i, j, k);
+
+ printf ("%.1f, %.1f, %.1f, %.1f, "
+ "%.1f, %.1f, %.1f, %.1f\n",
+ source.a.a_x, source.a.a_y,
+ source.b.b_x, source.b.b_y,
+ result.a.a_x, result.a.a_y,
+ result.b.b_x, result.b.b_y);
+
+ return result;
+}
+
+int main (void)
+{
+ ffi_cif cif;
+
+ ffi_type* struct_fields_source_a[3];
+ ffi_type* struct_fields_source_b[3];
+ ffi_type* struct_fields_source_c[3];
+ ffi_type* arg_types[8];
+
+ ffi_type struct_type_a, struct_type_b, struct_type_c;
+
+ struct A source_fld_a = {1.0, 2.0};
+ struct B source_fld_b = {4.0, 8.0};
+ int k = 1;
+
+ struct C result;
+ struct C source = {source_fld_a, source_fld_b};
+
+ struct_type_a.size = 0;
+ struct_type_a.alignment = 0;
+ struct_type_a.type = FFI_TYPE_STRUCT;
+ struct_type_a.elements = struct_fields_source_a;
+
+ struct_type_b.size = 0;
+ struct_type_b.alignment = 0;
+ struct_type_b.type = FFI_TYPE_STRUCT;
+ struct_type_b.elements = struct_fields_source_b;
+
+ struct_type_c.size = 0;
+ struct_type_c.alignment = 0;
+ struct_type_c.type = FFI_TYPE_STRUCT;
+ struct_type_c.elements = struct_fields_source_c;
+
+ struct_fields_source_a[0] = &ffi_type_float;
+ struct_fields_source_a[1] = &ffi_type_float;
+ struct_fields_source_a[2] = NULL;
+
+ struct_fields_source_b[0] = &ffi_type_float;
+ struct_fields_source_b[1] = &ffi_type_float;
+ struct_fields_source_b[2] = NULL;
+
+ struct_fields_source_c[0] = &struct_type_a;
+ struct_fields_source_c[1] = &struct_type_b;
+ struct_fields_source_c[2] = NULL;
+
+ arg_types[0] = &ffi_type_sint32;
+ arg_types[1] = &ffi_type_sint32;
+ arg_types[2] = &ffi_type_sint32;
+ arg_types[3] = &struct_type_c;
+ arg_types[4] = &ffi_type_sint32;
+ arg_types[5] = &ffi_type_sint32;
+ arg_types[6] = &ffi_type_sint32;
+ arg_types[7] = NULL;
+
+ void *args[7];
+ args[0] = &k;
+ args[1] = &k;
+ args[2] = &k;
+ args[3] = &source;
+ args[4] = &k;
+ args[5] = &k;
+ args[6] = &k;
+ CHECK (ffi_prep_cif (&cif, FFI_DEFAULT_ABI, 7, &struct_type_c,
+ arg_types) == FFI_OK);
+
+ ffi_call (&cif, FFI_FN (C_fn), &result, args);
+ /* { dg-output "1, 1, 1, 1, 1, 1\n" } */
+ /* { dg-output "1.0, 2.0, 4.0, 8.0, 1.0, 2.0, 4.0, 8.0" } */
+ CHECK (result.a.a_x == source.a.a_x);
+ CHECK (result.a.a_y == source.a.a_y);
+ CHECK (result.b.b_x == source.b.b_x);
+ CHECK (result.b.b_y == source.b.b_y);
+ exit (0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct11/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct11/ya.make
index 318feff518..ad07ba5b80 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct11/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct11/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- nested_struct11.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ nested_struct11.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct2.c b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct2.c
index 90b7c91178..69268cdb8a 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct2.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct2.c
@@ -1,110 +1,110 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Contains structs as parameter of the struct itself.
- Sample taken from Alan Modras patch to src/prep_cif.c.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030911 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct A {
- unsigned long a;
- unsigned char b;
-} A;
-
-typedef struct B {
- struct A x;
- unsigned char y;
-} B;
-
-B B_fn(struct A b0, struct B b1)
-{
- struct B result;
-
- result.x.a = b0.a + b1.x.a;
- result.x.b = b0.b + b1.x.b + b1.y;
- result.y = b0.b + b1.x.b;
-
- printf("%lu %d %lu %d %d: %lu %d %d\n", b0.a, b0.b, b1.x.a, b1.x.b, b1.y,
- result.x.a, result.x.b, result.y);
-
- return result;
-}
-
-static void
-B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct A b0;
- struct B b1;
-
- b0 = *(struct A*)(args[0]);
- b1 = *(struct B*)(args[1]);
-
- *(B*)resp = B_fn(b0, b1);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[3];
- ffi_type* cls_struct_fields[3];
- ffi_type* cls_struct_fields1[3];
- ffi_type cls_struct_type, cls_struct_type1;
- ffi_type* dbl_arg_types[3];
-
- struct A e_dbl = { 1, 7};
- struct B f_dbl = {{12 , 127}, 99};
-
- struct B res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_type1.size = 0;
- cls_struct_type1.alignment = 0;
- cls_struct_type1.type = FFI_TYPE_STRUCT;
- cls_struct_type1.elements = cls_struct_fields1;
-
- cls_struct_fields[0] = &ffi_type_ulong;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = NULL;
-
- cls_struct_fields1[0] = &cls_struct_type;
- cls_struct_fields1[1] = &ffi_type_uchar;
- cls_struct_fields1[2] = NULL;
-
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type1;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
- /* { dg-output "1 7 12 127 99: 13 233 134" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl);
- /* { dg-output "\n1 7 12 127 99: 13 233 134" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Contains structs as parameter of the struct itself.
+ Sample taken from Alan Modras patch to src/prep_cif.c.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030911 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct A {
+ unsigned long a;
+ unsigned char b;
+} A;
+
+typedef struct B {
+ struct A x;
+ unsigned char y;
+} B;
+
+B B_fn(struct A b0, struct B b1)
+{
+ struct B result;
+
+ result.x.a = b0.a + b1.x.a;
+ result.x.b = b0.b + b1.x.b + b1.y;
+ result.y = b0.b + b1.x.b;
+
+ printf("%lu %d %lu %d %d: %lu %d %d\n", b0.a, b0.b, b1.x.a, b1.x.b, b1.y,
+ result.x.a, result.x.b, result.y);
+
+ return result;
+}
+
+static void
+B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct A b0;
+ struct B b1;
+
+ b0 = *(struct A*)(args[0]);
+ b1 = *(struct B*)(args[1]);
+
+ *(B*)resp = B_fn(b0, b1);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[3];
+ ffi_type* cls_struct_fields[3];
+ ffi_type* cls_struct_fields1[3];
+ ffi_type cls_struct_type, cls_struct_type1;
+ ffi_type* dbl_arg_types[3];
+
+ struct A e_dbl = { 1, 7};
+ struct B f_dbl = {{12 , 127}, 99};
+
+ struct B res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_type1.size = 0;
+ cls_struct_type1.alignment = 0;
+ cls_struct_type1.type = FFI_TYPE_STRUCT;
+ cls_struct_type1.elements = cls_struct_fields1;
+
+ cls_struct_fields[0] = &ffi_type_ulong;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = NULL;
+
+ cls_struct_fields1[0] = &cls_struct_type;
+ cls_struct_fields1[1] = &ffi_type_uchar;
+ cls_struct_fields1[2] = NULL;
+
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type1;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 7 12 127 99: 13 233 134" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl);
+ /* { dg-output "\n1 7 12 127 99: 13 233 134" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct2/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct2/ya.make
index e874372ca5..937c161594 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct2/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct2/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- nested_struct2.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ nested_struct2.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct3.c b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct3.c
index 20f11b216e..ab18cad733 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct3.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct3.c
@@ -1,111 +1,111 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Contains structs as parameter of the struct itself.
- Sample taken from Alan Modras patch to src/prep_cif.c.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030911 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct A {
- unsigned long long a;
- unsigned char b;
-} A;
-
-typedef struct B {
- struct A x;
- unsigned char y;
-} B;
-
-B B_fn(struct A b0, struct B b1)
-{
- struct B result;
-
- result.x.a = b0.a + b1.x.a;
- result.x.b = b0.b + b1.x.b + b1.y;
- result.y = b0.b + b1.x.b;
-
- printf("%d %d %d %d %d: %d %d %d\n", (int)b0.a, b0.b,
- (int)b1.x.a, b1.x.b, b1.y,
- (int)result.x.a, result.x.b, result.y);
-
- return result;
-}
-
-static void
-B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct A b0;
- struct B b1;
-
- b0 = *(struct A*)(args[0]);
- b1 = *(struct B*)(args[1]);
-
- *(B*)resp = B_fn(b0, b1);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[3];
- ffi_type* cls_struct_fields[3];
- ffi_type* cls_struct_fields1[3];
- ffi_type cls_struct_type, cls_struct_type1;
- ffi_type* dbl_arg_types[3];
-
- struct A e_dbl = { 1LL, 7};
- struct B f_dbl = {{12LL , 127}, 99};
-
- struct B res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_type1.size = 0;
- cls_struct_type1.alignment = 0;
- cls_struct_type1.type = FFI_TYPE_STRUCT;
- cls_struct_type1.elements = cls_struct_fields1;
-
- cls_struct_fields[0] = &ffi_type_uint64;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = NULL;
-
- cls_struct_fields1[0] = &cls_struct_type;
- cls_struct_fields1[1] = &ffi_type_uchar;
- cls_struct_fields1[2] = NULL;
-
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type1;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
- /* { dg-output "1 7 12 127 99: 13 233 134" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
-
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl);
- /* { dg-output "\n1 7 12 127 99: 13 233 134" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Contains structs as parameter of the struct itself.
+ Sample taken from Alan Modras patch to src/prep_cif.c.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030911 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct A {
+ unsigned long long a;
+ unsigned char b;
+} A;
+
+typedef struct B {
+ struct A x;
+ unsigned char y;
+} B;
+
+B B_fn(struct A b0, struct B b1)
+{
+ struct B result;
+
+ result.x.a = b0.a + b1.x.a;
+ result.x.b = b0.b + b1.x.b + b1.y;
+ result.y = b0.b + b1.x.b;
+
+ printf("%d %d %d %d %d: %d %d %d\n", (int)b0.a, b0.b,
+ (int)b1.x.a, b1.x.b, b1.y,
+ (int)result.x.a, result.x.b, result.y);
+
+ return result;
+}
+
+static void
+B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct A b0;
+ struct B b1;
+
+ b0 = *(struct A*)(args[0]);
+ b1 = *(struct B*)(args[1]);
+
+ *(B*)resp = B_fn(b0, b1);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[3];
+ ffi_type* cls_struct_fields[3];
+ ffi_type* cls_struct_fields1[3];
+ ffi_type cls_struct_type, cls_struct_type1;
+ ffi_type* dbl_arg_types[3];
+
+ struct A e_dbl = { 1LL, 7};
+ struct B f_dbl = {{12LL , 127}, 99};
+
+ struct B res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_type1.size = 0;
+ cls_struct_type1.alignment = 0;
+ cls_struct_type1.type = FFI_TYPE_STRUCT;
+ cls_struct_type1.elements = cls_struct_fields1;
+
+ cls_struct_fields[0] = &ffi_type_uint64;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = NULL;
+
+ cls_struct_fields1[0] = &cls_struct_type;
+ cls_struct_fields1[1] = &ffi_type_uchar;
+ cls_struct_fields1[2] = NULL;
+
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type1;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 7 12 127 99: 13 233 134" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
+
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl);
+ /* { dg-output "\n1 7 12 127 99: 13 233 134" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct3/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct3/ya.make
index a200403e3d..968baf49ec 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct3/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct3/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- nested_struct3.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ nested_struct3.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct4.c b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct4.c
index 56954eaec1..2ffb4d65a0 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct4.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct4.c
@@ -1,111 +1,111 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Contains structs as parameter of the struct itself.
- Sample taken from Alan Modras patch to src/prep_cif.c.
- Limitations: none.
- PR: PR 25630.
- Originator: <andreast@gcc.gnu.org> 20051010 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct A {
- double a;
- unsigned char b;
-} A;
-
-typedef struct B {
- struct A x;
- unsigned char y;
-} B;
-
-static B B_fn(struct A b2, struct B b3)
-{
- struct B result;
-
- result.x.a = b2.a + b3.x.a;
- result.x.b = b2.b + b3.x.b + b3.y;
- result.y = b2.b + b3.x.b;
-
- printf("%d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
- (int)b3.x.a, b3.x.b, b3.y,
- (int)result.x.a, result.x.b, result.y);
-
- return result;
-}
-
-static void
-B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct A b0;
- struct B b1;
-
- b0 = *(struct A*)(args[0]);
- b1 = *(struct B*)(args[1]);
-
- *(B*)resp = B_fn(b0, b1);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[3];
- ffi_type* cls_struct_fields[3];
- ffi_type* cls_struct_fields1[3];
- ffi_type cls_struct_type, cls_struct_type1;
- ffi_type* dbl_arg_types[3];
-
- struct A e_dbl = { 1.0, 7};
- struct B f_dbl = {{12.0 , 127}, 99};
-
- struct B res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_type1.size = 0;
- cls_struct_type1.alignment = 0;
- cls_struct_type1.type = FFI_TYPE_STRUCT;
- cls_struct_type1.elements = cls_struct_fields1;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = NULL;
-
- cls_struct_fields1[0] = &cls_struct_type;
- cls_struct_fields1[1] = &ffi_type_uchar;
- cls_struct_fields1[2] = NULL;
-
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type1;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
- /* { dg-output "1 7 12 127 99: 13 233 134" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl);
- /* { dg-output "\n1 7 12 127 99: 13 233 134" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Contains structs as parameter of the struct itself.
+ Sample taken from Alan Modras patch to src/prep_cif.c.
+ Limitations: none.
+ PR: PR 25630.
+ Originator: <andreast@gcc.gnu.org> 20051010 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct A {
+ double a;
+ unsigned char b;
+} A;
+
+typedef struct B {
+ struct A x;
+ unsigned char y;
+} B;
+
+static B B_fn(struct A b2, struct B b3)
+{
+ struct B result;
+
+ result.x.a = b2.a + b3.x.a;
+ result.x.b = b2.b + b3.x.b + b3.y;
+ result.y = b2.b + b3.x.b;
+
+ printf("%d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
+ (int)b3.x.a, b3.x.b, b3.y,
+ (int)result.x.a, result.x.b, result.y);
+
+ return result;
+}
+
+static void
+B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct A b0;
+ struct B b1;
+
+ b0 = *(struct A*)(args[0]);
+ b1 = *(struct B*)(args[1]);
+
+ *(B*)resp = B_fn(b0, b1);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[3];
+ ffi_type* cls_struct_fields[3];
+ ffi_type* cls_struct_fields1[3];
+ ffi_type cls_struct_type, cls_struct_type1;
+ ffi_type* dbl_arg_types[3];
+
+ struct A e_dbl = { 1.0, 7};
+ struct B f_dbl = {{12.0 , 127}, 99};
+
+ struct B res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_type1.size = 0;
+ cls_struct_type1.alignment = 0;
+ cls_struct_type1.type = FFI_TYPE_STRUCT;
+ cls_struct_type1.elements = cls_struct_fields1;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = NULL;
+
+ cls_struct_fields1[0] = &cls_struct_type;
+ cls_struct_fields1[1] = &ffi_type_uchar;
+ cls_struct_fields1[2] = NULL;
+
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type1;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 7 12 127 99: 13 233 134" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl);
+ /* { dg-output "\n1 7 12 127 99: 13 233 134" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct4/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct4/ya.make
index 71099c60f2..57f13f8dda 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct4/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct4/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- nested_struct4.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ nested_struct4.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct5.c b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct5.c
index ebcd28c005..6c79845d98 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct5.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct5.c
@@ -1,112 +1,112 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Contains structs as parameter of the struct itself.
- Sample taken from Alan Modras patch to src/prep_cif.c.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20051010 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct A {
- long double a;
- unsigned char b;
-} A;
-
-typedef struct B {
- struct A x;
- unsigned char y;
-} B;
-
-static B B_fn(struct A b2, struct B b3)
-{
- struct B result;
-
- result.x.a = b2.a + b3.x.a;
- result.x.b = b2.b + b3.x.b + b3.y;
- result.y = b2.b + b3.x.b;
-
- printf("%d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
- (int)b3.x.a, b3.x.b, b3.y,
- (int)result.x.a, result.x.b, result.y);
-
- return result;
-}
-
-static void
-B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct A b0;
- struct B b1;
-
- b0 = *(struct A*)(args[0]);
- b1 = *(struct B*)(args[1]);
-
- *(B*)resp = B_fn(b0, b1);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[3];
- ffi_type* cls_struct_fields[3];
- ffi_type* cls_struct_fields1[3];
- ffi_type cls_struct_type, cls_struct_type1;
- ffi_type* dbl_arg_types[3];
-
- struct A e_dbl = { 1.0, 7};
- struct B f_dbl = {{12.0 , 127}, 99};
-
- struct B res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_type1.size = 0;
- cls_struct_type1.alignment = 0;
- cls_struct_type1.type = FFI_TYPE_STRUCT;
- cls_struct_type1.elements = cls_struct_fields1;
-
- cls_struct_fields[0] = &ffi_type_longdouble;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = NULL;
-
- cls_struct_fields1[0] = &cls_struct_type;
- cls_struct_fields1[1] = &ffi_type_uchar;
- cls_struct_fields1[2] = NULL;
-
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type1;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
- /* { dg-output "1 7 12 127 99: 13 233 134" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
-
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl);
- /* { dg-output "\n1 7 12 127 99: 13 233 134" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Contains structs as parameter of the struct itself.
+ Sample taken from Alan Modras patch to src/prep_cif.c.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20051010 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct A {
+ long double a;
+ unsigned char b;
+} A;
+
+typedef struct B {
+ struct A x;
+ unsigned char y;
+} B;
+
+static B B_fn(struct A b2, struct B b3)
+{
+ struct B result;
+
+ result.x.a = b2.a + b3.x.a;
+ result.x.b = b2.b + b3.x.b + b3.y;
+ result.y = b2.b + b3.x.b;
+
+ printf("%d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
+ (int)b3.x.a, b3.x.b, b3.y,
+ (int)result.x.a, result.x.b, result.y);
+
+ return result;
+}
+
+static void
+B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct A b0;
+ struct B b1;
+
+ b0 = *(struct A*)(args[0]);
+ b1 = *(struct B*)(args[1]);
+
+ *(B*)resp = B_fn(b0, b1);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[3];
+ ffi_type* cls_struct_fields[3];
+ ffi_type* cls_struct_fields1[3];
+ ffi_type cls_struct_type, cls_struct_type1;
+ ffi_type* dbl_arg_types[3];
+
+ struct A e_dbl = { 1.0, 7};
+ struct B f_dbl = {{12.0 , 127}, 99};
+
+ struct B res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_type1.size = 0;
+ cls_struct_type1.alignment = 0;
+ cls_struct_type1.type = FFI_TYPE_STRUCT;
+ cls_struct_type1.elements = cls_struct_fields1;
+
+ cls_struct_fields[0] = &ffi_type_longdouble;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = NULL;
+
+ cls_struct_fields1[0] = &cls_struct_type;
+ cls_struct_fields1[1] = &ffi_type_uchar;
+ cls_struct_fields1[2] = NULL;
+
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type1;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 7 12 127 99: 13 233 134" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
+
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl);
+ /* { dg-output "\n1 7 12 127 99: 13 233 134" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct5/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct5/ya.make
index f69bede846..37bfbda7e6 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct5/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct5/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- nested_struct5.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ nested_struct5.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct6.c b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct6.c
index 0fb4449fa3..59d35796f8 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct6.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct6.c
@@ -1,131 +1,131 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Contains structs as parameter of the struct itself.
- Sample taken from Alan Modras patch to src/prep_cif.c.
- Limitations: none.
- PR: PR 25630.
- Originator: <andreast@gcc.gnu.org> 20051010 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct A {
- double a;
- unsigned char b;
-} A;
-
-typedef struct B {
- struct A x;
- unsigned char y;
-} B;
-
-typedef struct C {
- long d;
- unsigned char e;
-} C;
-
-static B B_fn(struct A b2, struct B b3, struct C b4)
-{
- struct B result;
-
- result.x.a = b2.a + b3.x.a + b4.d;
- result.x.b = b2.b + b3.x.b + b3.y + b4.e;
- result.y = b2.b + b3.x.b + b4.e;
-
- printf("%d %d %d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
- (int)b3.x.a, b3.x.b, b3.y, (int)b4.d, b4.e,
- (int)result.x.a, result.x.b, result.y);
-
- return result;
-}
-
-static void
-B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct A b0;
- struct B b1;
- struct C b2;
-
- b0 = *(struct A*)(args[0]);
- b1 = *(struct B*)(args[1]);
- b2 = *(struct C*)(args[2]);
-
- *(B*)resp = B_fn(b0, b1, b2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[4];
- ffi_type* cls_struct_fields[3];
- ffi_type* cls_struct_fields1[3];
- ffi_type* cls_struct_fields2[3];
- ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2;
- ffi_type* dbl_arg_types[4];
-
- struct A e_dbl = { 1.0, 7};
- struct B f_dbl = {{12.0 , 127}, 99};
- struct C g_dbl = { 2, 9};
-
- struct B res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_type1.size = 0;
- cls_struct_type1.alignment = 0;
- cls_struct_type1.type = FFI_TYPE_STRUCT;
- cls_struct_type1.elements = cls_struct_fields1;
-
- cls_struct_type2.size = 0;
- cls_struct_type2.alignment = 0;
- cls_struct_type2.type = FFI_TYPE_STRUCT;
- cls_struct_type2.elements = cls_struct_fields2;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = NULL;
-
- cls_struct_fields1[0] = &cls_struct_type;
- cls_struct_fields1[1] = &ffi_type_uchar;
- cls_struct_fields1[2] = NULL;
-
- cls_struct_fields2[0] = &ffi_type_slong;
- cls_struct_fields2[1] = &ffi_type_uchar;
- cls_struct_fields2[2] = NULL;
-
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type1;
- dbl_arg_types[2] = &cls_struct_type2;
- dbl_arg_types[3] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type1,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = &g_dbl;
- args_dbl[3] = NULL;
-
- ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
- /* { dg-output "1 7 12 127 99 2 9: 15 242 143" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((B(*)(A, B, C))(code))(e_dbl, f_dbl, g_dbl);
- /* { dg-output "\n1 7 12 127 99 2 9: 15 242 143" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Contains structs as parameter of the struct itself.
+ Sample taken from Alan Modras patch to src/prep_cif.c.
+ Limitations: none.
+ PR: PR 25630.
+ Originator: <andreast@gcc.gnu.org> 20051010 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct A {
+ double a;
+ unsigned char b;
+} A;
+
+typedef struct B {
+ struct A x;
+ unsigned char y;
+} B;
+
+typedef struct C {
+ long d;
+ unsigned char e;
+} C;
+
+static B B_fn(struct A b2, struct B b3, struct C b4)
+{
+ struct B result;
+
+ result.x.a = b2.a + b3.x.a + b4.d;
+ result.x.b = b2.b + b3.x.b + b3.y + b4.e;
+ result.y = b2.b + b3.x.b + b4.e;
+
+ printf("%d %d %d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
+ (int)b3.x.a, b3.x.b, b3.y, (int)b4.d, b4.e,
+ (int)result.x.a, result.x.b, result.y);
+
+ return result;
+}
+
+static void
+B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct A b0;
+ struct B b1;
+ struct C b2;
+
+ b0 = *(struct A*)(args[0]);
+ b1 = *(struct B*)(args[1]);
+ b2 = *(struct C*)(args[2]);
+
+ *(B*)resp = B_fn(b0, b1, b2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[4];
+ ffi_type* cls_struct_fields[3];
+ ffi_type* cls_struct_fields1[3];
+ ffi_type* cls_struct_fields2[3];
+ ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2;
+ ffi_type* dbl_arg_types[4];
+
+ struct A e_dbl = { 1.0, 7};
+ struct B f_dbl = {{12.0 , 127}, 99};
+ struct C g_dbl = { 2, 9};
+
+ struct B res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_type1.size = 0;
+ cls_struct_type1.alignment = 0;
+ cls_struct_type1.type = FFI_TYPE_STRUCT;
+ cls_struct_type1.elements = cls_struct_fields1;
+
+ cls_struct_type2.size = 0;
+ cls_struct_type2.alignment = 0;
+ cls_struct_type2.type = FFI_TYPE_STRUCT;
+ cls_struct_type2.elements = cls_struct_fields2;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = NULL;
+
+ cls_struct_fields1[0] = &cls_struct_type;
+ cls_struct_fields1[1] = &ffi_type_uchar;
+ cls_struct_fields1[2] = NULL;
+
+ cls_struct_fields2[0] = &ffi_type_slong;
+ cls_struct_fields2[1] = &ffi_type_uchar;
+ cls_struct_fields2[2] = NULL;
+
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type1;
+ dbl_arg_types[2] = &cls_struct_type2;
+ dbl_arg_types[3] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type1,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = &g_dbl;
+ args_dbl[3] = NULL;
+
+ ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 7 12 127 99 2 9: 15 242 143" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((B(*)(A, B, C))(code))(e_dbl, f_dbl, g_dbl);
+ /* { dg-output "\n1 7 12 127 99 2 9: 15 242 143" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct6/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct6/ya.make
index 637dee98e5..10fa25f293 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct6/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct6/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- nested_struct6.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ nested_struct6.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct7.c b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct7.c
index d6da2a92f1..27595e6f5c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct7.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct7.c
@@ -1,111 +1,111 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Contains structs as parameter of the struct itself.
- Sample taken from Alan Modras patch to src/prep_cif.c.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20051010 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct A {
- unsigned long long a;
- unsigned char b;
-} A;
-
-typedef struct B {
- struct A x;
- unsigned char y;
-} B;
-
-static B B_fn(struct A b2, struct B b3)
-{
- struct B result;
-
- result.x.a = b2.a + b3.x.a;
- result.x.b = b2.b + b3.x.b + b3.y;
- result.y = b2.b + b3.x.b;
-
- printf("%d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
- (int)b3.x.a, b3.x.b, b3.y,
- (int)result.x.a, result.x.b, result.y);
-
- return result;
-}
-
-static void
-B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct A b0;
- struct B b1;
-
- b0 = *(struct A*)(args[0]);
- b1 = *(struct B*)(args[1]);
-
- *(B*)resp = B_fn(b0, b1);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[3];
- ffi_type* cls_struct_fields[3];
- ffi_type* cls_struct_fields1[3];
- ffi_type cls_struct_type, cls_struct_type1;
- ffi_type* dbl_arg_types[3];
-
- struct A e_dbl = { 1LL, 7};
- struct B f_dbl = {{12.0 , 127}, 99};
-
- struct B res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_type1.size = 0;
- cls_struct_type1.alignment = 0;
- cls_struct_type1.type = FFI_TYPE_STRUCT;
- cls_struct_type1.elements = cls_struct_fields1;
-
- cls_struct_fields[0] = &ffi_type_uint64;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = NULL;
-
- cls_struct_fields1[0] = &cls_struct_type;
- cls_struct_fields1[1] = &ffi_type_uchar;
- cls_struct_fields1[2] = NULL;
-
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type1;
- dbl_arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = NULL;
-
- ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
- /* { dg-output "1 7 12 127 99: 13 233 134" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl);
- /* { dg-output "\n1 7 12 127 99: 13 233 134" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Contains structs as parameter of the struct itself.
+ Sample taken from Alan Modras patch to src/prep_cif.c.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20051010 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct A {
+ unsigned long long a;
+ unsigned char b;
+} A;
+
+typedef struct B {
+ struct A x;
+ unsigned char y;
+} B;
+
+static B B_fn(struct A b2, struct B b3)
+{
+ struct B result;
+
+ result.x.a = b2.a + b3.x.a;
+ result.x.b = b2.b + b3.x.b + b3.y;
+ result.y = b2.b + b3.x.b;
+
+ printf("%d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
+ (int)b3.x.a, b3.x.b, b3.y,
+ (int)result.x.a, result.x.b, result.y);
+
+ return result;
+}
+
+static void
+B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct A b0;
+ struct B b1;
+
+ b0 = *(struct A*)(args[0]);
+ b1 = *(struct B*)(args[1]);
+
+ *(B*)resp = B_fn(b0, b1);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[3];
+ ffi_type* cls_struct_fields[3];
+ ffi_type* cls_struct_fields1[3];
+ ffi_type cls_struct_type, cls_struct_type1;
+ ffi_type* dbl_arg_types[3];
+
+ struct A e_dbl = { 1LL, 7};
+ struct B f_dbl = {{12.0 , 127}, 99};
+
+ struct B res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_type1.size = 0;
+ cls_struct_type1.alignment = 0;
+ cls_struct_type1.type = FFI_TYPE_STRUCT;
+ cls_struct_type1.elements = cls_struct_fields1;
+
+ cls_struct_fields[0] = &ffi_type_uint64;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = NULL;
+
+ cls_struct_fields1[0] = &cls_struct_type;
+ cls_struct_fields1[1] = &ffi_type_uchar;
+ cls_struct_fields1[2] = NULL;
+
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type1;
+ dbl_arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &cls_struct_type1,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = NULL;
+
+ ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 7 12 127 99: 13 233 134" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((B(*)(A, B))(code))(e_dbl, f_dbl);
+ /* { dg-output "\n1 7 12 127 99: 13 233 134" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b));
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct7/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct7/ya.make
index bfb2346710..9c1da60995 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct7/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct7/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- nested_struct7.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ nested_struct7.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct8.c b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct8.c
index 32c65c37c4..0e6c68281e 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct8.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct8.c
@@ -1,131 +1,131 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Contains structs as parameter of the struct itself.
- Sample taken from Alan Modras patch to src/prep_cif.c.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20051010 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct A {
- unsigned long long a;
- unsigned char b;
-} A;
-
-typedef struct B {
- struct A x;
- unsigned char y;
-} B;
-
-typedef struct C {
- unsigned long long d;
- unsigned char e;
-} C;
-
-static B B_fn(struct A b2, struct B b3, struct C b4)
-{
- struct B result;
-
- result.x.a = b2.a + b3.x.a + b4.d;
- result.x.b = b2.b + b3.x.b + b3.y + b4.e;
- result.y = b2.b + b3.x.b + b4.e;
-
- printf("%d %d %d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
- (int)b3.x.a, b3.x.b, b3.y, (int)b4.d, b4.e,
- (int)result.x.a, result.x.b, result.y);
-
- return result;
-}
-
-static void
-B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct A b0;
- struct B b1;
- struct C b2;
-
- b0 = *(struct A*)(args[0]);
- b1 = *(struct B*)(args[1]);
- b2 = *(struct C*)(args[2]);
-
- *(B*)resp = B_fn(b0, b1, b2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[4];
- ffi_type* cls_struct_fields[3];
- ffi_type* cls_struct_fields1[3];
- ffi_type* cls_struct_fields2[3];
- ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2;
- ffi_type* dbl_arg_types[4];
-
- struct A e_dbl = { 1LL, 7};
- struct B f_dbl = {{12LL , 127}, 99};
- struct C g_dbl = { 2LL, 9};
-
- struct B res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_type1.size = 0;
- cls_struct_type1.alignment = 0;
- cls_struct_type1.type = FFI_TYPE_STRUCT;
- cls_struct_type1.elements = cls_struct_fields1;
-
- cls_struct_type2.size = 0;
- cls_struct_type2.alignment = 0;
- cls_struct_type2.type = FFI_TYPE_STRUCT;
- cls_struct_type2.elements = cls_struct_fields2;
-
- cls_struct_fields[0] = &ffi_type_uint64;
- cls_struct_fields[1] = &ffi_type_uchar;
- cls_struct_fields[2] = NULL;
-
- cls_struct_fields1[0] = &cls_struct_type;
- cls_struct_fields1[1] = &ffi_type_uchar;
- cls_struct_fields1[2] = NULL;
-
- cls_struct_fields2[0] = &ffi_type_uint64;
- cls_struct_fields2[1] = &ffi_type_uchar;
- cls_struct_fields2[2] = NULL;
-
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type1;
- dbl_arg_types[2] = &cls_struct_type2;
- dbl_arg_types[3] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type1,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = &g_dbl;
- args_dbl[3] = NULL;
-
- ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
- /* { dg-output "1 7 12 127 99 2 9: 15 242 143" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((B(*)(A, B, C))(code))(e_dbl, f_dbl, g_dbl);
- /* { dg-output "\n1 7 12 127 99 2 9: 15 242 143" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Contains structs as parameter of the struct itself.
+ Sample taken from Alan Modras patch to src/prep_cif.c.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20051010 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct A {
+ unsigned long long a;
+ unsigned char b;
+} A;
+
+typedef struct B {
+ struct A x;
+ unsigned char y;
+} B;
+
+typedef struct C {
+ unsigned long long d;
+ unsigned char e;
+} C;
+
+static B B_fn(struct A b2, struct B b3, struct C b4)
+{
+ struct B result;
+
+ result.x.a = b2.a + b3.x.a + b4.d;
+ result.x.b = b2.b + b3.x.b + b3.y + b4.e;
+ result.y = b2.b + b3.x.b + b4.e;
+
+ printf("%d %d %d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
+ (int)b3.x.a, b3.x.b, b3.y, (int)b4.d, b4.e,
+ (int)result.x.a, result.x.b, result.y);
+
+ return result;
+}
+
+static void
+B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct A b0;
+ struct B b1;
+ struct C b2;
+
+ b0 = *(struct A*)(args[0]);
+ b1 = *(struct B*)(args[1]);
+ b2 = *(struct C*)(args[2]);
+
+ *(B*)resp = B_fn(b0, b1, b2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[4];
+ ffi_type* cls_struct_fields[3];
+ ffi_type* cls_struct_fields1[3];
+ ffi_type* cls_struct_fields2[3];
+ ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2;
+ ffi_type* dbl_arg_types[4];
+
+ struct A e_dbl = { 1LL, 7};
+ struct B f_dbl = {{12LL , 127}, 99};
+ struct C g_dbl = { 2LL, 9};
+
+ struct B res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_type1.size = 0;
+ cls_struct_type1.alignment = 0;
+ cls_struct_type1.type = FFI_TYPE_STRUCT;
+ cls_struct_type1.elements = cls_struct_fields1;
+
+ cls_struct_type2.size = 0;
+ cls_struct_type2.alignment = 0;
+ cls_struct_type2.type = FFI_TYPE_STRUCT;
+ cls_struct_type2.elements = cls_struct_fields2;
+
+ cls_struct_fields[0] = &ffi_type_uint64;
+ cls_struct_fields[1] = &ffi_type_uchar;
+ cls_struct_fields[2] = NULL;
+
+ cls_struct_fields1[0] = &cls_struct_type;
+ cls_struct_fields1[1] = &ffi_type_uchar;
+ cls_struct_fields1[2] = NULL;
+
+ cls_struct_fields2[0] = &ffi_type_uint64;
+ cls_struct_fields2[1] = &ffi_type_uchar;
+ cls_struct_fields2[2] = NULL;
+
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type1;
+ dbl_arg_types[2] = &cls_struct_type2;
+ dbl_arg_types[3] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type1,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = &g_dbl;
+ args_dbl[3] = NULL;
+
+ ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 7 12 127 99 2 9: 15 242 143" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((B(*)(A, B, C))(code))(e_dbl, f_dbl, g_dbl);
+ /* { dg-output "\n1 7 12 127 99 2 9: 15 242 143" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct8/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct8/ya.make
index 730bb80a1e..068551c748 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct8/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct8/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- nested_struct8.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ nested_struct8.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct9.c b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct9.c
index d43f45bbfe..5f7ac67752 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct9.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct9.c
@@ -1,131 +1,131 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Contains structs as parameter of the struct itself.
- Sample taken from Alan Modras patch to src/prep_cif.c.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20051010 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct A {
- unsigned char a;
- unsigned long long b;
-} A;
-
-typedef struct B {
- struct A x;
- unsigned char y;
-} B;
-
-typedef struct C {
- unsigned long d;
- unsigned char e;
-} C;
-
-static B B_fn(struct A b2, struct B b3, struct C b4)
-{
- struct B result;
-
- result.x.a = b2.a + b3.x.a + b4.d;
- result.x.b = b2.b + b3.x.b + b3.y + b4.e;
- result.y = b2.b + b3.x.b + b4.e;
-
- printf("%d %d %d %d %d %d %d: %d %d %d\n", b2.a, (int)b2.b,
- b3.x.a, (int)b3.x.b, b3.y, (int)b4.d, b4.e,
- result.x.a, (int)result.x.b, result.y);
-
- return result;
-}
-
-static void
-B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct A b0;
- struct B b1;
- struct C b2;
-
- b0 = *(struct A*)(args[0]);
- b1 = *(struct B*)(args[1]);
- b2 = *(struct C*)(args[2]);
-
- *(B*)resp = B_fn(b0, b1, b2);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[4];
- ffi_type* cls_struct_fields[3];
- ffi_type* cls_struct_fields1[3];
- ffi_type* cls_struct_fields2[3];
- ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2;
- ffi_type* dbl_arg_types[4];
-
- struct A e_dbl = { 1, 7LL};
- struct B f_dbl = {{12.0 , 127}, 99};
- struct C g_dbl = { 2, 9};
-
- struct B res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_type1.size = 0;
- cls_struct_type1.alignment = 0;
- cls_struct_type1.type = FFI_TYPE_STRUCT;
- cls_struct_type1.elements = cls_struct_fields1;
-
- cls_struct_type2.size = 0;
- cls_struct_type2.alignment = 0;
- cls_struct_type2.type = FFI_TYPE_STRUCT;
- cls_struct_type2.elements = cls_struct_fields2;
-
- cls_struct_fields[0] = &ffi_type_uchar;
- cls_struct_fields[1] = &ffi_type_uint64;
- cls_struct_fields[2] = NULL;
-
- cls_struct_fields1[0] = &cls_struct_type;
- cls_struct_fields1[1] = &ffi_type_uchar;
- cls_struct_fields1[2] = NULL;
-
- cls_struct_fields2[0] = &ffi_type_ulong;
- cls_struct_fields2[1] = &ffi_type_uchar;
- cls_struct_fields2[2] = NULL;
-
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type1;
- dbl_arg_types[2] = &cls_struct_type2;
- dbl_arg_types[3] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type1,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = &g_dbl;
- args_dbl[3] = NULL;
-
- ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
- /* { dg-output "1 7 12 127 99 2 9: 15 242 143" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((B(*)(A, B, C))(code))(e_dbl, f_dbl, g_dbl);
- /* { dg-output "\n1 7 12 127 99 2 9: 15 242 143" } */
- CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d));
- CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
- CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Contains structs as parameter of the struct itself.
+ Sample taken from Alan Modras patch to src/prep_cif.c.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20051010 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct A {
+ unsigned char a;
+ unsigned long long b;
+} A;
+
+typedef struct B {
+ struct A x;
+ unsigned char y;
+} B;
+
+typedef struct C {
+ unsigned long d;
+ unsigned char e;
+} C;
+
+static B B_fn(struct A b2, struct B b3, struct C b4)
+{
+ struct B result;
+
+ result.x.a = b2.a + b3.x.a + b4.d;
+ result.x.b = b2.b + b3.x.b + b3.y + b4.e;
+ result.y = b2.b + b3.x.b + b4.e;
+
+ printf("%d %d %d %d %d %d %d: %d %d %d\n", b2.a, (int)b2.b,
+ b3.x.a, (int)b3.x.b, b3.y, (int)b4.d, b4.e,
+ result.x.a, (int)result.x.b, result.y);
+
+ return result;
+}
+
+static void
+B_gn(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct A b0;
+ struct B b1;
+ struct C b2;
+
+ b0 = *(struct A*)(args[0]);
+ b1 = *(struct B*)(args[1]);
+ b2 = *(struct C*)(args[2]);
+
+ *(B*)resp = B_fn(b0, b1, b2);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[4];
+ ffi_type* cls_struct_fields[3];
+ ffi_type* cls_struct_fields1[3];
+ ffi_type* cls_struct_fields2[3];
+ ffi_type cls_struct_type, cls_struct_type1, cls_struct_type2;
+ ffi_type* dbl_arg_types[4];
+
+ struct A e_dbl = { 1, 7LL};
+ struct B f_dbl = {{12.0 , 127}, 99};
+ struct C g_dbl = { 2, 9};
+
+ struct B res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_type1.size = 0;
+ cls_struct_type1.alignment = 0;
+ cls_struct_type1.type = FFI_TYPE_STRUCT;
+ cls_struct_type1.elements = cls_struct_fields1;
+
+ cls_struct_type2.size = 0;
+ cls_struct_type2.alignment = 0;
+ cls_struct_type2.type = FFI_TYPE_STRUCT;
+ cls_struct_type2.elements = cls_struct_fields2;
+
+ cls_struct_fields[0] = &ffi_type_uchar;
+ cls_struct_fields[1] = &ffi_type_uint64;
+ cls_struct_fields[2] = NULL;
+
+ cls_struct_fields1[0] = &cls_struct_type;
+ cls_struct_fields1[1] = &ffi_type_uchar;
+ cls_struct_fields1[2] = NULL;
+
+ cls_struct_fields2[0] = &ffi_type_ulong;
+ cls_struct_fields2[1] = &ffi_type_uchar;
+ cls_struct_fields2[2] = NULL;
+
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type1;
+ dbl_arg_types[2] = &cls_struct_type2;
+ dbl_arg_types[3] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, &cls_struct_type1,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = &g_dbl;
+ args_dbl[3] = NULL;
+
+ ffi_call(&cif, FFI_FN(B_fn), &res_dbl, args_dbl);
+ /* { dg-output "1 7 12 127 99 2 9: 15 242 143" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, B_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((B(*)(A, B, C))(code))(e_dbl, f_dbl, g_dbl);
+ /* { dg-output "\n1 7 12 127 99 2 9: 15 242 143" } */
+ CHECK( res_dbl.x.a == (e_dbl.a + f_dbl.x.a + g_dbl.d));
+ CHECK( res_dbl.x.b == (e_dbl.b + f_dbl.x.b + f_dbl.y + g_dbl.e));
+ CHECK( res_dbl.y == (e_dbl.b + f_dbl.x.b + g_dbl.e));
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct9/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct9/ya.make
index 5162a3d267..f49bada8fa 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct9/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/nested_struct9/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- nested_struct9.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ nested_struct9.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/problem1.c b/contrib/restricted/libffi/testsuite/libffi.closures/problem1.c
index d888138d9d..6a91555a1f 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/problem1.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/problem1.c
@@ -1,90 +1,90 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure passing with different structure size.
- Limitations: none.
- PR: none.
- Originator: <andreast@gcc.gnu.org> 20030828 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct my_ffi_struct {
- double a;
- double b;
- double c;
-} my_ffi_struct;
-
-my_ffi_struct callee(struct my_ffi_struct a1, struct my_ffi_struct a2)
-{
- struct my_ffi_struct result;
- result.a = a1.a + a2.a;
- result.b = a1.b + a2.b;
- result.c = a1.c + a2.c;
-
-
- printf("%g %g %g %g %g %g: %g %g %g\n", a1.a, a1.b, a1.c,
- a2.a, a2.b, a2.c, result.a, result.b, result.c);
-
- return result;
-}
-
-void stub(ffi_cif* cif __UNUSED__, void* resp, void** args,
- void* userdata __UNUSED__)
-{
- struct my_ffi_struct a1;
- struct my_ffi_struct a2;
-
- a1 = *(struct my_ffi_struct*)(args[0]);
- a2 = *(struct my_ffi_struct*)(args[1]);
-
- *(my_ffi_struct *)resp = callee(a1, a2);
-}
-
-
-int main(void)
-{
- ffi_type* my_ffi_struct_fields[4];
- ffi_type my_ffi_struct_type;
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args[4];
- ffi_type* arg_types[3];
-
- struct my_ffi_struct g = { 1.0, 2.0, 3.0 };
- struct my_ffi_struct f = { 1.0, 2.0, 3.0 };
- struct my_ffi_struct res;
-
- my_ffi_struct_type.size = 0;
- my_ffi_struct_type.alignment = 0;
- my_ffi_struct_type.type = FFI_TYPE_STRUCT;
- my_ffi_struct_type.elements = my_ffi_struct_fields;
-
- my_ffi_struct_fields[0] = &ffi_type_double;
- my_ffi_struct_fields[1] = &ffi_type_double;
- my_ffi_struct_fields[2] = &ffi_type_double;
- my_ffi_struct_fields[3] = NULL;
-
- arg_types[0] = &my_ffi_struct_type;
- arg_types[1] = &my_ffi_struct_type;
- arg_types[2] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &my_ffi_struct_type,
- arg_types) == FFI_OK);
-
- args[0] = &g;
- args[1] = &f;
- args[2] = NULL;
- ffi_call(&cif, FFI_FN(callee), &res, args);
- /* { dg-output "1 2 3 1 2 3: 2 4 6" } */
- printf("res: %g %g %g\n", res.a, res.b, res.c);
- /* { dg-output "\nres: 2 4 6" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, stub, NULL, code) == FFI_OK);
-
- res = ((my_ffi_struct(*)(struct my_ffi_struct, struct my_ffi_struct))(code))(g, f);
- /* { dg-output "\n1 2 3 1 2 3: 2 4 6" } */
- printf("res: %g %g %g\n", res.a, res.b, res.c);
- /* { dg-output "\nres: 2 4 6" } */
-
- exit(0);;
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure passing with different structure size.
+ Limitations: none.
+ PR: none.
+ Originator: <andreast@gcc.gnu.org> 20030828 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct my_ffi_struct {
+ double a;
+ double b;
+ double c;
+} my_ffi_struct;
+
+my_ffi_struct callee(struct my_ffi_struct a1, struct my_ffi_struct a2)
+{
+ struct my_ffi_struct result;
+ result.a = a1.a + a2.a;
+ result.b = a1.b + a2.b;
+ result.c = a1.c + a2.c;
+
+
+ printf("%g %g %g %g %g %g: %g %g %g\n", a1.a, a1.b, a1.c,
+ a2.a, a2.b, a2.c, result.a, result.b, result.c);
+
+ return result;
+}
+
+void stub(ffi_cif* cif __UNUSED__, void* resp, void** args,
+ void* userdata __UNUSED__)
+{
+ struct my_ffi_struct a1;
+ struct my_ffi_struct a2;
+
+ a1 = *(struct my_ffi_struct*)(args[0]);
+ a2 = *(struct my_ffi_struct*)(args[1]);
+
+ *(my_ffi_struct *)resp = callee(a1, a2);
+}
+
+
+int main(void)
+{
+ ffi_type* my_ffi_struct_fields[4];
+ ffi_type my_ffi_struct_type;
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args[4];
+ ffi_type* arg_types[3];
+
+ struct my_ffi_struct g = { 1.0, 2.0, 3.0 };
+ struct my_ffi_struct f = { 1.0, 2.0, 3.0 };
+ struct my_ffi_struct res;
+
+ my_ffi_struct_type.size = 0;
+ my_ffi_struct_type.alignment = 0;
+ my_ffi_struct_type.type = FFI_TYPE_STRUCT;
+ my_ffi_struct_type.elements = my_ffi_struct_fields;
+
+ my_ffi_struct_fields[0] = &ffi_type_double;
+ my_ffi_struct_fields[1] = &ffi_type_double;
+ my_ffi_struct_fields[2] = &ffi_type_double;
+ my_ffi_struct_fields[3] = NULL;
+
+ arg_types[0] = &my_ffi_struct_type;
+ arg_types[1] = &my_ffi_struct_type;
+ arg_types[2] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &my_ffi_struct_type,
+ arg_types) == FFI_OK);
+
+ args[0] = &g;
+ args[1] = &f;
+ args[2] = NULL;
+ ffi_call(&cif, FFI_FN(callee), &res, args);
+ /* { dg-output "1 2 3 1 2 3: 2 4 6" } */
+ printf("res: %g %g %g\n", res.a, res.b, res.c);
+ /* { dg-output "\nres: 2 4 6" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, stub, NULL, code) == FFI_OK);
+
+ res = ((my_ffi_struct(*)(struct my_ffi_struct, struct my_ffi_struct))(code))(g, f);
+ /* { dg-output "\n1 2 3 1 2 3: 2 4 6" } */
+ printf("res: %g %g %g\n", res.a, res.b, res.c);
+ /* { dg-output "\nres: 2 4 6" } */
+
+ exit(0);;
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/problem1/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/problem1/ya.make
index 11add82595..284213056b 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/problem1/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/problem1/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- problem1.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ problem1.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/stret_large.c b/contrib/restricted/libffi/testsuite/libffi.closures/stret_large.c
index e6c35f6a9a..71c2469e1c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/stret_large.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/stret_large.c
@@ -1,145 +1,145 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure returning with different structure size.
- Depending on the ABI. Check bigger struct which overlaps
- the gp and fp register count on Darwin/AIX/ppc64.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/21/2007 */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-#include "ffitest.h"
-
-/* 13 FPRs: 104 bytes */
-/* 14 FPRs: 112 bytes */
-
-typedef struct struct_108byte {
- double a;
- double b;
- double c;
- double d;
- double e;
- double f;
- double g;
- double h;
- double i;
- double j;
- double k;
- double l;
- double m;
- int n;
-} struct_108byte;
-
-struct_108byte cls_struct_108byte_fn(
- struct_108byte b0,
- struct_108byte b1,
- struct_108byte b2,
- struct_108byte b3)
-{
- struct_108byte result;
-
- result.a = b0.a + b1.a + b2.a + b3.a;
- result.b = b0.b + b1.b + b2.b + b3.b;
- result.c = b0.c + b1.c + b2.c + b3.c;
- result.d = b0.d + b1.d + b2.d + b3.d;
- result.e = b0.e + b1.e + b2.e + b3.e;
- result.f = b0.f + b1.f + b2.f + b3.f;
- result.g = b0.g + b1.g + b2.g + b3.g;
- result.h = b0.h + b1.h + b2.h + b3.h;
- result.i = b0.i + b1.i + b2.i + b3.i;
- result.j = b0.j + b1.j + b2.j + b3.j;
- result.k = b0.k + b1.k + b2.k + b3.k;
- result.l = b0.l + b1.l + b2.l + b3.l;
- result.m = b0.m + b1.m + b2.m + b3.m;
- result.n = b0.n + b1.n + b2.n + b3.n;
-
- printf("%g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", result.a, result.b, result.c,
- result.d, result.e, result.f, result.g, result.h, result.i,
- result.j, result.k, result.l, result.m, result.n);
-
- return result;
-}
-
-static void
-cls_struct_108byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__)
-{
- struct_108byte b0, b1, b2, b3;
-
- b0 = *(struct_108byte*)(args[0]);
- b1 = *(struct_108byte*)(args[1]);
- b2 = *(struct_108byte*)(args[2]);
- b3 = *(struct_108byte*)(args[3]);
-
- *(struct_108byte*)resp = cls_struct_108byte_fn(b0, b1, b2, b3);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[15];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct_108byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0, 1.0, 2.0, 3.0, 7.0, 2.0, 7 };
- struct_108byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0, 4.0, 5.0, 7.0, 9.0, 1.0, 4 };
- struct_108byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0, 8.0, 6.0, 1.0, 4.0, 0.0, 3 };
- struct_108byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0, 9.0, 2.0, 6.0, 5.0, 3.0, 2 };
- struct_108byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_double;
- cls_struct_fields[3] = &ffi_type_double;
- cls_struct_fields[4] = &ffi_type_double;
- cls_struct_fields[5] = &ffi_type_double;
- cls_struct_fields[6] = &ffi_type_double;
- cls_struct_fields[7] = &ffi_type_double;
- cls_struct_fields[8] = &ffi_type_double;
- cls_struct_fields[9] = &ffi_type_double;
- cls_struct_fields[10] = &ffi_type_double;
- cls_struct_fields[11] = &ffi_type_double;
- cls_struct_fields[12] = &ffi_type_double;
- cls_struct_fields[13] = &ffi_type_sint32;
- cls_struct_fields[14] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = &cls_struct_type;
- dbl_arg_types[3] = &cls_struct_type;
- dbl_arg_types[4] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = &g_dbl;
- args_dbl[3] = &h_dbl;
- args_dbl[4] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_108byte_fn), &res_dbl, args_dbl);
- /* { dg-output "22 15 17 25 6 13 19 18 22 15 17 25 6 16" } */
- printf("res: %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", res_dbl.a, res_dbl.b,
- res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i,
- res_dbl.j, res_dbl.k, res_dbl.l, res_dbl.m, res_dbl.n);
- /* { dg-output "\nres: 22 15 17 25 6 13 19 18 22 15 17 25 6 16" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_108byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((struct_108byte(*)(struct_108byte, struct_108byte,
- struct_108byte, struct_108byte))(code))(e_dbl, f_dbl, g_dbl, h_dbl);
- /* { dg-output "\n22 15 17 25 6 13 19 18 22 15 17 25 6 16" } */
- printf("res: %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", res_dbl.a, res_dbl.b,
- res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i,
- res_dbl.j, res_dbl.k, res_dbl.l, res_dbl.m, res_dbl.n);
- /* { dg-output "\nres: 22 15 17 25 6 13 19 18 22 15 17 25 6 16" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure returning with different structure size.
+ Depending on the ABI. Check bigger struct which overlaps
+ the gp and fp register count on Darwin/AIX/ppc64.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/21/2007 */
+
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+#include "ffitest.h"
+
+/* 13 FPRs: 104 bytes */
+/* 14 FPRs: 112 bytes */
+
+typedef struct struct_108byte {
+ double a;
+ double b;
+ double c;
+ double d;
+ double e;
+ double f;
+ double g;
+ double h;
+ double i;
+ double j;
+ double k;
+ double l;
+ double m;
+ int n;
+} struct_108byte;
+
+struct_108byte cls_struct_108byte_fn(
+ struct_108byte b0,
+ struct_108byte b1,
+ struct_108byte b2,
+ struct_108byte b3)
+{
+ struct_108byte result;
+
+ result.a = b0.a + b1.a + b2.a + b3.a;
+ result.b = b0.b + b1.b + b2.b + b3.b;
+ result.c = b0.c + b1.c + b2.c + b3.c;
+ result.d = b0.d + b1.d + b2.d + b3.d;
+ result.e = b0.e + b1.e + b2.e + b3.e;
+ result.f = b0.f + b1.f + b2.f + b3.f;
+ result.g = b0.g + b1.g + b2.g + b3.g;
+ result.h = b0.h + b1.h + b2.h + b3.h;
+ result.i = b0.i + b1.i + b2.i + b3.i;
+ result.j = b0.j + b1.j + b2.j + b3.j;
+ result.k = b0.k + b1.k + b2.k + b3.k;
+ result.l = b0.l + b1.l + b2.l + b3.l;
+ result.m = b0.m + b1.m + b2.m + b3.m;
+ result.n = b0.n + b1.n + b2.n + b3.n;
+
+ printf("%g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", result.a, result.b, result.c,
+ result.d, result.e, result.f, result.g, result.h, result.i,
+ result.j, result.k, result.l, result.m, result.n);
+
+ return result;
+}
+
+static void
+cls_struct_108byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__)
+{
+ struct_108byte b0, b1, b2, b3;
+
+ b0 = *(struct_108byte*)(args[0]);
+ b1 = *(struct_108byte*)(args[1]);
+ b2 = *(struct_108byte*)(args[2]);
+ b3 = *(struct_108byte*)(args[3]);
+
+ *(struct_108byte*)resp = cls_struct_108byte_fn(b0, b1, b2, b3);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[15];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct_108byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0, 1.0, 2.0, 3.0, 7.0, 2.0, 7 };
+ struct_108byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0, 4.0, 5.0, 7.0, 9.0, 1.0, 4 };
+ struct_108byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0, 8.0, 6.0, 1.0, 4.0, 0.0, 3 };
+ struct_108byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0, 9.0, 2.0, 6.0, 5.0, 3.0, 2 };
+ struct_108byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_double;
+ cls_struct_fields[2] = &ffi_type_double;
+ cls_struct_fields[3] = &ffi_type_double;
+ cls_struct_fields[4] = &ffi_type_double;
+ cls_struct_fields[5] = &ffi_type_double;
+ cls_struct_fields[6] = &ffi_type_double;
+ cls_struct_fields[7] = &ffi_type_double;
+ cls_struct_fields[8] = &ffi_type_double;
+ cls_struct_fields[9] = &ffi_type_double;
+ cls_struct_fields[10] = &ffi_type_double;
+ cls_struct_fields[11] = &ffi_type_double;
+ cls_struct_fields[12] = &ffi_type_double;
+ cls_struct_fields[13] = &ffi_type_sint32;
+ cls_struct_fields[14] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = &cls_struct_type;
+ dbl_arg_types[3] = &cls_struct_type;
+ dbl_arg_types[4] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = &g_dbl;
+ args_dbl[3] = &h_dbl;
+ args_dbl[4] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_108byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "22 15 17 25 6 13 19 18 22 15 17 25 6 16" } */
+ printf("res: %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", res_dbl.a, res_dbl.b,
+ res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i,
+ res_dbl.j, res_dbl.k, res_dbl.l, res_dbl.m, res_dbl.n);
+ /* { dg-output "\nres: 22 15 17 25 6 13 19 18 22 15 17 25 6 16" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_108byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((struct_108byte(*)(struct_108byte, struct_108byte,
+ struct_108byte, struct_108byte))(code))(e_dbl, f_dbl, g_dbl, h_dbl);
+ /* { dg-output "\n22 15 17 25 6 13 19 18 22 15 17 25 6 16" } */
+ printf("res: %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", res_dbl.a, res_dbl.b,
+ res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i,
+ res_dbl.j, res_dbl.k, res_dbl.l, res_dbl.m, res_dbl.n);
+ /* { dg-output "\nres: 22 15 17 25 6 13 19 18 22 15 17 25 6 16" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/stret_large/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/stret_large/ya.make
index 13bb8f93fb..7fba7a537a 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/stret_large/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/stret_large/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- stret_large.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ stret_large.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/stret_large2.c b/contrib/restricted/libffi/testsuite/libffi.closures/stret_large2.c
index e7a11c4132..d9c750ee1c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/stret_large2.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/stret_large2.c
@@ -1,148 +1,148 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure returning with different structure size.
- Depending on the ABI. Check bigger struct which overlaps
- the gp and fp register count on Darwin/AIX/ppc64.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/21/2007 */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-#include "ffitest.h"
-
-/* 13 FPRs: 104 bytes */
-/* 14 FPRs: 112 bytes */
-
-typedef struct struct_116byte {
- double a;
- double b;
- double c;
- double d;
- double e;
- double f;
- double g;
- double h;
- double i;
- double j;
- double k;
- double l;
- double m;
- double n;
- int o;
-} struct_116byte;
-
-struct_116byte cls_struct_116byte_fn(
- struct_116byte b0,
- struct_116byte b1,
- struct_116byte b2,
- struct_116byte b3)
-{
- struct_116byte result;
-
- result.a = b0.a + b1.a + b2.a + b3.a;
- result.b = b0.b + b1.b + b2.b + b3.b;
- result.c = b0.c + b1.c + b2.c + b3.c;
- result.d = b0.d + b1.d + b2.d + b3.d;
- result.e = b0.e + b1.e + b2.e + b3.e;
- result.f = b0.f + b1.f + b2.f + b3.f;
- result.g = b0.g + b1.g + b2.g + b3.g;
- result.h = b0.h + b1.h + b2.h + b3.h;
- result.i = b0.i + b1.i + b2.i + b3.i;
- result.j = b0.j + b1.j + b2.j + b3.j;
- result.k = b0.k + b1.k + b2.k + b3.k;
- result.l = b0.l + b1.l + b2.l + b3.l;
- result.m = b0.m + b1.m + b2.m + b3.m;
- result.n = b0.n + b1.n + b2.n + b3.n;
- result.o = b0.o + b1.o + b2.o + b3.o;
-
- printf("%g %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", result.a, result.b, result.c,
- result.d, result.e, result.f, result.g, result.h, result.i,
- result.j, result.k, result.l, result.m, result.n, result.o);
-
- return result;
-}
-
-static void
-cls_struct_116byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__)
-{
- struct_116byte b0, b1, b2, b3;
-
- b0 = *(struct_116byte*)(args[0]);
- b1 = *(struct_116byte*)(args[1]);
- b2 = *(struct_116byte*)(args[2]);
- b3 = *(struct_116byte*)(args[3]);
-
- *(struct_116byte*)resp = cls_struct_116byte_fn(b0, b1, b2, b3);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[16];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct_116byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0, 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 7 };
- struct_116byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0, 4.0, 5.0, 7.0, 9.0, 1.0, 6.0, 4 };
- struct_116byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0, 8.0, 6.0, 1.0, 4.0, 0.0, 7.0, 3 };
- struct_116byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0, 9.0, 2.0, 6.0, 5.0, 3.0, 8.0, 2 };
- struct_116byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_double;
- cls_struct_fields[3] = &ffi_type_double;
- cls_struct_fields[4] = &ffi_type_double;
- cls_struct_fields[5] = &ffi_type_double;
- cls_struct_fields[6] = &ffi_type_double;
- cls_struct_fields[7] = &ffi_type_double;
- cls_struct_fields[8] = &ffi_type_double;
- cls_struct_fields[9] = &ffi_type_double;
- cls_struct_fields[10] = &ffi_type_double;
- cls_struct_fields[11] = &ffi_type_double;
- cls_struct_fields[12] = &ffi_type_double;
- cls_struct_fields[13] = &ffi_type_double;
- cls_struct_fields[14] = &ffi_type_sint32;
- cls_struct_fields[15] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = &cls_struct_type;
- dbl_arg_types[3] = &cls_struct_type;
- dbl_arg_types[4] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = &g_dbl;
- args_dbl[3] = &h_dbl;
- args_dbl[4] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_116byte_fn), &res_dbl, args_dbl);
- /* { dg-output "22 15 17 25 6 13 19 18 22 15 17 25 6 26 16" } */
- printf("res: %g %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", res_dbl.a, res_dbl.b,
- res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i,
- res_dbl.j, res_dbl.k, res_dbl.l, res_dbl.m, res_dbl.n, res_dbl.o);
- /* { dg-output "\nres: 22 15 17 25 6 13 19 18 22 15 17 25 6 26 16" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_116byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((struct_116byte(*)(struct_116byte, struct_116byte,
- struct_116byte, struct_116byte))(code))(e_dbl, f_dbl, g_dbl, h_dbl);
- /* { dg-output "\n22 15 17 25 6 13 19 18 22 15 17 25 6 26 16" } */
- printf("res: %g %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", res_dbl.a, res_dbl.b,
- res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i,
- res_dbl.j, res_dbl.k, res_dbl.l, res_dbl.m, res_dbl.n, res_dbl.o);
- /* { dg-output "\nres: 22 15 17 25 6 13 19 18 22 15 17 25 6 26 16" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure returning with different structure size.
+ Depending on the ABI. Check bigger struct which overlaps
+ the gp and fp register count on Darwin/AIX/ppc64.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/21/2007 */
+
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+#include "ffitest.h"
+
+/* 13 FPRs: 104 bytes */
+/* 14 FPRs: 112 bytes */
+
+typedef struct struct_116byte {
+ double a;
+ double b;
+ double c;
+ double d;
+ double e;
+ double f;
+ double g;
+ double h;
+ double i;
+ double j;
+ double k;
+ double l;
+ double m;
+ double n;
+ int o;
+} struct_116byte;
+
+struct_116byte cls_struct_116byte_fn(
+ struct_116byte b0,
+ struct_116byte b1,
+ struct_116byte b2,
+ struct_116byte b3)
+{
+ struct_116byte result;
+
+ result.a = b0.a + b1.a + b2.a + b3.a;
+ result.b = b0.b + b1.b + b2.b + b3.b;
+ result.c = b0.c + b1.c + b2.c + b3.c;
+ result.d = b0.d + b1.d + b2.d + b3.d;
+ result.e = b0.e + b1.e + b2.e + b3.e;
+ result.f = b0.f + b1.f + b2.f + b3.f;
+ result.g = b0.g + b1.g + b2.g + b3.g;
+ result.h = b0.h + b1.h + b2.h + b3.h;
+ result.i = b0.i + b1.i + b2.i + b3.i;
+ result.j = b0.j + b1.j + b2.j + b3.j;
+ result.k = b0.k + b1.k + b2.k + b3.k;
+ result.l = b0.l + b1.l + b2.l + b3.l;
+ result.m = b0.m + b1.m + b2.m + b3.m;
+ result.n = b0.n + b1.n + b2.n + b3.n;
+ result.o = b0.o + b1.o + b2.o + b3.o;
+
+ printf("%g %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", result.a, result.b, result.c,
+ result.d, result.e, result.f, result.g, result.h, result.i,
+ result.j, result.k, result.l, result.m, result.n, result.o);
+
+ return result;
+}
+
+static void
+cls_struct_116byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__)
+{
+ struct_116byte b0, b1, b2, b3;
+
+ b0 = *(struct_116byte*)(args[0]);
+ b1 = *(struct_116byte*)(args[1]);
+ b2 = *(struct_116byte*)(args[2]);
+ b3 = *(struct_116byte*)(args[3]);
+
+ *(struct_116byte*)resp = cls_struct_116byte_fn(b0, b1, b2, b3);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[16];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct_116byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0, 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 7 };
+ struct_116byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0, 4.0, 5.0, 7.0, 9.0, 1.0, 6.0, 4 };
+ struct_116byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0, 8.0, 6.0, 1.0, 4.0, 0.0, 7.0, 3 };
+ struct_116byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0, 9.0, 2.0, 6.0, 5.0, 3.0, 8.0, 2 };
+ struct_116byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_double;
+ cls_struct_fields[2] = &ffi_type_double;
+ cls_struct_fields[3] = &ffi_type_double;
+ cls_struct_fields[4] = &ffi_type_double;
+ cls_struct_fields[5] = &ffi_type_double;
+ cls_struct_fields[6] = &ffi_type_double;
+ cls_struct_fields[7] = &ffi_type_double;
+ cls_struct_fields[8] = &ffi_type_double;
+ cls_struct_fields[9] = &ffi_type_double;
+ cls_struct_fields[10] = &ffi_type_double;
+ cls_struct_fields[11] = &ffi_type_double;
+ cls_struct_fields[12] = &ffi_type_double;
+ cls_struct_fields[13] = &ffi_type_double;
+ cls_struct_fields[14] = &ffi_type_sint32;
+ cls_struct_fields[15] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = &cls_struct_type;
+ dbl_arg_types[3] = &cls_struct_type;
+ dbl_arg_types[4] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = &g_dbl;
+ args_dbl[3] = &h_dbl;
+ args_dbl[4] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_116byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "22 15 17 25 6 13 19 18 22 15 17 25 6 26 16" } */
+ printf("res: %g %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", res_dbl.a, res_dbl.b,
+ res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i,
+ res_dbl.j, res_dbl.k, res_dbl.l, res_dbl.m, res_dbl.n, res_dbl.o);
+ /* { dg-output "\nres: 22 15 17 25 6 13 19 18 22 15 17 25 6 26 16" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_116byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((struct_116byte(*)(struct_116byte, struct_116byte,
+ struct_116byte, struct_116byte))(code))(e_dbl, f_dbl, g_dbl, h_dbl);
+ /* { dg-output "\n22 15 17 25 6 13 19 18 22 15 17 25 6 26 16" } */
+ printf("res: %g %g %g %g %g %g %g %g %g %g %g %g %g %g %d\n", res_dbl.a, res_dbl.b,
+ res_dbl.c, res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i,
+ res_dbl.j, res_dbl.k, res_dbl.l, res_dbl.m, res_dbl.n, res_dbl.o);
+ /* { dg-output "\nres: 22 15 17 25 6 13 19 18 22 15 17 25 6 26 16" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/stret_large2/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/stret_large2/ya.make
index 6507807b77..5320e5e8f9 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/stret_large2/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/stret_large2/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- stret_large2.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ stret_large2.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium.c b/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium.c
index fed5f7ec41..973ee02ede 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium.c
@@ -1,124 +1,124 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure returning with different structure size.
- Depending on the ABI. Check bigger struct which overlaps
- the gp and fp register count on Darwin/AIX/ppc64.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/21/2007 */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-#include "ffitest.h"
-
-typedef struct struct_72byte {
- double a;
- double b;
- double c;
- double d;
- double e;
- double f;
- double g;
- double h;
- double i;
-} struct_72byte;
-
-struct_72byte cls_struct_72byte_fn(
- struct_72byte b0,
- struct_72byte b1,
- struct_72byte b2,
- struct_72byte b3)
-{
- struct_72byte result;
-
- result.a = b0.a + b1.a + b2.a + b3.a;
- result.b = b0.b + b1.b + b2.b + b3.b;
- result.c = b0.c + b1.c + b2.c + b3.c;
- result.d = b0.d + b1.d + b2.d + b3.d;
- result.e = b0.e + b1.e + b2.e + b3.e;
- result.f = b0.f + b1.f + b2.f + b3.f;
- result.g = b0.g + b1.g + b2.g + b3.g;
- result.h = b0.h + b1.h + b2.h + b3.h;
- result.i = b0.i + b1.i + b2.i + b3.i;
-
- printf("%g %g %g %g %g %g %g %g %g\n", result.a, result.b, result.c,
- result.d, result.e, result.f, result.g, result.h, result.i);
-
- return result;
-}
-
-static void
-cls_struct_72byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__)
-{
- struct_72byte b0, b1, b2, b3;
-
- b0 = *(struct_72byte*)(args[0]);
- b1 = *(struct_72byte*)(args[1]);
- b2 = *(struct_72byte*)(args[2]);
- b3 = *(struct_72byte*)(args[3]);
-
- *(struct_72byte*)resp = cls_struct_72byte_fn(b0, b1, b2, b3);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[10];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct_72byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0, 7.0 };
- struct_72byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0, 4.0 };
- struct_72byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0, 3.0 };
- struct_72byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0, 2.0 };
- struct_72byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_double;
- cls_struct_fields[3] = &ffi_type_double;
- cls_struct_fields[4] = &ffi_type_double;
- cls_struct_fields[5] = &ffi_type_double;
- cls_struct_fields[6] = &ffi_type_double;
- cls_struct_fields[7] = &ffi_type_double;
- cls_struct_fields[8] = &ffi_type_double;
- cls_struct_fields[9] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = &cls_struct_type;
- dbl_arg_types[3] = &cls_struct_type;
- dbl_arg_types[4] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = &g_dbl;
- args_dbl[3] = &h_dbl;
- args_dbl[4] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_72byte_fn), &res_dbl, args_dbl);
- /* { dg-output "22 15 17 25 6 13 19 18 16" } */
- printf("res: %g %g %g %g %g %g %g %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i);
- /* { dg-output "\nres: 22 15 17 25 6 13 19 18 16" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_72byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((struct_72byte(*)(struct_72byte, struct_72byte,
- struct_72byte, struct_72byte))(code))(e_dbl, f_dbl, g_dbl, h_dbl);
- /* { dg-output "\n22 15 17 25 6 13 19 18 16" } */
- printf("res: %g %g %g %g %g %g %g %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i);
- /* { dg-output "\nres: 22 15 17 25 6 13 19 18 16" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure returning with different structure size.
+ Depending on the ABI. Check bigger struct which overlaps
+ the gp and fp register count on Darwin/AIX/ppc64.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/21/2007 */
+
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+#include "ffitest.h"
+
+typedef struct struct_72byte {
+ double a;
+ double b;
+ double c;
+ double d;
+ double e;
+ double f;
+ double g;
+ double h;
+ double i;
+} struct_72byte;
+
+struct_72byte cls_struct_72byte_fn(
+ struct_72byte b0,
+ struct_72byte b1,
+ struct_72byte b2,
+ struct_72byte b3)
+{
+ struct_72byte result;
+
+ result.a = b0.a + b1.a + b2.a + b3.a;
+ result.b = b0.b + b1.b + b2.b + b3.b;
+ result.c = b0.c + b1.c + b2.c + b3.c;
+ result.d = b0.d + b1.d + b2.d + b3.d;
+ result.e = b0.e + b1.e + b2.e + b3.e;
+ result.f = b0.f + b1.f + b2.f + b3.f;
+ result.g = b0.g + b1.g + b2.g + b3.g;
+ result.h = b0.h + b1.h + b2.h + b3.h;
+ result.i = b0.i + b1.i + b2.i + b3.i;
+
+ printf("%g %g %g %g %g %g %g %g %g\n", result.a, result.b, result.c,
+ result.d, result.e, result.f, result.g, result.h, result.i);
+
+ return result;
+}
+
+static void
+cls_struct_72byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__)
+{
+ struct_72byte b0, b1, b2, b3;
+
+ b0 = *(struct_72byte*)(args[0]);
+ b1 = *(struct_72byte*)(args[1]);
+ b2 = *(struct_72byte*)(args[2]);
+ b3 = *(struct_72byte*)(args[3]);
+
+ *(struct_72byte*)resp = cls_struct_72byte_fn(b0, b1, b2, b3);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[10];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct_72byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0, 7.0 };
+ struct_72byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0, 4.0 };
+ struct_72byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0, 3.0 };
+ struct_72byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0, 2.0 };
+ struct_72byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_double;
+ cls_struct_fields[2] = &ffi_type_double;
+ cls_struct_fields[3] = &ffi_type_double;
+ cls_struct_fields[4] = &ffi_type_double;
+ cls_struct_fields[5] = &ffi_type_double;
+ cls_struct_fields[6] = &ffi_type_double;
+ cls_struct_fields[7] = &ffi_type_double;
+ cls_struct_fields[8] = &ffi_type_double;
+ cls_struct_fields[9] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = &cls_struct_type;
+ dbl_arg_types[3] = &cls_struct_type;
+ dbl_arg_types[4] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = &g_dbl;
+ args_dbl[3] = &h_dbl;
+ args_dbl[4] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_72byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "22 15 17 25 6 13 19 18 16" } */
+ printf("res: %g %g %g %g %g %g %g %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i);
+ /* { dg-output "\nres: 22 15 17 25 6 13 19 18 16" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_72byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((struct_72byte(*)(struct_72byte, struct_72byte,
+ struct_72byte, struct_72byte))(code))(e_dbl, f_dbl, g_dbl, h_dbl);
+ /* { dg-output "\n22 15 17 25 6 13 19 18 16" } */
+ printf("res: %g %g %g %g %g %g %g %g %g\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i);
+ /* { dg-output "\nres: 22 15 17 25 6 13 19 18 16" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium/ya.make
index 6ee0376ecc..fc8b550f06 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- stret_medium.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ stret_medium.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium2.c b/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium2.c
index 51090da278..84323d16a9 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium2.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium2.c
@@ -1,125 +1,125 @@
-/* Area: ffi_call, closure_call
- Purpose: Check structure returning with different structure size.
- Depending on the ABI. Check bigger struct which overlaps
- the gp and fp register count on Darwin/AIX/ppc64.
- Limitations: none.
- PR: none.
- Originator: Blake Chaffin 6/21/2007 */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
-#include "ffitest.h"
-
-typedef struct struct_72byte {
- double a;
- double b;
- double c;
- double d;
- double e;
- double f;
- double g;
- double h;
- long long i;
-} struct_72byte;
-
-struct_72byte cls_struct_72byte_fn(
- struct_72byte b0,
- struct_72byte b1,
- struct_72byte b2,
- struct_72byte b3)
-{
- struct_72byte result;
-
- result.a = b0.a + b1.a + b2.a + b3.a;
- result.b = b0.b + b1.b + b2.b + b3.b;
- result.c = b0.c + b1.c + b2.c + b3.c;
- result.d = b0.d + b1.d + b2.d + b3.d;
- result.e = b0.e + b1.e + b2.e + b3.e;
- result.f = b0.f + b1.f + b2.f + b3.f;
- result.g = b0.g + b1.g + b2.g + b3.g;
- result.h = b0.h + b1.h + b2.h + b3.h;
- result.i = b0.i + b1.i + b2.i + b3.i;
-
- printf("%g %g %g %g %g %g %g %g %" PRIdLL "\n", result.a, result.b, result.c,
- result.d, result.e, result.f, result.g, result.h, result.i);
-
- return result;
-}
-
-static void
-cls_struct_72byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__)
-{
- struct_72byte b0, b1, b2, b3;
-
- b0 = *(struct_72byte*)(args[0]);
- b1 = *(struct_72byte*)(args[1]);
- b2 = *(struct_72byte*)(args[2]);
- b3 = *(struct_72byte*)(args[3]);
-
- *(struct_72byte*)resp = cls_struct_72byte_fn(b0, b1, b2, b3);
-}
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- void* args_dbl[5];
- ffi_type* cls_struct_fields[10];
- ffi_type cls_struct_type;
- ffi_type* dbl_arg_types[5];
-
- struct_72byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0, 7 };
- struct_72byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0, 4 };
- struct_72byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0, 3 };
- struct_72byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0, 2 };
- struct_72byte res_dbl;
-
- cls_struct_type.size = 0;
- cls_struct_type.alignment = 0;
- cls_struct_type.type = FFI_TYPE_STRUCT;
- cls_struct_type.elements = cls_struct_fields;
-
- cls_struct_fields[0] = &ffi_type_double;
- cls_struct_fields[1] = &ffi_type_double;
- cls_struct_fields[2] = &ffi_type_double;
- cls_struct_fields[3] = &ffi_type_double;
- cls_struct_fields[4] = &ffi_type_double;
- cls_struct_fields[5] = &ffi_type_double;
- cls_struct_fields[6] = &ffi_type_double;
- cls_struct_fields[7] = &ffi_type_double;
- cls_struct_fields[8] = &ffi_type_sint64;
- cls_struct_fields[9] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type;
- dbl_arg_types[1] = &cls_struct_type;
- dbl_arg_types[2] = &cls_struct_type;
- dbl_arg_types[3] = &cls_struct_type;
- dbl_arg_types[4] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type,
- dbl_arg_types) == FFI_OK);
-
- args_dbl[0] = &e_dbl;
- args_dbl[1] = &f_dbl;
- args_dbl[2] = &g_dbl;
- args_dbl[3] = &h_dbl;
- args_dbl[4] = NULL;
-
- ffi_call(&cif, FFI_FN(cls_struct_72byte_fn), &res_dbl, args_dbl);
- /* { dg-output "22 15 17 25 6 13 19 18 16" } */
- printf("res: %g %g %g %g %g %g %g %g %" PRIdLL "\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i);
- /* { dg-output "\nres: 22 15 17 25 6 13 19 18 16" } */
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_72byte_gn, NULL, code) == FFI_OK);
-
- res_dbl = ((struct_72byte(*)(struct_72byte, struct_72byte,
- struct_72byte, struct_72byte))(code))(e_dbl, f_dbl, g_dbl, h_dbl);
- /* { dg-output "\n22 15 17 25 6 13 19 18 16" } */
- printf("res: %g %g %g %g %g %g %g %g %" PRIdLL "\n", res_dbl.a, res_dbl.b, res_dbl.c,
- res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i);
- /* { dg-output "\nres: 22 15 17 25 6 13 19 18 16" } */
-
- exit(0);
-}
+/* Area: ffi_call, closure_call
+ Purpose: Check structure returning with different structure size.
+ Depending on the ABI. Check bigger struct which overlaps
+ the gp and fp register count on Darwin/AIX/ppc64.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/21/2007 */
+
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+/* { dg-options "-Wno-format" { target alpha*-dec-osf* } } */
+#include "ffitest.h"
+
+typedef struct struct_72byte {
+ double a;
+ double b;
+ double c;
+ double d;
+ double e;
+ double f;
+ double g;
+ double h;
+ long long i;
+} struct_72byte;
+
+struct_72byte cls_struct_72byte_fn(
+ struct_72byte b0,
+ struct_72byte b1,
+ struct_72byte b2,
+ struct_72byte b3)
+{
+ struct_72byte result;
+
+ result.a = b0.a + b1.a + b2.a + b3.a;
+ result.b = b0.b + b1.b + b2.b + b3.b;
+ result.c = b0.c + b1.c + b2.c + b3.c;
+ result.d = b0.d + b1.d + b2.d + b3.d;
+ result.e = b0.e + b1.e + b2.e + b3.e;
+ result.f = b0.f + b1.f + b2.f + b3.f;
+ result.g = b0.g + b1.g + b2.g + b3.g;
+ result.h = b0.h + b1.h + b2.h + b3.h;
+ result.i = b0.i + b1.i + b2.i + b3.i;
+
+ printf("%g %g %g %g %g %g %g %g %" PRIdLL "\n", result.a, result.b, result.c,
+ result.d, result.e, result.f, result.g, result.h, result.i);
+
+ return result;
+}
+
+static void
+cls_struct_72byte_gn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__)
+{
+ struct_72byte b0, b1, b2, b3;
+
+ b0 = *(struct_72byte*)(args[0]);
+ b1 = *(struct_72byte*)(args[1]);
+ b2 = *(struct_72byte*)(args[2]);
+ b3 = *(struct_72byte*)(args[3]);
+
+ *(struct_72byte*)resp = cls_struct_72byte_fn(b0, b1, b2, b3);
+}
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ void* args_dbl[5];
+ ffi_type* cls_struct_fields[10];
+ ffi_type cls_struct_type;
+ ffi_type* dbl_arg_types[5];
+
+ struct_72byte e_dbl = { 9.0, 2.0, 6.0, 5.0, 3.0, 4.0, 8.0, 1.0, 7 };
+ struct_72byte f_dbl = { 1.0, 2.0, 3.0, 7.0, 2.0, 5.0, 6.0, 7.0, 4 };
+ struct_72byte g_dbl = { 4.0, 5.0, 7.0, 9.0, 1.0, 1.0, 2.0, 9.0, 3 };
+ struct_72byte h_dbl = { 8.0, 6.0, 1.0, 4.0, 0.0, 3.0, 3.0, 1.0, 2 };
+ struct_72byte res_dbl;
+
+ cls_struct_type.size = 0;
+ cls_struct_type.alignment = 0;
+ cls_struct_type.type = FFI_TYPE_STRUCT;
+ cls_struct_type.elements = cls_struct_fields;
+
+ cls_struct_fields[0] = &ffi_type_double;
+ cls_struct_fields[1] = &ffi_type_double;
+ cls_struct_fields[2] = &ffi_type_double;
+ cls_struct_fields[3] = &ffi_type_double;
+ cls_struct_fields[4] = &ffi_type_double;
+ cls_struct_fields[5] = &ffi_type_double;
+ cls_struct_fields[6] = &ffi_type_double;
+ cls_struct_fields[7] = &ffi_type_double;
+ cls_struct_fields[8] = &ffi_type_sint64;
+ cls_struct_fields[9] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type;
+ dbl_arg_types[1] = &cls_struct_type;
+ dbl_arg_types[2] = &cls_struct_type;
+ dbl_arg_types[3] = &cls_struct_type;
+ dbl_arg_types[4] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 4, &cls_struct_type,
+ dbl_arg_types) == FFI_OK);
+
+ args_dbl[0] = &e_dbl;
+ args_dbl[1] = &f_dbl;
+ args_dbl[2] = &g_dbl;
+ args_dbl[3] = &h_dbl;
+ args_dbl[4] = NULL;
+
+ ffi_call(&cif, FFI_FN(cls_struct_72byte_fn), &res_dbl, args_dbl);
+ /* { dg-output "22 15 17 25 6 13 19 18 16" } */
+ printf("res: %g %g %g %g %g %g %g %g %" PRIdLL "\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i);
+ /* { dg-output "\nres: 22 15 17 25 6 13 19 18 16" } */
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_72byte_gn, NULL, code) == FFI_OK);
+
+ res_dbl = ((struct_72byte(*)(struct_72byte, struct_72byte,
+ struct_72byte, struct_72byte))(code))(e_dbl, f_dbl, g_dbl, h_dbl);
+ /* { dg-output "\n22 15 17 25 6 13 19 18 16" } */
+ printf("res: %g %g %g %g %g %g %g %g %" PRIdLL "\n", res_dbl.a, res_dbl.b, res_dbl.c,
+ res_dbl.d, res_dbl.e, res_dbl.f, res_dbl.g, res_dbl.h, res_dbl.i);
+ /* { dg-output "\nres: 22 15 17 25 6 13 19 18 16" } */
+
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium2/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium2/ya.make
index 8bacc5ecaf..bc1bb11694 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium2/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/stret_medium2/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- stret_medium2.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ stret_medium2.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/testclosure.c b/contrib/restricted/libffi/testsuite/libffi.closures/testclosure.c
index 692153be55..ca31056d8c 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/testclosure.c
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/testclosure.c
@@ -1,70 +1,70 @@
-/* Area: closure_call
- Purpose: Check return value float.
- Limitations: none.
- PR: 41908.
- Originator: <rfm@gnu.org> 20091102 */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-typedef struct cls_struct_combined {
- float a;
- float b;
- float c;
- float d;
-} cls_struct_combined;
-
-void cls_struct_combined_fn(struct cls_struct_combined arg)
-{
- printf("%g %g %g %g\n",
- arg.a, arg.b,
- arg.c, arg.d);
- fflush(stdout);
-}
-
-static void
-cls_struct_combined_gn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__,
- void** args, void* userdata __UNUSED__)
-{
- struct cls_struct_combined a0;
-
- a0 = *(struct cls_struct_combined*)(args[0]);
-
- cls_struct_combined_fn(a0);
-}
-
-
-int main (void)
-{
- ffi_cif cif;
- void *code;
- ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
- ffi_type* cls_struct_fields0[5];
- ffi_type cls_struct_type0;
- ffi_type* dbl_arg_types[5];
-
- struct cls_struct_combined g_dbl = {4.0, 5.0, 1.0, 8.0};
-
- cls_struct_type0.size = 0;
- cls_struct_type0.alignment = 0;
- cls_struct_type0.type = FFI_TYPE_STRUCT;
- cls_struct_type0.elements = cls_struct_fields0;
-
- cls_struct_fields0[0] = &ffi_type_float;
- cls_struct_fields0[1] = &ffi_type_float;
- cls_struct_fields0[2] = &ffi_type_float;
- cls_struct_fields0[3] = &ffi_type_float;
- cls_struct_fields0[4] = NULL;
-
- dbl_arg_types[0] = &cls_struct_type0;
- dbl_arg_types[1] = NULL;
-
- CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, &ffi_type_void,
- dbl_arg_types) == FFI_OK);
-
- CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_combined_gn, NULL, code) == FFI_OK);
-
- ((void(*)(cls_struct_combined)) (code))(g_dbl);
- /* { dg-output "4 5 1 8" } */
- exit(0);
-}
+/* Area: closure_call
+ Purpose: Check return value float.
+ Limitations: none.
+ PR: 41908.
+ Originator: <rfm@gnu.org> 20091102 */
+
+/* { dg-do run } */
+#include "ffitest.h"
+
+typedef struct cls_struct_combined {
+ float a;
+ float b;
+ float c;
+ float d;
+} cls_struct_combined;
+
+void cls_struct_combined_fn(struct cls_struct_combined arg)
+{
+ printf("%g %g %g %g\n",
+ arg.a, arg.b,
+ arg.c, arg.d);
+ fflush(stdout);
+}
+
+static void
+cls_struct_combined_gn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__,
+ void** args, void* userdata __UNUSED__)
+{
+ struct cls_struct_combined a0;
+
+ a0 = *(struct cls_struct_combined*)(args[0]);
+
+ cls_struct_combined_fn(a0);
+}
+
+
+int main (void)
+{
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+ ffi_type* cls_struct_fields0[5];
+ ffi_type cls_struct_type0;
+ ffi_type* dbl_arg_types[5];
+
+ struct cls_struct_combined g_dbl = {4.0, 5.0, 1.0, 8.0};
+
+ cls_struct_type0.size = 0;
+ cls_struct_type0.alignment = 0;
+ cls_struct_type0.type = FFI_TYPE_STRUCT;
+ cls_struct_type0.elements = cls_struct_fields0;
+
+ cls_struct_fields0[0] = &ffi_type_float;
+ cls_struct_fields0[1] = &ffi_type_float;
+ cls_struct_fields0[2] = &ffi_type_float;
+ cls_struct_fields0[3] = &ffi_type_float;
+ cls_struct_fields0[4] = NULL;
+
+ dbl_arg_types[0] = &cls_struct_type0;
+ dbl_arg_types[1] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, &ffi_type_void,
+ dbl_arg_types) == FFI_OK);
+
+ CHECK(ffi_prep_closure_loc(pcl, &cif, cls_struct_combined_gn, NULL, code) == FFI_OK);
+
+ ((void(*)(cls_struct_combined)) (code))(g_dbl);
+ /* { dg-output "4 5 1 8" } */
+ exit(0);
+}
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/testclosure/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/testclosure/ya.make
index 91a285f00a..4bfb5ef07d 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/testclosure/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/testclosure/ya.make
@@ -1,9 +1,9 @@
-# Generated by devtools/yamaker.
-
-PROGRAM()
-
+# Generated by devtools/yamaker.
+
+PROGRAM()
+
WITHOUT_LICENSE_TEXTS()
-
+
OWNER(
borman
g:cpp-contrib
@@ -11,18 +11,18 @@ OWNER(
LICENSE(GPL-2.0-only)
-PEERDIR(
- contrib/restricted/libffi
-)
-
-NO_COMPILER_WARNINGS()
-
-NO_RUNTIME()
-
-SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
-
-SRCS(
- testclosure.c
-)
-
-END()
+PEERDIR(
+ contrib/restricted/libffi
+)
+
+NO_COMPILER_WARNINGS()
+
+NO_RUNTIME()
+
+SRCDIR(contrib/restricted/libffi/testsuite/libffi.closures)
+
+SRCS(
+ testclosure.c
+)
+
+END()
diff --git a/contrib/restricted/libffi/testsuite/libffi.closures/ya.make b/contrib/restricted/libffi/testsuite/libffi.closures/ya.make
index 45f9516162..40565af539 100644
--- a/contrib/restricted/libffi/testsuite/libffi.closures/ya.make
+++ b/contrib/restricted/libffi/testsuite/libffi.closures/ya.make
@@ -1,103 +1,103 @@
-# Generated by devtools/yamaker.
-
-RECURSE(
- closure_fn0
- closure_fn1
- closure_fn2
- closure_fn3
- closure_fn4
- closure_fn5
- closure_fn6
- closure_loc_fn0
- closure_simple
- cls_12byte
- cls_16byte
- cls_18byte
- cls_19byte
- cls_1_1byte
- cls_20byte
- cls_20byte1
- cls_24byte
- cls_2byte
- cls_3_1byte
- cls_3byte1
- cls_3byte2
- cls_3float
- cls_4_1byte
- cls_4byte
- cls_5_1_byte
- cls_5byte
- cls_64byte
- cls_6_1_byte
- cls_6byte
- cls_7_1_byte
- cls_7byte
- cls_8byte
- cls_9byte1
- cls_9byte2
- cls_align_double
- cls_align_float
- cls_align_longdouble
- cls_align_pointer
- cls_align_sint16
- cls_align_sint32
- cls_align_sint64
- cls_align_uint16
- cls_align_uint32
- cls_align_uint64
- cls_dbls_struct
- cls_double
- cls_double_va
- cls_float
- cls_longdouble
- cls_longdouble_va
- cls_many_mixed_args
- cls_multi_schar
- cls_multi_sshort
- cls_multi_sshortchar
- cls_multi_uchar
- cls_multi_ushort
- cls_multi_ushortchar
- cls_pointer
- cls_pointer_stack
- cls_schar
- cls_sint
- cls_sshort
- cls_struct_va1
- cls_uchar
- cls_uchar_va
- cls_uint
- cls_uint_va
- cls_ulong_va
- cls_ulonglong
- cls_ushort
- cls_ushort_va
- err_bad_abi
- huge_struct
- nested_struct
- nested_struct1
- nested_struct10
- nested_struct11
- nested_struct2
- nested_struct3
- nested_struct4
- nested_struct5
- nested_struct6
- nested_struct7
- nested_struct8
- nested_struct9
- problem1
- stret_large
- stret_large2
- stret_medium
- stret_medium2
- testclosure
-)
-
-IF (NOT OS_WINDOWS)
- RECURSE(
- cls_align_longdouble_split
- cls_align_longdouble_split2
- cls_many_mixed_float_double
- )
-ENDIF()
+# Generated by devtools/yamaker.
+
+RECURSE(
+ closure_fn0
+ closure_fn1
+ closure_fn2
+ closure_fn3
+ closure_fn4
+ closure_fn5
+ closure_fn6
+ closure_loc_fn0
+ closure_simple
+ cls_12byte
+ cls_16byte
+ cls_18byte
+ cls_19byte
+ cls_1_1byte
+ cls_20byte
+ cls_20byte1
+ cls_24byte
+ cls_2byte
+ cls_3_1byte
+ cls_3byte1
+ cls_3byte2
+ cls_3float
+ cls_4_1byte
+ cls_4byte
+ cls_5_1_byte
+ cls_5byte
+ cls_64byte
+ cls_6_1_byte
+ cls_6byte
+ cls_7_1_byte
+ cls_7byte
+ cls_8byte
+ cls_9byte1
+ cls_9byte2
+ cls_align_double
+ cls_align_float
+ cls_align_longdouble
+ cls_align_pointer
+ cls_align_sint16
+ cls_align_sint32
+ cls_align_sint64
+ cls_align_uint16
+ cls_align_uint32
+ cls_align_uint64
+ cls_dbls_struct
+ cls_double
+ cls_double_va
+ cls_float
+ cls_longdouble
+ cls_longdouble_va
+ cls_many_mixed_args
+ cls_multi_schar
+ cls_multi_sshort
+ cls_multi_sshortchar
+ cls_multi_uchar
+ cls_multi_ushort
+ cls_multi_ushortchar
+ cls_pointer
+ cls_pointer_stack
+ cls_schar
+ cls_sint
+ cls_sshort
+ cls_struct_va1
+ cls_uchar
+ cls_uchar_va
+ cls_uint
+ cls_uint_va
+ cls_ulong_va
+ cls_ulonglong
+ cls_ushort
+ cls_ushort_va
+ err_bad_abi
+ huge_struct
+ nested_struct
+ nested_struct1
+ nested_struct10
+ nested_struct11
+ nested_struct2
+ nested_struct3
+ nested_struct4
+ nested_struct5
+ nested_struct6
+ nested_struct7
+ nested_struct8
+ nested_struct9
+ problem1
+ stret_large
+ stret_large2
+ stret_medium
+ stret_medium2
+ testclosure
+)
+
+IF (NOT OS_WINDOWS)
+ RECURSE(
+ cls_align_longdouble_split
+ cls_align_longdouble_split2
+ cls_many_mixed_float_double
+ )
+ENDIF()