diff options
author | Andreas Tobler <a.tobler@schweiz.org> | 2006-12-14 07:34:45 +0000 |
---|---|---|
committer | Andreas Tobler <andreast@gcc.gnu.org> | 2006-12-14 08:34:45 +0100 |
commit | f4f7486bcfbf8ccde6d3214e6b37a17ad771f198 (patch) | |
tree | bb61ea6e1c000380bb73ee301d3bb695593be353 /libffi/testsuite | |
parent | 2a67bec24f6c82008acbe9138515a541edc10f7e (diff) | |
download | gcc-f4f7486bcfbf8ccde6d3214e6b37a17ad771f198.tar.gz |
configure.ac: Add TARGET for x86_64-*-darwin*.
2006-12-14 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Add TARGET for x86_64-*-darwin*.
* Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
for X86_DARWIN.
* src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
* src/x86/darwin64.S: New file for x86_64-*-darwin* support.
* configure: Regenerate.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
* testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
ffi_call only.
From-SVN: r119856
Diffstat (limited to 'libffi/testsuite')
-rw-r--r-- | libffi/testsuite/Makefile.in | 27 | ||||
-rw-r--r-- | libffi/testsuite/libffi.special/unwindtest_ffi_call.cc | 53 |
2 files changed, 57 insertions, 23 deletions
diff --git a/libffi/testsuite/Makefile.in b/libffi/testsuite/Makefile.in index e5a7e42b71d..84736d8035b 100644 --- a/libffi/testsuite/Makefile.in +++ b/libffi/testsuite/Makefile.in @@ -39,8 +39,8 @@ target_triplet = @target@ subdir = testsuite DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs @@ -59,7 +59,6 @@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_RUNTESTFLAGS = -AR = @AR@ ARM_FALSE = @ARM_FALSE@ ARM_TRUE = @ARM_TRUE@ AUTOCONF = @AUTOCONF@ @@ -73,24 +72,16 @@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ FRV_FALSE = @FRV_FALSE@ FRV_TRUE = @FRV_TRUE@ -GREP = @GREP@ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@ IA64_FALSE = @IA64_FALSE@ IA64_TRUE = @IA64_TRUE@ @@ -98,7 +89,6 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ LIBFFI_CRIS_FALSE = @LIBFFI_CRIS_FALSE@ LIBFFI_CRIS_TRUE = @LIBFFI_CRIS_TRUE@ LIBOBJS = @LIBOBJS@ @@ -166,12 +156,10 @@ X86_TRUE = @X86_TRUE@ X86_WIN32_FALSE = @X86_WIN32_FALSE@ X86_WIN32_TRUE = @X86_WIN32_TRUE@ ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -184,31 +172,24 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ -htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ -localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ -psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ diff --git a/libffi/testsuite/libffi.special/unwindtest_ffi_call.cc b/libffi/testsuite/libffi.special/unwindtest_ffi_call.cc new file mode 100644 index 00000000000..0911e0e1d94 --- /dev/null +++ b/libffi/testsuite/libffi.special/unwindtest_ffi_call.cc @@ -0,0 +1,53 @@ +/* Area: ffi_call, unwind info + Purpose: Check if the unwind information is passed correctly. + Limitations: none. + PR: none. + Originator: Andreas Tobler <andreast@gcc.gnu.org> 20061213 */ + +/* { dg-do run { xfail mips64*-*-* arm*-*-* strongarm*-*-* xscale*-*-* } } */ +#include "ffitestcxx.h" + +static int checking(int a __UNUSED__, short b __UNUSED__, + signed char c __UNUSED__) +{ + throw 9; +} + +int main (void) +{ + ffi_cif cif; + ffi_type *args[MAX_ARGS]; + void *values[MAX_ARGS]; + ffi_arg rint; + + signed int si; + signed short ss; + signed char sc; + + args[0] = &ffi_type_sint; + values[0] = &si; + args[1] = &ffi_type_sshort; + values[1] = &ss; + args[2] = &ffi_type_schar; + values[2] = ≻ + + /* Initialize the cif */ + CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 3, + &ffi_type_sint, args) == FFI_OK); + + si = -6; + ss = -12; + sc = -1; + { + try + { + ffi_call(&cif, FFI_FN(checking), &rint, values); + } catch (int exception_code) + { + CHECK(exception_code == 9); + } + printf("part one OK\n"); + /* { dg-output "part one OK" } */ + } + exit(0); +} |