summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorAnthony Green <green@gmachine.(none)>2010-01-01 08:08:02 -0500
committerAnthony Green <green@gmachine.(none)>2010-01-01 08:08:02 -0500
commitc3042afaf3f84abbbe9c91bf9bc9896b0d9eb003 (patch)
tree223d8e00be3d77a10e797be93a23bf1fc074b02f /testsuite
parentb0304e9679bdfec6ac45a57b5c96542697249418 (diff)
downloadlibffi-c3042afaf3f84abbbe9c91bf9bc9896b0d9eb003.tar.gz
Reset quilt patches post 3.0.9 merge with GCC
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/.svn/entries16
-rw-r--r--testsuite/.svn/text-base/Makefile.in.svn-base1
-rw-r--r--testsuite/Makefile.in1
-rw-r--r--testsuite/config/.svn/entries2
-rw-r--r--testsuite/lib/.svn/entries16
-rw-r--r--testsuite/lib/.svn/text-base/libffi-dg.exp.svn-base6
-rw-r--r--testsuite/lib/libffi-dg.exp4
-rw-r--r--testsuite/libffi.call/.svn/entries484
-rw-r--r--testsuite/libffi.call/.svn/text-base/cls_align_longdouble_split.c.svn-base2
-rw-r--r--testsuite/libffi.call/.svn/text-base/cls_align_longdouble_split2.c.svn-base2
-rw-r--r--testsuite/libffi.call/.svn/text-base/cls_double_va.c.svn-base3
-rw-r--r--testsuite/libffi.call/.svn/text-base/cls_longdouble.c.svn-base2
-rw-r--r--testsuite/libffi.call/.svn/text-base/cls_longdouble_va.c.svn-base4
-rw-r--r--testsuite/libffi.call/.svn/text-base/cls_pointer.c.svn-base2
-rw-r--r--testsuite/libffi.call/.svn/text-base/cls_pointer_stack.c.svn-base2
-rw-r--r--testsuite/libffi.call/.svn/text-base/ffitest.h.svn-base16
-rw-r--r--testsuite/libffi.call/.svn/text-base/huge_struct.c.svn-base342
-rw-r--r--testsuite/libffi.call/.svn/text-base/stret_large.c.svn-base2
-rw-r--r--testsuite/libffi.call/.svn/text-base/stret_large2.c.svn-base2
-rw-r--r--testsuite/libffi.call/.svn/text-base/stret_medium.c.svn-base2
-rw-r--r--testsuite/libffi.call/.svn/text-base/stret_medium2.c.svn-base2
-rw-r--r--testsuite/libffi.call/cls_longdouble.c2
-rw-r--r--testsuite/libffi.special/.svn/entries30
-rw-r--r--testsuite/libffi.special/.svn/text-base/ffitestcxx.h.svn-base6
-rw-r--r--testsuite/libffi.special/.svn/text-base/unwindtest.cc.svn-base7
25 files changed, 677 insertions, 281 deletions
diff --git a/testsuite/.svn/entries b/testsuite/.svn/entries
index f87c78f..99b9fba 100644
--- a/testsuite/.svn/entries
+++ b/testsuite/.svn/entries
@@ -1,7 +1,7 @@
10
dir
-155499
+155537
svn+ssh://green@gcc.gnu.org/svn/gcc/trunk/libffi/testsuite
svn+ssh://green@gcc.gnu.org/svn/gcc
@@ -28,15 +28,16 @@ danglin
Makefile.in
file
+155540
+2009-12-31T17:41:47.057326Z
+06bceea065d6b544b892fa82becf99c8
+2009-12-31T17:44:32.724697Z
+155540
+green
-2009-12-26T04:20:27.164225Z
-df80bf4b915a2a2ea84b85d1004cd2b6
-2009-12-05T17:18:53.298892Z
-155012
-rwild
@@ -57,8 +58,7 @@ rwild
-
-12268
+12298
config
dir
diff --git a/testsuite/.svn/text-base/Makefile.in.svn-base b/testsuite/.svn/text-base/Makefile.in.svn-base
index 0c81695..97295f0 100644
--- a/testsuite/.svn/text-base/Makefile.in.svn-base
+++ b/testsuite/.svn/text-base/Makefile.in.svn-base
@@ -59,6 +59,7 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
+AM_LTLDFLAGS = @AM_LTLDFLAGS@
AM_RUNTESTFLAGS =
AR = @AR@
AUTOCONF = @AUTOCONF@
diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
index 698c461..a954696 100644
--- a/testsuite/Makefile.in
+++ b/testsuite/Makefile.in
@@ -53,6 +53,7 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
+AM_LTLDFLAGS = @AM_LTLDFLAGS@
AM_RUNTESTFLAGS =
AR = @AR@
AUTOCONF = @AUTOCONF@
diff --git a/testsuite/config/.svn/entries b/testsuite/config/.svn/entries
index 8b28fd9..77f61ac 100644
--- a/testsuite/config/.svn/entries
+++ b/testsuite/config/.svn/entries
@@ -1,7 +1,7 @@
10
dir
-155499
+155537
svn+ssh://green@gcc.gnu.org/svn/gcc/trunk/libffi/testsuite/config
svn+ssh://green@gcc.gnu.org/svn/gcc
diff --git a/testsuite/lib/.svn/entries b/testsuite/lib/.svn/entries
index f7c3897..53ccb4f 100644
--- a/testsuite/lib/.svn/entries
+++ b/testsuite/lib/.svn/entries
@@ -1,7 +1,7 @@
10
dir
-155499
+155537
svn+ssh://green@gcc.gnu.org/svn/gcc/trunk/libffi/testsuite/lib
svn+ssh://green@gcc.gnu.org/svn/gcc
@@ -28,15 +28,15 @@ rsandifo
libffi-dg.exp
file
+155549
-
-2009-12-20T06:01:57.963803Z
-806ba5a25b0a14fdf53823cdb63a6c4f
-2009-07-11T06:10:49.813211Z
-149508
-rsandifo
+2010-01-01T12:29:31.181317Z
+4ff7f7a31a97eec90af2e4dfb964b213
+2010-01-01T12:32:24.799527Z
+155549
+green
@@ -58,5 +58,5 @@ rsandifo
-9057
+9170
diff --git a/testsuite/lib/.svn/text-base/libffi-dg.exp.svn-base b/testsuite/lib/.svn/text-base/libffi-dg.exp.svn-base
index 8db38c2..bd5a7c8 100644
--- a/testsuite/lib/.svn/text-base/libffi-dg.exp.svn-base
+++ b/testsuite/lib/.svn/text-base/libffi-dg.exp.svn-base
@@ -1,4 +1,4 @@
-# Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2005, 2008, 2009, 2010 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -203,6 +203,10 @@ proc libffi_target_compile { source dest type options } {
lappend options "libs= -shared-libgcc"
}
+ if { [string match "*-*-openbsd*" $target_triplet] } {
+ lappend options "libs= -lpthread"
+ }
+
lappend options "libs= -lffi"
verbose "options: $options"
diff --git a/testsuite/lib/libffi-dg.exp b/testsuite/lib/libffi-dg.exp
index 304d2f5..838a306 100644
--- a/testsuite/lib/libffi-dg.exp
+++ b/testsuite/lib/libffi-dg.exp
@@ -1,8 +1,8 @@
-# Copyright (C) 2003, 2005, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2005, 2008, 2009, 2010 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
diff --git a/testsuite/libffi.call/.svn/entries b/testsuite/libffi.call/.svn/entries
index 63f4c32..9557869 100644
--- a/testsuite/libffi.call/.svn/entries
+++ b/testsuite/libffi.call/.svn/entries
@@ -1,7 +1,7 @@
10
dir
-155499
+155537
svn+ssh://green@gcc.gnu.org/svn/gcc/trunk/libffi/testsuite/libffi.call
svn+ssh://green@gcc.gnu.org/svn/gcc
@@ -60,17 +60,17 @@ aph
1707
-stret_medium.c
+cls_align_uint16.c
file
-2009-12-20T06:01:57.923806Z
-767d8e6fbe073e9daae66e1b47a82a74
-2009-12-08T22:59:02.516289Z
-155093
-daney
+2009-12-20T06:01:57.924804Z
+8bd0cdf89201ff6da5eb8cc5af94ff4b
+2009-06-12T15:57:58.721771Z
+148433
+aph
@@ -92,19 +92,19 @@ daney
-3814
+2524
-cls_align_uint16.c
+stret_medium.c
file
+155548
-
-2009-12-20T06:01:57.924804Z
-8bd0cdf89201ff6da5eb8cc5af94ff4b
-2009-06-12T15:57:58.721771Z
-148433
-aph
+2009-12-31T17:54:32.266342Z
+ee6d4bbb4dd6aaa9a4b00d3f0b1b60cc
+2010-01-01T12:26:49.969276Z
+155548
+green
@@ -126,19 +126,20 @@ aph
-2524
+3805
cls_align_longdouble_split2.c
file
+155548
+2009-12-31T17:54:32.256064Z
+8cf7cf3f9c3329541776b3859fed8e3a
+2010-01-01T12:26:49.969276Z
+155548
+green
-2009-12-20T06:01:57.924804Z
-51d1294bac02eae8bbbb229e814510d7
-2009-12-08T22:59:02.516289Z
-155093
-daney
@@ -159,8 +160,7 @@ daney
-
-3344
+3335
struct1.c
file
@@ -230,17 +230,17 @@ andreast
745
-struct3.c
+nested_struct1.c
file
-2009-12-20T06:01:57.926806Z
-ccda1a87fadf3cc0c31bbc75c4c92cef
-2004-01-24T16:13:48.000000Z
-76513
-andreast
+2009-12-20T06:01:57.927806Z
+a3904921ab13f98414c119e2e3884079
+2009-06-12T15:57:58.721771Z
+148433
+aph
@@ -262,19 +262,19 @@ andreast
-1220
+5032
-nested_struct1.c
+struct3.c
file
-2009-12-20T06:01:57.927806Z
-a3904921ab13f98414c119e2e3884079
-2009-06-12T15:57:58.721771Z
-148433
-aph
+2009-12-20T06:01:57.926806Z
+ccda1a87fadf3cc0c31bbc75c4c92cef
+2004-01-24T16:13:48.000000Z
+76513
+andreast
@@ -296,19 +296,19 @@ aph
-5032
+1220
-struct5.c
+err_bad_abi.c
file
-2009-12-20T06:01:57.927806Z
-81535421410fd680f78b33f39cdcc580
-2003-09-04T14:49:22.000000Z
-71069
-andreast
+2009-12-20T06:01:57.928805Z
+6fd75fe5dd3edb057fdc1bf327edcd5a
+2009-06-15T17:14:53.377358Z
+148499
+aph
@@ -330,7 +330,7 @@ andreast
-1398
+828
nested_struct3.c
file
@@ -366,17 +366,17 @@ aph
2780
-err_bad_abi.c
+struct5.c
file
-2009-12-20T06:01:57.928805Z
-6fd75fe5dd3edb057fdc1bf327edcd5a
-2009-06-15T17:14:53.377358Z
-148499
-aph
+2009-12-20T06:01:57.927806Z
+81535421410fd680f78b33f39cdcc580
+2003-09-04T14:49:22.000000Z
+71069
+andreast
@@ -398,7 +398,7 @@ aph
-828
+1398
cls_7_1_byte.c
file
@@ -434,17 +434,17 @@ aph
3406
-struct7.c
+cls_double.c
file
-2009-12-20T06:01:57.929805Z
-c596ddb985689ec61b12aaa3d22affa3
-2003-09-04T14:49:22.000000Z
-71069
-andreast
+2009-12-20T06:01:57.931805Z
+0bdb41c9d86c6676cf323baed9763580
+2009-06-12T15:57:58.721771Z
+148433
+aph
@@ -466,7 +466,7 @@ andreast
-1605
+1081
nested_struct5.c
file
@@ -502,17 +502,17 @@ aph
2785
-cls_double.c
+struct7.c
file
-2009-12-20T06:01:57.931805Z
-0bdb41c9d86c6676cf323baed9763580
-2009-06-12T15:57:58.721771Z
-148433
-aph
+2009-12-20T06:01:57.929805Z
+c596ddb985689ec61b12aaa3d22affa3
+2003-09-04T14:49:22.000000Z
+71069
+andreast
@@ -534,7 +534,7 @@ aph
-1081
+1605
nested_struct7.c
file
@@ -708,15 +708,15 @@ aph
cls_pointer.c
file
+155548
-
-2009-12-20T06:01:57.934805Z
-1ecfd7dfc2428cfe9437b612df361843
-2009-06-12T15:57:58.721771Z
-148433
-aph
+2009-12-31T17:54:32.263315Z
+d86fe4a3c160f50dca652a4b27bba9d7
+2010-01-01T12:26:49.969276Z
+155548
+green
@@ -738,7 +738,7 @@ aph
-1933
+1914
many_win32.c
file
@@ -1046,17 +1046,17 @@ aph
747
-cls_multi_schar.c
+stret_large.c
file
+155548
-
-2009-12-20T06:01:57.939805Z
-c710800140844efb82423cbf42ac7ae4
-2009-06-12T15:57:58.721771Z
-148433
-aph
+2009-12-31T17:54:32.265315Z
+d7e79e24bdc3567144c018f1f2afbe0f
+2010-01-01T12:26:49.969276Z
+155548
+green
@@ -1078,19 +1078,19 @@ aph
-1645
+4700
-stret_large.c
+cls_multi_schar.c
file
2009-12-20T06:01:57.939805Z
-7a756a4b99e8417f716d22e8f2339eb7
-2009-12-08T22:59:02.516289Z
-155093
-daney
+c710800140844efb82423cbf42ac7ae4
+2009-06-12T15:57:58.721771Z
+148433
+aph
@@ -1112,7 +1112,7 @@ daney
-4709
+1645
cls_multi_uchar.c
file
@@ -1148,16 +1148,16 @@ aph
2279
-err_bad_typedef.c
+cls_9byte1.c
file
2009-12-20T06:01:57.940803Z
-3c916db09b26d1dadfaf1f83c9a4deae
-2009-06-15T17:14:53.377358Z
-148499
+40f4b4ad9bb66b5a7842f381dec87bae
+2009-06-12T15:57:58.721771Z
+148433
aph
@@ -1180,7 +1180,7 @@ aph
-450
+2447
cls_19byte.c
file
@@ -1216,16 +1216,16 @@ aph
2966
-cls_9byte1.c
+err_bad_typedef.c
file
2009-12-20T06:01:57.940803Z
-40f4b4ad9bb66b5a7842f381dec87bae
-2009-06-12T15:57:58.721771Z
-148433
+3c916db09b26d1dadfaf1f83c9a4deae
+2009-06-15T17:14:53.377358Z
+148499
aph
@@ -1248,19 +1248,19 @@ aph
-2447
+450
-closure_fn1.c
+cls_align_longdouble_split.c
file
+155548
-
-2009-12-20T06:01:57.940803Z
-af1c73f8927fd6ff7f3d0169d6a16bfa
-2009-06-12T15:57:58.721771Z
-148433
-aph
+2009-12-31T17:54:32.249074Z
+c8301dcaa78ebdea9d1b34b0f6a9f8fc
+2010-01-01T12:26:49.969276Z
+155548
+green
@@ -1282,7 +1282,7 @@ aph
-2873
+3749
cls_align_float.c
file
@@ -1318,17 +1318,17 @@ aph
2553
-cls_align_longdouble_split.c
+closure_fn1.c
file
-2009-12-20T06:01:57.941803Z
-c3b74391bcbacc226027a40d596e59ad
-2009-12-08T22:59:02.516289Z
-155093
-daney
+2009-12-20T06:01:57.940803Z
+af1c73f8927fd6ff7f3d0169d6a16bfa
+2009-06-12T15:57:58.721771Z
+148433
+aph
@@ -1350,19 +1350,19 @@ daney
-3758
+2873
-return_fl1.c
+problem1.c
file
2009-12-20T06:01:57.941803Z
-30f05c9246b15bd48f552bbd54d483b7
-2006-02-16T22:29:01.660175Z
-111156
-andreast
+00c9e6412441f7bba3c5d8f863d11d2f
+2009-06-12T15:57:58.721771Z
+148433
+aph
@@ -1384,19 +1384,19 @@ andreast
-755
+2326
-problem1.c
+return_fl1.c
file
2009-12-20T06:01:57.941803Z
-00c9e6412441f7bba3c5d8f863d11d2f
-2009-06-12T15:57:58.721771Z
-148433
-aph
+30f05c9246b15bd48f552bbd54d483b7
+2006-02-16T22:29:01.660175Z
+111156
+andreast
@@ -1418,19 +1418,19 @@ aph
-2326
+755
-return_dbl2.c
+closure_fn3.c
file
2009-12-20T06:01:57.941803Z
-56a258923c7b9c1aa0ab24bbde1ade56
-2007-08-09T02:02:37.303695Z
-127312
-daney
+80762a3d4a50c6d41904442445de79d0
+2009-06-12T15:57:58.721771Z
+148433
+aph
@@ -1452,19 +1452,19 @@ daney
-1005
+2911
-closure_fn3.c
+return_dbl2.c
file
2009-12-20T06:01:57.941803Z
-80762a3d4a50c6d41904442445de79d0
-2009-06-12T15:57:58.721771Z
-148433
-aph
+56a258923c7b9c1aa0ab24bbde1ade56
+2007-08-09T02:02:37.303695Z
+127312
+daney
@@ -1486,19 +1486,19 @@ aph
-2911
+1005
-return_fl3.c
+cls_sshort.c
file
2009-12-20T06:01:57.942803Z
-5e832fea7e1abc3e13210dd628c3ea6a
-2007-08-09T02:02:37.303695Z
-127312
-daney
+fa0415723a96a5c2da90b627c2ea7651
+2009-06-12T15:57:58.721771Z
+148433
+aph
@@ -1520,19 +1520,19 @@ daney
-967
+1077
-cls_sshort.c
+return_fl3.c
file
2009-12-20T06:01:57.942803Z
-fa0415723a96a5c2da90b627c2ea7651
-2009-06-12T15:57:58.721771Z
-148433
-aph
+5e832fea7e1abc3e13210dd628c3ea6a
+2007-08-09T02:02:37.303695Z
+127312
+daney
@@ -1554,7 +1554,7 @@ aph
-1077
+967
closure_fn5.c
file
@@ -1624,17 +1624,17 @@ aph
2518
-promotion.c
+cls_2byte.c
file
-2009-12-20T06:01:57.942803Z
-09a387482b7ce131ae73efe275816fdd
-2006-04-22T21:17:35.201451Z
-113181
-andreast
+2009-12-20T06:01:57.943803Z
+e9db163228cf54a3739f86c78fc7e39c
+2009-06-12T15:57:58.721771Z
+148433
+aph
@@ -1656,7 +1656,7 @@ andreast
-1353
+2432
nested_struct.c
file
@@ -1692,17 +1692,17 @@ aph
4695
-cls_2byte.c
+promotion.c
file
-2009-12-20T06:01:57.943803Z
-e9db163228cf54a3739f86c78fc7e39c
-2009-06-12T15:57:58.721771Z
-148433
-aph
+2009-12-20T06:01:57.942803Z
+09a387482b7ce131ae73efe275816fdd
+2006-04-22T21:17:35.201451Z
+113181
+andreast
@@ -1724,18 +1724,18 @@ aph
-2432
+1353
-return_ll1.c
+float2.c
file
2009-12-20T06:01:57.943803Z
-4464c6fa615810685c3fa04a8f9be7a3
-2009-06-16T10:15:31.432585Z
-148521
+bccf0bee1af8844103b4fc6d20ac4a00
+2009-06-12T15:57:58.721771Z
+148433
aph
@@ -1758,7 +1758,7 @@ aph
-995
+1479
nested_struct10.c
file
@@ -1794,16 +1794,16 @@ aph
3575
-float2.c
+return_ll1.c
file
2009-12-20T06:01:57.943803Z
-bccf0bee1af8844103b4fc6d20ac4a00
-2009-06-12T15:57:58.721771Z
-148433
+4464c6fa615810685c3fa04a8f9be7a3
+2009-06-16T10:15:31.432585Z
+148521
aph
@@ -1826,7 +1826,7 @@ aph
-1479
+995
cls_4byte.c
file
@@ -1932,15 +1932,23 @@ aph
cls_longdouble.c
file
+155548
+
+
+
+2009-12-31T17:54:32.260318Z
+a06a473cc254558546bc88326b951a02
+2010-01-01T12:26:49.969276Z
+155548
+green
+
+
+
+
-2009-12-20T06:01:57.944803Z
-0059604edd9edaf5b4c6953c06951a15
-2009-06-12T15:57:58.721771Z
-148433
-aph
@@ -1954,6 +1962,25 @@ aph
+2815
+
+huge_struct.c
+file
+155538
+
+
+
+2009-12-31T16:53:15.382347Z
+4f1428bc62698505f7156e39a3e2fa5c
+2009-12-31T16:58:55.491965Z
+155538
+green
+
+
+
+
+
+
@@ -1962,7 +1989,14 @@ aph
-2825
+
+
+
+
+
+
+
+14344
cls_8byte.c
file
@@ -2032,14 +2066,14 @@ aph
1685
-cls_align_sint16.c
+cls_align_uint32.c
file
2009-12-20T06:01:57.945802Z
-5a795d6260706dd654ddd8eb3d1a0b4f
+3f3c1ce646a897c75eb58a91d34d2ffb
2009-06-12T15:57:58.721771Z
148433
aph
@@ -2064,16 +2098,16 @@ aph
-2522
+2520
-cls_align_uint32.c
+cls_align_sint16.c
file
2009-12-20T06:01:57.945802Z
-3f3c1ce646a897c75eb58a91d34d2ffb
+5a795d6260706dd654ddd8eb3d1a0b4f
2009-06-12T15:57:58.721771Z
148433
aph
@@ -2098,19 +2132,19 @@ aph
-2520
+2522
cls_double_va.c
file
+155551
-
-2009-12-20T06:01:57.945802Z
-31cc1c574b127bd15b00e197ef819e8d
-2009-06-12T15:57:58.721771Z
-148433
-aph
+2010-01-01T12:37:28.642317Z
+e64c22cc41db6f4eba668caa7ad62c69
+2010-01-01T12:40:18.387858Z
+155551
+green
@@ -2132,7 +2166,7 @@ aph
-1359
+1384
return_sc.c
file
@@ -2204,15 +2238,16 @@ andreast
cls_pointer_stack.c
file
+155548
+2009-12-31T17:54:32.263315Z
+d8698082381ba9643cae274ac7bf2c75
+2010-01-01T12:26:49.969276Z
+155548
+green
-2009-12-20T06:01:57.946803Z
-4c8246aae0028af94b917a3854e89144
-2009-06-12T15:57:58.721771Z
-148433
-aph
@@ -2233,8 +2268,7 @@ aph
-
-4203
+4184
cls_float.c
file
@@ -2952,15 +2986,16 @@ aph
stret_large2.c
file
+155548
+2009-12-31T17:54:32.266342Z
+85354398deea65c3c738344283baae4b
+2010-01-01T12:26:49.969276Z
+155548
+green
-2009-12-20T06:01:57.950823Z
-ea2491f81c69f954cf396a121a94b780
-2009-12-08T22:59:02.516289Z
-155093
-daney
@@ -2981,8 +3016,7 @@ daney
-
-4875
+4866
return_dbl.c
file
@@ -3428,15 +3462,16 @@ aph
ffitest.h
file
+155550
+2010-01-01T12:32:57.612320Z
+91d3eace525dd3fdece89ebb069dd8a5
+2010-01-01T12:36:07.805985Z
+155550
+green
-2009-12-20T06:01:57.953813Z
-8e1ac573fad59dcf078fb34756990c2a
-2009-12-15T23:55:56.203674Z
-155277
-danglin
@@ -3457,8 +3492,7 @@ danglin
-
-2104
+2171
cls_16byte.c
file
@@ -3598,15 +3632,15 @@ aph
cls_longdouble_va.c
file
+155551
-
-2009-12-20T06:01:57.954823Z
-83b487882c89f3a97a1d5f97532ff5b5
-2009-12-03T14:02:10.688870Z
-154946
-uros
+2010-01-01T12:37:28.643317Z
+a20cae38794beeccd627148876893ecc
+2010-01-01T12:40:18.387858Z
+155551
+green
@@ -3628,7 +3662,7 @@ uros
-1430
+1422
closure_fn2.c
file
@@ -3802,15 +3836,15 @@ aph
stret_medium2.c
file
+155548
-
-2009-12-20T06:01:57.955823Z
-225f3f406b91028d7dd85660cc224033
-2009-12-08T22:59:02.516289Z
-155093
-daney
+2009-12-31T17:54:32.267337Z
+db952271eda288e8fd1e9b7c2addf6ab
+2010-01-01T12:26:49.969276Z
+155548
+green
@@ -3832,7 +3866,7 @@ daney
-3836
+3827
negint.c
file
diff --git a/testsuite/libffi.call/.svn/text-base/cls_align_longdouble_split.c.svn-base b/testsuite/libffi.call/.svn/text-base/cls_align_longdouble_split.c.svn-base
index 8b1a20c..4274af1 100644
--- a/testsuite/libffi.call/.svn/text-base/cls_align_longdouble_split.c.svn-base
+++ b/testsuite/libffi.call/.svn/text-base/cls_align_longdouble_split.c.svn-base
@@ -5,7 +5,7 @@
Originator: <hos@tamanegi.org> 20031203 */
/* { dg-excess-errors "no long double format" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
-/* { dg-do run { xfail arm*-*-* strongarm*-*-* xscale*-*-* } } */
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
/* { dg-options -mlong-double-128 { target powerpc64*-*-* } } */
/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
diff --git a/testsuite/libffi.call/.svn/text-base/cls_align_longdouble_split2.c.svn-base b/testsuite/libffi.call/.svn/text-base/cls_align_longdouble_split2.c.svn-base
index 794d17d..088f0d3 100644
--- a/testsuite/libffi.call/.svn/text-base/cls_align_longdouble_split2.c.svn-base
+++ b/testsuite/libffi.call/.svn/text-base/cls_align_longdouble_split2.c.svn-base
@@ -6,7 +6,7 @@
*/
/* { dg-excess-errors "no long double format" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
-/* { dg-do run { xfail arm*-*-* strongarm*-*-* } } */
+/* { dg-do run { xfail strongarm*-*-* } } */
/* { dg-options -mlong-double-128 { target powerpc64*-*-* } } */
/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
diff --git a/testsuite/libffi.call/.svn/text-base/cls_double_va.c.svn-base b/testsuite/libffi.call/.svn/text-base/cls_double_va.c.svn-base
index 45ce9bd..0695874 100644
--- a/testsuite/libffi.call/.svn/text-base/cls_double_va.c.svn-base
+++ b/testsuite/libffi.call/.svn/text-base/cls_double_va.c.svn-base
@@ -4,7 +4,8 @@
PR: none.
Originator: Blake Chaffin 6/6/2007 */
-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-* } } */
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+/* { dg-output "" { xfail avr32*-*-* } } */
#include "ffitest.h"
static void
diff --git a/testsuite/libffi.call/.svn/text-base/cls_longdouble.c.svn-base b/testsuite/libffi.call/.svn/text-base/cls_longdouble.c.svn-base
index 2f50b36..52af6cf 100644
--- a/testsuite/libffi.call/.svn/text-base/cls_longdouble.c.svn-base
+++ b/testsuite/libffi.call/.svn/text-base/cls_longdouble.c.svn-base
@@ -5,7 +5,7 @@
Originator: Blake Chaffin */
/* { dg-excess-errors "no long double format" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-* } } */
+/* { dg-do run { xfail arm*-*-* strongarm*-*-* xscale*-*-* } } */
/* { dg-options -mlong-double-128 { target powerpc64*-*-* } } */
/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
diff --git a/testsuite/libffi.call/.svn/text-base/cls_longdouble_va.c.svn-base b/testsuite/libffi.call/.svn/text-base/cls_longdouble_va.c.svn-base
index 4914f32..38564cb 100644
--- a/testsuite/libffi.call/.svn/text-base/cls_longdouble_va.c.svn-base
+++ b/testsuite/libffi.call/.svn/text-base/cls_longdouble_va.c.svn-base
@@ -4,8 +4,8 @@
PR: none.
Originator: Blake Chaffin 6/6/2007 */
-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-* } } */
-/* { dg-output "" { xfail x86_64-*-mingw* } } */
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+/* { dg-output "" { xfail avr32*-*-* x86_64-*-mingw* } } */
#include "ffitest.h"
static void
diff --git a/testsuite/libffi.call/.svn/text-base/cls_pointer.c.svn-base b/testsuite/libffi.call/.svn/text-base/cls_pointer.c.svn-base
index 34e4209..fadd353 100644
--- a/testsuite/libffi.call/.svn/text-base/cls_pointer.c.svn-base
+++ b/testsuite/libffi.call/.svn/text-base/cls_pointer.c.svn-base
@@ -4,7 +4,7 @@
PR: none.
Originator: Blake Chaffin 6/6/2007 */
-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-* } } */
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
#include "ffitest.h"
void* cls_pointer_fn(void* a1, void* a2)
diff --git a/testsuite/libffi.call/.svn/text-base/cls_pointer_stack.c.svn-base b/testsuite/libffi.call/.svn/text-base/cls_pointer_stack.c.svn-base
index dd59c6b..697f271 100644
--- a/testsuite/libffi.call/.svn/text-base/cls_pointer_stack.c.svn-base
+++ b/testsuite/libffi.call/.svn/text-base/cls_pointer_stack.c.svn-base
@@ -4,7 +4,7 @@
PR: none.
Originator: Blake Chaffin 6/7/2007 */
-/* { dg-do run { xfail mips*-*-* arm*-*-* strongarm*-*-* xscale*-*-* } } */
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
#include "ffitest.h"
static long dummyVar;
diff --git a/testsuite/libffi.call/.svn/text-base/ffitest.h.svn-base b/testsuite/libffi.call/.svn/text-base/ffitest.h.svn-base
index 52220a3..7b1c5ef 100644
--- a/testsuite/libffi.call/.svn/text-base/ffitest.h.svn-base
+++ b/testsuite/libffi.call/.svn/text-base/ffitest.h.svn-base
@@ -2,11 +2,17 @@
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
-#include <stdint.h>
-#include <inttypes.h>
#include <ffi.h>
#include "fficonfig.h"
+#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) !(x) ? abort() : 0
@@ -46,9 +52,9 @@
#endif
/* MinGW kludge. */
-#ifdef WIN64
-#define PRIdLL "PRId64"
-#define PRIuLL "PRIu64"
+#ifdef _WIN64
+#define PRIdLL "I64d"
+#define PRIuLL "I64u"
#else
#define PRIdLL "lld"
#define PRIuLL "llu"
diff --git a/testsuite/libffi.call/.svn/text-base/huge_struct.c.svn-base b/testsuite/libffi.call/.svn/text-base/huge_struct.c.svn-base
new file mode 100644
index 0000000..9cffb71
--- /dev/null
+++ b/testsuite/libffi.call/.svn/text-base/huge_struct.c.svn-base
@@ -0,0 +1,342 @@
+/* Area: ffi_call, closure_call
+ Purpose: Check large structure returns.
+ Limitations: none.
+ PR: none.
+ Originator: Blake Chaffin 6/18/2007
+*/
+
+/* { dg-excess-errors "" { target x86_64-*-mingw* x86_64-*-cygwin* } } */
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+/* { dg-options -mlong-double-128 { target powerpc64*-*-* } } */
+/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
+
+#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("%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %hhu %hhd: "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %hhu %hhd\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;
+
+ 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;
+
+ 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;
+
+ 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: %hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %hhu %hhd\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: %hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx "
+ "%hhu %hhd %hu %hd %u %d %" PRIu64 " %" PRId64 " %.0f %.0f %.0Lf %#lx %hhu %hhd\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/testsuite/libffi.call/.svn/text-base/stret_large.c.svn-base b/testsuite/libffi.call/.svn/text-base/stret_large.c.svn-base
index f2f3801..23a93b9 100644
--- a/testsuite/libffi.call/.svn/text-base/stret_large.c.svn-base
+++ b/testsuite/libffi.call/.svn/text-base/stret_large.c.svn-base
@@ -6,7 +6,7 @@
PR: none.
Originator: Blake Chaffin 6/21/2007 */
-/* { dg-do run { xfail arm*-*-* strongarm*-*-* xscale*-*-* } } */
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
#include "ffitest.h"
// 13 FPRs: 104 bytes
diff --git a/testsuite/libffi.call/.svn/text-base/stret_large2.c.svn-base b/testsuite/libffi.call/.svn/text-base/stret_large2.c.svn-base
index 7b8f729..e2599d2 100644
--- a/testsuite/libffi.call/.svn/text-base/stret_large2.c.svn-base
+++ b/testsuite/libffi.call/.svn/text-base/stret_large2.c.svn-base
@@ -6,7 +6,7 @@
PR: none.
Originator: Blake Chaffin 6/21/2007 */
-/* { dg-do run { xfail arm*-*-* strongarm*-*-* xscale*-*-* } } */
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
#include "ffitest.h"
// 13 FPRs: 104 bytes
diff --git a/testsuite/libffi.call/.svn/text-base/stret_medium.c.svn-base b/testsuite/libffi.call/.svn/text-base/stret_medium.c.svn-base
index 085b3c4..1fc6a9e 100644
--- a/testsuite/libffi.call/.svn/text-base/stret_medium.c.svn-base
+++ b/testsuite/libffi.call/.svn/text-base/stret_medium.c.svn-base
@@ -6,7 +6,7 @@
PR: none.
Originator: Blake Chaffin 6/21/2007 */
-/* { dg-do run { xfail arm*-*-* strongarm*-*-* xscale*-*-* } } */
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
#include "ffitest.h"
typedef struct struct_72byte {
diff --git a/testsuite/libffi.call/.svn/text-base/stret_medium2.c.svn-base b/testsuite/libffi.call/.svn/text-base/stret_medium2.c.svn-base
index 4c1ba43..1692c2d 100644
--- a/testsuite/libffi.call/.svn/text-base/stret_medium2.c.svn-base
+++ b/testsuite/libffi.call/.svn/text-base/stret_medium2.c.svn-base
@@ -6,7 +6,7 @@
PR: none.
Originator: Blake Chaffin 6/21/2007 */
-/* { dg-do run { xfail arm*-*-* strongarm*-*-* xscale*-*-* } } */
+/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
#include "ffitest.h"
typedef struct struct_72byte {
diff --git a/testsuite/libffi.call/cls_longdouble.c b/testsuite/libffi.call/cls_longdouble.c
index fcc91d4..52af6cf 100644
--- a/testsuite/libffi.call/cls_longdouble.c
+++ b/testsuite/libffi.call/cls_longdouble.c
@@ -5,7 +5,7 @@
Originator: Blake Chaffin */
/* { dg-excess-errors "no long double format" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+/* { dg-do run { xfail arm*-*-* strongarm*-*-* xscale*-*-* } } */
/* { dg-options -mlong-double-128 { target powerpc64*-*-* } } */
/* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
diff --git a/testsuite/libffi.special/.svn/entries b/testsuite/libffi.special/.svn/entries
index 9ac6438..0cab844 100644
--- a/testsuite/libffi.special/.svn/entries
+++ b/testsuite/libffi.special/.svn/entries
@@ -1,7 +1,7 @@
10
dir
-155499
+155537
svn+ssh://green@gcc.gnu.org/svn/gcc/trunk/libffi/testsuite/libffi.special
svn+ssh://green@gcc.gnu.org/svn/gcc
@@ -62,15 +62,16 @@ daney
unwindtest.cc
file
+155550
+2010-01-01T12:33:04.510072Z
+93fc3ea311b79f64004992807ce75d1e
+2010-01-01T12:36:07.805985Z
+155550
+green
-2009-12-20T06:01:58.002569Z
-c5774898ee6afc81a2f2f50ef5a63b69
-2009-06-12T15:57:58.721771Z
-148433
-aph
@@ -91,8 +92,7 @@ aph
-
-3711
+3803
special.exp
file
@@ -130,15 +130,15 @@ jakub
ffitestcxx.h
file
+155540
-
-2009-12-20T06:01:58.002569Z
-bf9da8a285fef56aae7657c0982b9b8b
-2009-06-16T10:15:31.432585Z
-148521
-aph
+2009-12-31T17:36:45.977318Z
+c6b374a7b78e1a90bd6e5d1386c4d57a
+2009-12-31T17:44:32.724697Z
+155540
+green
@@ -160,5 +160,5 @@ aph
-1725
+1722
diff --git a/testsuite/libffi.special/.svn/text-base/ffitestcxx.h.svn-base b/testsuite/libffi.special/.svn/text-base/ffitestcxx.h.svn-base
index 92fb656..e300cce 100644
--- a/testsuite/libffi.special/.svn/text-base/ffitestcxx.h.svn-base
+++ b/testsuite/libffi.special/.svn/text-base/ffitestcxx.h.svn-base
@@ -45,9 +45,9 @@
/* MinGW kludge. */
-#ifdef WIN64
-#define PRIdLL "PRId64"
-#define PRIuLL "PRIu64"
+#ifdef _WIN64
+#define PRIdLL "I64d"
+#define PRIuLL "I64u"
#else
#define PRIdLL "lld"
#define PRIuLL "llu"
diff --git a/testsuite/libffi.special/.svn/text-base/unwindtest.cc.svn-base b/testsuite/libffi.special/.svn/text-base/unwindtest.cc.svn-base
index 7238716..d7ffd4a 100644
--- a/testsuite/libffi.special/.svn/text-base/unwindtest.cc.svn-base
+++ b/testsuite/libffi.special/.svn/text-base/unwindtest.cc.svn-base
@@ -6,7 +6,14 @@
/* { dg-do run } */
#include "ffitestcxx.h"
+
+#if defined HAVE_STDINT_H
#include <stdint.h>
+#endif
+
+#if defined HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
void
closure_test_fn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__,