summaryrefslogtreecommitdiffstats
path: root/js/src/ctypes/libffi/testsuite/libffi.complex/cls_complex_va_float.c
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/ctypes/libffi/testsuite/libffi.complex/cls_complex_va_float.c')
-rw-r--r--js/src/ctypes/libffi/testsuite/libffi.complex/cls_complex_va_float.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/js/src/ctypes/libffi/testsuite/libffi.complex/cls_complex_va_float.c b/js/src/ctypes/libffi/testsuite/libffi.complex/cls_complex_va_float.c
new file mode 100644
index 0000000000..2b17826045
--- /dev/null
+++ b/js/src/ctypes/libffi/testsuite/libffi.complex/cls_complex_va_float.c
@@ -0,0 +1,16 @@
+/* Area: ffi_call, closure_call
+ Purpose: Test complex' passed in variable argument lists.
+ Limitations: none.
+ PR: none.
+ Originator: <vogt@linux.vnet.ibm.com>. */
+
+/* { dg-do run } */
+
+/* Alpha splits _Complex into two arguments. It's illegal to pass
+ float through varargs, so _Complex float goes badly. In sort of
+ gets passed as _Complex double, but the compiler doesn't agree
+ with itself on this issue. */
+/* { dg-do run { xfail alpha*-*-* } } */
+
+#include "complex_defs_float.inc"
+#include "cls_complex_va.inc"