diff options
author | Anthony Green <green@gmachine.(none)> | 2010-01-01 08:08:02 -0500 |
---|---|---|
committer | Anthony Green <green@gmachine.(none)> | 2010-01-01 08:08:02 -0500 |
commit | c3042afaf3f84abbbe9c91bf9bc9896b0d9eb003 (patch) | |
tree | 223d8e00be3d77a10e797be93a23bf1fc074b02f /testsuite | |
parent | b0304e9679bdfec6ac45a57b5c96542697249418 (diff) | |
download | libffi-c3042afaf3f84abbbe9c91bf9bc9896b0d9eb003.tar.gz |
Reset quilt patches post 3.0.9 merge with GCC
Diffstat (limited to 'testsuite')
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__, |