1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-08 21:32:26 +02:00
guile/module/system
Ludovic Courtès 3318635666 Add `procedure->pointer' to the FFI.
* libguile/foreign.c (make_cif): New procedure, with code formerly in
  `scm_make_foreign_function'.
  (scm_make_foreign_function): Use it.
  (invoke_closure, scm_procedure_to_pointer)[FFI_CLOSURES]: New
  functions.

* libguile/foreign.h (scm_procedure_to_pointer): New declaration.

* module/system/foreign.scm: Export `procedure->pointer' when available.

* test-suite/standalone/test-ffi (f-callback-1, f-callback-2): New
  procedures and related tests.

* test-suite/standalone/test-ffi-lib.c (test_ffi_callback_1,
  test_ffi_callback_2): New functions.

* test-suite/tests/foreign.test ("procedure->pointer"): New test prefix.

* doc/ref/api-foreign.texi (Dynamic FFI): Document `procedure->pointer'.
2010-09-03 15:26:37 +02:00
..
base Check for go/scm mtime ordering rather than equality. 2010-07-26 19:38:52 +02:00
repl Fix typos. 2010-09-02 00:04:39 +02:00
vm Remove unneeded #:use-module. 2010-08-27 18:59:42 +02:00
foreign.scm Add `procedure->pointer' to the FFI. 2010-09-03 15:26:37 +02:00
xref.scm use nested-ref-module in (system xref) 2010-04-24 17:42:00 +02:00