From 6189450318980463cfaf32d2d3ed515eb8dd9dde Mon Sep 17 00:00:00 2001 From: slava Date: Sun, 19 Feb 2006 06:33:34 +0000 Subject: [PATCH] More callback tests --- library/test/compiler/callbacks.factor | 6 ++++++ native/ffi_test.c | 13 +++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/library/test/compiler/callbacks.factor b/library/test/compiler/callbacks.factor index 8e266c117c..efa4e1439d 100644 --- a/library/test/compiler/callbacks.factor +++ b/library/test/compiler/callbacks.factor @@ -103,3 +103,9 @@ FUNCTION: int callback_test_5 void* callback ; compiled FUNCTION: double callback_test_6 void* callback ; compiled [ t ] [ callback-12 callback_test_6 pi = ] unit-test + +: callback-13 "float" { } [ pi ] alien-callback ; compiled + +FUNCTION: float callback_test_7 void* callback ; compiled + +[ t ] [ callback-13 callback_test_7 pi - 0.00001 <= ] unit-test diff --git a/native/ffi_test.c b/native/ffi_test.c index 9ecd5ccac7..9faecb97c4 100644 --- a/native/ffi_test.c +++ b/native/ffi_test.c @@ -129,11 +129,20 @@ int callback_test_5(int (*callback)(void)) return x; } -int callback_test_6(double (*callback)(void)) +float callback_test_6(float (*callback)(void)) { - double x; + float x; printf("callback_test_6 entry\n"); x = callback(); printf("callback_test_6 exit\n"); return x; } + +int callback_test_7(double (*callback)(void)) +{ + double x; + printf("callback_test_7 entry\n"); + x = callback(); + printf("callback_test_7 exit\n"); + return x; +}