- Feb 03, 2022
-
-
MrLightningBolt authored
This allows the groveler to correctly handle cstruct definitions that include arrays
-
-
- Jan 31, 2022
-
-
Stas Boukarev authored
Where variadic arguments are not just passed normally. Closes #297
-
Attila Lendvai authored
-
- Jan 07, 2022
-
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
- Jan 03, 2022
-
-
Stelian Ionescu authored
-
- Dec 13, 2021
-
-
Stelian Ionescu authored
* build all branches * test more implementations (but only SBCL and CCL are mandatory) * libffi-dev is now installed by cl-travis * disable TEST-STATIC-PROGRAM because it fails due to sbcl.o not being build with -fPIE * print unexpected failures at the end of the test run
-
- Dec 08, 2021
-
-
Stelian Ionescu authored
-
- Dec 05, 2021
-
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
- Dec 01, 2021
-
-
I was tempted to load libffi.so and libffi32.so, to make this future-proof, but I didn't dare to be so bold :-)
-
- Sep 22, 2021
-
-
Luke Gorrie authored
Report a bad package designator in (IN-PACKAGE :FOO) as The name :FOO does not designate any package. instead of The value NIL is not of type PACKAGE
-
- Aug 19, 2021
-
-
stacksmith authored
It remains compatible with existing code, but accepts additional formats for bindings: 1) (name slot-name) - just like WITH-SLOTS; 2) (name :pointer slot-name) - a pointer version.
-
- May 15, 2021
-
-
jathd authored
When a foreign function is not found by find-foreign-function (either because the function doesn't exist, or because the library is not loaded), nil is returned, so %%foreign-funcall is called with nil as a function, which ultimately leads to a null-pointer exception. Better to signal an error on the lisp side.
-
- Apr 14, 2021
-
-
Attila Lendvai authored
the process is: foo.h -> foo.spec -> foo.lisp foo.spec -> foo.lisp works as expected, but foo.h -> foo.spec is only executed when the spec file is entirely missing.
-
Attila Lendvai authored
-
- Apr 03, 2021
-
-
Luís Oliveira authored
This reverts commit b3e6b3f2. Osicat fails to compile. lp#1922428
-
- Mar 29, 2021
-
- Feb 27, 2021
-
-
Cyrus Harmon authored
* This is the (current) default path for arm64 homebrew libraries. Try this before the rest.
-
- Feb 01, 2021
-
-
Stuart Dilts authored
defun-like semantics were meant for defcallback, but it's no longer used there. This allows for empty structure/union definitions, e.g. (defcstruct foo "empty").
-
- Jan 21, 2021
-
-
ellisvelo authored
In Mac OS Big Sur, system dynamic libraries are no longer present on the filesystem and reside in the dynamic linker cache. This change searches for the framework directory instead of the dynamic library underneath the framework directory. https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes Fixes lp#1906982.
-
- Jan 01, 2021
-
-
Add specialized lookup for the default table case. This should be faster that the previous EQUAL hash table scheme.
-
- Dec 30, 2020
-
-
Use sb-thread::*initial-thread*
-
- Oct 15, 2020
-
-
This includes size, ssize, ptrdiff, offset, intptr, and uintptr
-
- Sep 20, 2020
-
-
Luís Oliveira authored
Converting types at runtime thwarts all of CFFI's compiler macros. CFFI-UFFI-COMPAT:ALLOCATE-FOREIGN-OBJECT already did this; propagate the same approach to other similar places.
-
Luís Oliveira authored
Use a list rather than a hash-table to keep track of types seen. Although this pessimizes the time complexity of this algorithm from O(n) to O(n^2), using an hash-table only becomes faster once we reach n=250 and using a list reduces consing by an order of magnitude. For the common case where the typedef chain is only one or two types long, using a list is also one or two orders of magnitude faster. This makes slow code paths that call PARSE-TYPE at runtime a bit less painful. Benchmark: (defun make-typedef-chain (size) (if (zerop size) :int (eval `(cffi:defctype ,(make-symbol (format nil "TYPEDEF-~a" size)) ,(make-typedef-chain (1- size)))))) (let ((chain (cffi::parse-type (make-typedef-chain 2)))) (funcall (compile nil (lambda () (time (loop repeat 100 do (cffi::check-for-typedef-cycles chain)))))))
-
- Sep 12, 2020
-
-
Attila Lendvai authored
-
- Aug 10, 2020
-
-
Luís Oliveira authored
Previously assumed the presence of the :ALIEN-CALLBACK-CONVENTIONS feature which was only ever present in the Anton Kovalenko's sbcl-win32-threads fork. Fixes lp issue #1890671 reported by Matthew Stickney.
-
- Jul 08, 2020
-
- Jul 04, 2020
-
-
Stelian Ionescu authored
-
- Jun 22, 2020
-
-
Stelian Ionescu authored
-
- Jun 02, 2020
-
-
Mark authored
In abcl-1.7.0, CL:MAKE-ARRAY is able create and share malloc()d memory for java.nio.ByteVector allocated by JNA via use of the :NIO-BUFFER argument. Whether this feature is present in the current implementation is conditionalized on the presence :NIO in CL:*FEATURES*. We retain the old behavior of copying memory for WITH-POINTER-TO-VECTOR-DATA when passed a non-shareable byte vector as a plausible fallback strategy.
-
- May 28, 2020
-
-
Luís Oliveira authored
-
- May 27, 2020
-
-
Luís Oliveira authored
-
Florian Margaine authored
For example: ```lisp (defsystem "foo" :components ((:c-file "foo" :cflags ("-lz" "-lm")))) ``` The slot is already there, but isn't actually used. It's useful when custom compilation options need to be passed. Additionally, the cflags slot is removed from o-file, as it does not make sense there. Nor is it used, anyway.
-
- May 26, 2020
-
-
Florian Margaine authored
-
- May 18, 2020
-
-
Stelian Ionescu authored
* add option :CANARY to DEFINE-FOREIGN-LIBRARY: a foreign symbol unique to the library If that symbol is found in the current image before the first attempt to load the library, the latter is assumed to be statically linked and LOAD-FOREIGN-LIBRARY only marks the load state as :STATIC before returning. * add new slot LOAD-STATE which, together with HANDLE, tracks the library | library state | LOAD-STATE | HANDLE | |-------------------|------------|---------| | not loaded | NIL | NIL | | statically linked | :STATIC | NIL | | dlopen()'d | :EXTERNAL | non-NIL |
-
- May 17, 2020
-
-
Francois-Rene Rideau authored
-
- May 13, 2020
-
-
Luís Oliveira authored
-