]> gitweb.factorcode.org Git - factor.git/blobdiff - vm/ffi_test.h
Put brackets around ipv6 addresses in `inet6 present`
[factor.git] / vm / ffi_test.h
index 21d86ab0576002d5f0a2d0697cccf794497faafd..0a78885f03de9df71bb4adaa61a9b839258e595f 100644 (file)
@@ -11,8 +11,6 @@
 
 #if defined(__APPLE__)
 #define FACTOR_EXPORT __attribute__((visibility("default")))
-#elif defined(WIN32) || defined(_MSC_VER)
-#define FACTOR_EXPORT __declspec(dllexport)
 #else
 #define FACTOR_EXPORT
 #endif
@@ -163,7 +161,7 @@ struct test_struct_16 {
 
 FACTOR_EXPORT struct test_struct_16 ffi_test_43(float x, int a);
 
-FACTOR_EXPORT struct test_struct_14 ffi_test_44();
+FACTOR_EXPORT struct test_struct_14 ffi_test_44(void);
 
 /* C99 features */
 #ifndef _MSC_VER
@@ -203,9 +201,70 @@ FACTOR_EXPORT FACTOR_FASTCALL(struct test_struct_11)
 FACTOR_EXPORT signed long long ffi_test_59(signed long long x);
 FACTOR_EXPORT unsigned long long ffi_test_60(unsigned long long x);
 
+/* C99 features */
+#ifndef _MSC_VER
+
+#include <stdbool.h>
+
 struct bool_and_ptr {
     bool b;
     void* ptr;
 };
 
-FACTOR_EXPORT struct bool_and_ptr ffi_test_61(unsigned long long x);
+FACTOR_EXPORT struct bool_and_ptr ffi_test_61(void);
+
+#endif
+
+struct uint_pair {
+       unsigned int a;
+       unsigned int b;
+};
+
+FACTOR_EXPORT struct uint_pair ffi_test_62(void);
+
+struct ulonglong_pair {
+       unsigned long long a;
+       unsigned long long b;
+};
+
+FACTOR_EXPORT struct ulonglong_pair ffi_test_63(void);
+
+FACTOR_EXPORT int ffi_test_64(int n, ...);
+FACTOR_EXPORT double ffi_test_65(int n, ...);
+
+
+struct test_struct_66 {
+  unsigned long mem1;
+  unsigned long mem2;
+};
+
+struct test_struct_68 {
+  unsigned long mem1;
+  unsigned long mem2;
+  unsigned long mem3;  
+};
+
+struct test_struct_69 {
+  float         mem1;
+  unsigned long mem2;
+  unsigned long mem3;  
+};
+
+FACTOR_EXPORT unsigned long ffi_test_66(unsigned long a, unsigned long b, unsigned long c,
+                                        struct test_struct_66 d, struct test_struct_66 e);
+
+FACTOR_EXPORT unsigned long ffi_test_67(unsigned long a, unsigned long b, unsigned long c,
+                                        struct test_struct_66 d, struct test_struct_66 e, unsigned long f);
+
+FACTOR_EXPORT unsigned long ffi_test_68(unsigned long a, unsigned long b, unsigned long c,
+                                        struct test_struct_66 d, struct test_struct_68 e, struct test_struct_66 f);
+
+FACTOR_EXPORT unsigned long ffi_test_69(unsigned long a, unsigned long b, unsigned long c,
+                                        struct test_struct_66 d, struct test_struct_69 e, struct test_struct_66 f);
+
+FACTOR_EXPORT unsigned long ffi_test_70(struct test_struct_68 a, struct test_struct_68 b, struct test_struct_66 c);
+
+
+FACTOR_EXPORT void* bug1021_test_1(void* x, int y);
+FACTOR_EXPORT int bug1021_test_2(int x, char* y, void *z);
+FACTOR_EXPORT void* bug1021_test_3(int x);