Anthony Green
247e44b3ef
Fix return values
2018-03-18 07:01:54 -04:00
Anthony Green
1f99701fad
Make tests compile/run standalone
2018-03-17 22:49:58 -04:00
Anthony Green
a33bfa9b12
xfail unwind tests for moxie
2018-03-17 07:17:24 -04:00
Anthony Green
d2f7e788ae
Fix test cases with short results
2018-03-14 09:06:38 -04:00
Anthony Green
16313cb274
Support compiler specific warning suppression flags
2018-03-13 08:52:30 -04:00
Anthony Green
cca6d1fb54
Support compiler specific warning suppression flags
2018-03-13 08:51:34 -04:00
Anthony Green
9291f941c2
Add bhaible's missing Makefile
2018-03-13 08:37:21 -04:00
Anthony Green
bede01d82e
Remove stray directory
2018-03-13 07:53:33 -04:00
Anthony Green
ddf7a8f751
Update test list for dist
2018-03-13 07:47:57 -04:00
Anthony Green
6186261cb3
Add Bruno Haible and Bill Triggs' libffi testsuite
2018-03-12 21:53:18 -04:00
Sergei Trofimovich
45da2fcbcd
new test: return small struct
...
The bug originally was discovered in https://bugs.gentoo.org/634190
where complicated callback was returning invalid data on ia64.
This change adds minimal reproducer that fails only on ia64 as:
FAIL: libffi.call/struct10.c -W -Wall -Wno-psabi -O0 execution test
FAIL: libffi.call/struct10.c -W -Wall -Wno-psabi -O2 execution test
FAIL: libffi.call/struct10.c -W -Wall -Wno-psabi -O3 execution test
FAIL: libffi.call/struct10.c -W -Wall -Wno-psabi -Os execution test
Test passes on amd64. The fix is in the following commit.
Bug: https://bugs.gentoo.org/634190
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org >
2018-02-17 18:53:02 +00:00
Saleem Abdulrasool
1fb788ac89
aarch64: fix index base register for AArch64
...
The base is passed in `x3`, not in `x2`. This fixes the indexing base
so that the right value is used.
2017-10-26 19:13:10 -07:00
H.J. Lu
b2a343ffc6
Don't include WIN64/EFI64 for x32
...
Since x32 doesn't support WIN64/EFI64, don't include it for x32. Also
x32 has sizeof size_t == 4. But TARGET should be X86_64.
2017-10-25 05:36:49 -07:00
Anthony Green
c9c2aa2461
Revert previous two changes. clang/MacOS problem can only be solved within dejagnu.
2017-03-15 09:58:39 -04:00
Anthony Green
5a8fca9405
Fix typo
2017-03-15 09:52:39 -04:00
Anthony Green
5b10a01981
Work around dejagnu/clang problems
2017-03-15 09:34:01 -04:00
Anthony Green
c5b408ee78
xfail the unwindtest for osx as per issue #279
2016-09-04 09:17:46 -04:00
Yuriy Kolerov
ef8be84de5
Do not use fabsl() in float2.c test
...
Some targets may support long double variables but in the same
time may lack support of long double functions like fabsl().
Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com >
2016-07-29 21:05:22 +03:00
Yuriy Kolerov
f3201733d5
Fix output expectations in cls_dbls_struct.c test
...
This test with invalid output expectations may fail on some targets
(e.g. ARC processors).
Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com >
2016-07-29 19:18:41 +03:00
Yuriy Kolerov
f74ea2dc79
Allow setting an arbitary value for blddirffi in testsuite
...
It is useful when tests are executed not from build directory. So
the path of the build directory may be passed through site.exp or
runtest.
Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com >
2016-07-28 21:34:06 +03:00
Yuriy Kolerov
31362d785e
ARC: Link tests with pthread library
...
Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com >
2016-07-28 18:48:23 +03:00
Tom Tromey
02089a1b5c
Merge pull request #237 from tschwinge/libffi_feature_test
...
Simplify/fix libffi_feature_test
2016-05-23 09:58:51 -06:00
Richard Henderson
e5843a3a09
x86: Fix calling convention for ffi_closure_win64_inner
...
Also enable testing for the cross-abi calls.
2016-04-29 14:17:36 -07:00
Thomas Schwinge
c884551781
Simplify/fix libffi_feature_test
...
As detailed in
<http://news.gmane.org/find-root.php?message_id=%3C87wppswqqt.fsf%40kepler.schwinge.homeip.net%3E >,
the original code (originally added in commit
f1301a54bb as part of pull request #145 ) does not
work (at least not for me, in the GCC environment).
2016-03-16 17:37:07 +01:00
Tom Tromey
38a4d72c95
add ffi_get_struct_offsets
2016-02-22 16:07:55 -07:00
Anthony Green
755f1e642d
Merge pull request #193 from rth7680/fix-70
...
Test case from issue #70
2016-02-20 06:43:48 -05:00
Filipe Brandenburger
89b760503e
Fix dejagnu test support for --tool_opts
...
Right now it concatenates it with the existing options and then appends
it to that list, fix it to simply append it as is, same as it is done
with the other variables.
Tested by running the following command which includes gcc options:
$ make check RUNTESTFLAGS="--tool_opts '-Werror'"
Without this patch, all the tests fail. With it, the test succeed.
Inspecting the logs shows that -Werror was indeed used when compiling
the test sources.
2016-02-03 13:37:39 -08:00
Richard Henderson
4cdedc279f
Tidy call.exp test collection
...
Commit c952a92e20 moved all of
the complex tests to libffi.complex, but failed to remove the
anti-globbing from libffi.call.
2015-10-20 07:16:10 -10:00
Richard Henderson
609db2fbe4
Test case from Issue #70
2015-10-20 07:16:10 -10:00
Anthony Green
5cd411ad5d
New test case for old aarch64 bug
2015-01-13 15:44:03 -05:00
Richard Henderson
ccdd7bb856
testsuite: Fix alpha static chain register name
2014-11-16 12:12:23 +01:00
Anthony Green
3316b666e3
Merge pull request #145 from rth7680/master
...
Configure and testsuite cleanups, v2
2014-11-15 07:31:41 -05:00
Richard Henderson
c9f5b6648b
testsuite: Add trivial tests for Go closures
2014-11-14 13:07:47 +01:00
Richard Henderson
c952a92e20
testsuite: Move complex tests to their own subdirectory
...
It seems a bit silly to isolate them by globbing vs "*complex*"
when we can just as easily put them in their own subdirectory.
2014-11-14 13:07:47 +01:00
Richard Henderson
f1301a54bb
testsuite: Use feature test rather than enumeration for complex
2014-11-14 13:07:45 +01:00
Richard Henderson
b5ade2fb5d
testsuite: Detect clang
...
Clang doesn't like the -Wno-psabi argument that we want to pass to GCC.
Since clang is detected as GCC via __GNUC__, use ax_cv_c_compiler_vendor.
2014-11-14 13:07:16 +01:00
Anatoly Trosinenko
771fabc6d5
Take a float absolute value using fabs() instead of abs().
...
Replace integer abs() by floating point fabs() in the approximate
equality check for float values.
2014-11-14 14:21:35 +03:00
Anatoly Trosinenko
9622ede2e2
Fix floating point number comparisons in testsuite/libffi.call/float[123].c.
...
Rewrite the checks for approximate equality of floating point return
values to be in the form "fabs(a - b) < EPS" instead of just
"a - b < EPS".
2014-11-14 13:18:04 +03:00
Richard Henderson
ad89c2d9e9
sparc: Add support for complex types
2014-11-12 09:36:09 +01:00
Richard Henderson
a529bec27b
arm: Add support for complex types
2014-11-12 09:32:36 +01:00
Richard Henderson
f41bec3b57
alpha: Add support for complex types
2014-11-12 09:31:19 +01:00
Richard Henderson
a992f8789b
aarch64: Add support for complex types
2014-11-12 09:29:31 +01:00
Richard Henderson
198f469e91
x86: Add support for Complex
2014-11-12 09:16:02 +01:00
Richard Henderson
7cf841324f
testsuite: Add two dg-do run markers
...
Caught by clang warning about unused -L parameter.
2014-11-12 09:15:35 +01:00
Richard Henderson
fc501750f4
testsuite: Fix return_complex2 vs excessive precision
...
Use the previously computed rc2 to validate, rather than
recomputing a floating point result with excess precision.
2014-11-12 09:15:35 +01:00
Richard Henderson
99db4d42ac
win64: Rewrite
...
It's way too different from the 32-bit ABIs with which it is
currently associated. As seen from all of the existing XFAILs.
2014-11-12 09:15:35 +01:00
Anthony Green
990eb9d4c2
Only run the complex type tests on supported platforms.
2014-09-28 00:50:29 -04:00
Anthony Green
fbbf48fbdf
Compile tests with -Wno-psabi when using GCC
2014-09-20 07:43:51 -04:00
Dominik Vogt
6e8a446083
2014-07-22 Dominik Vogt <vogt@linux.vnet.ibm.com>
...
* src/types.c (FFI_TYPEDEF, FFI_NONCONST_TYPEDEF): Merge the macros by
adding another argument that controls whether the result is const or not
(FFI_LDBL_CONST): Temporary macro to reduce ifdef confusion
* src/prep_cif.c (ffi_prep_cif_core): Replace list of systems with new
macro FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION
* src/pa/ffitarget.h (FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION):
Define.
* src/s390/ffitarget.h (FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION):
Define.
* src/x86/ffitarget.h (FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION):
Define.
2014-07-22 Dominik Vogt <vogt@linux.vnet.ibm.com >
* doc/libffi.texi (Primitive Types): Document ffi_type_complex_float,
ffi_type_complex_double and ffi_type_complex_longdouble
(Complex Types): New subsection.
(Complex Type Example): Ditto.
* testsuite/libffi.call/cls_align_complex_double.c: New
FFI_TYPE_COMPLEX test.
* testsuite/libffi.call/cls_align_complex_float.c: Ditto.
* testsuite/libffi.call/cls_align_complex_longdouble.c: Ditto.
* testsuite/libffi.call/cls_complex_double.c: Ditto.
* testsuite/libffi.call/cls_complex_float.c: Ditto.
* testsuite/libffi.call/cls_complex_longdouble.c: Ditto.
* testsuite/libffi.call/cls_complex_struct_double.c: Ditto.
* testsuite/libffi.call/cls_complex_struct_float.c: Ditto.
* testsuite/libffi.call/cls_complex_struct_longdouble.c: Ditto.
* testsuite/libffi.call/cls_complex_va_double.c: Ditto.
* testsuite/libffi.call/cls_complex_va_float.c: Ditto.
* testsuite/libffi.call/cls_complex_va_longdouble.c: Ditto.
* testsuite/libffi.call/complex_double.c: Ditto.
* testsuite/libffi.call/complex_defs_double.c: Ditto.
* testsuite/libffi.call/complex_float.c: Ditto.
* testsuite/libffi.call/complex_defs_float.c: Ditto.
* testsuite/libffi.call/complex_longdouble.c: Ditto.
* testsuite/libffi.call/complex_defs_longdouble.c: Ditto.
* testsuite/libffi.call/complex_int.c: Ditto.
* testsuite/libffi.call/many_complex_double.c: Ditto.
* testsuite/libffi.call/many_complex_float.c: Ditto.
* testsuite/libffi.call/many_complex_longdouble.c: Ditto.
* testsuite/libffi.call/return_complex1_double.c: Ditto.
* testsuite/libffi.call/return_complex1_float.c: Ditto.
* testsuite/libffi.call/return_complex1_longdouble.c: Ditto.
* testsuite/libffi.call/return_complex2_double.c: Ditto.
* testsuite/libffi.call/return_complex2_float.c: Ditto.
* testsuite/libffi.call/return_complex2_longdouble.c: Ditto.
* testsuite/libffi.call/return_complex_double.c: Ditto.
* testsuite/libffi.call/return_complex_float.c: Ditto.
* testsuite/libffi.call/return_complex_longdouble.c: Ditto.
* src/raw_api.c (ffi_raw_to_ptrarray): Handle FFI_TYPE_COMPLEX
(ffi_ptrarray_to_raw): Ditto.
* src/prep_cif.c (ffi_prep_cif_core): Abort if FFI_TYPE_COMPLEX is not
implemented in libffi for the target.
* src/java_raw_api.c (ffi_java_raw_size): FFI_TYPE_COMPLEX not supported
yet (abort).
(ffi_java_raw_to_ptrarray): Ditto.
(ffi_java_rvalue_to_raw): Ditto.
(ffi_java_raw_to_rvalue): Ditto.
* src/debug.c (ffi_type_test): Add debug tests for complex types.
* include/ffi.h.in (FFI_TYPE_COMPLEX): Add new FFI_TYPE_COMPLEX.
(FFI_TYPE_LAST): Bump.
(ffi_type_complex_float): Add new ffi_type_....
(ffi_type_complex_double): Ditto.
(ffi_type_complex_longdouble): Ditto.
2014-07-22 Dominik Vogt <vogt@linux.vnet.ibm.com >
* src/s390/ffitarget.h (FFI_TARGET_HAS_COMPLEX_TYPE): Define to provide
FFI_TYPE_COMPLEX support.
* src/s390/ffi.c (ffi_check_struct_type): Implement FFI_TYPE_COMPLEX
(ffi_prep_args): Ditto.
(ffi_prep_cif_machdep): Ditto.
(ffi_closure_helper_SYSV): Ditto.
2014-09-20 06:24:41 -04:00
Anthony Green
70c303cb88
Fix testsuite for GCC 4.9.0
2014-05-11 09:56:40 -04:00