- Feb 23, 2013
-
-
Stelian Ionescu authored
-
- May 03, 2012
-
-
Liam M. Healy authored
-
- May 01, 2012
-
-
Luís Oliveira authored
* Instead of a special variable, the parsed struct type instance is now annotated to let the type system know whether we're dealing with deprecated semantics (struct type canonicalizes to :pointer) or not. This approach should hopefully be much less error-prone. * Disabled translations for bare structs. * Fixed and commented out some bogus tests.
-
- Feb 12, 2012
-
-
Liam M. Healy authored
-
- Oct 23, 2011
-
-
Liam M. Healy authored
Added test struct-values.translation.mem-aref.1 that creates an array of two struct-pairs, sets their values, then retrieves both pairs. This test fails: the returned first pair is actually the second, and the returned second pair is garbage. Repeating the same test gives different garbage. (with-foreign-object (p '(:struct struct-pair) 2) (setf (mem-aref p '(:struct struct-pair) 0) '(1 . 2) (mem-aref p '(:struct struct-pair) 1) '(3 . 4)) (values (mem-aref p '(:struct struct-pair) 0) (mem-aref p '(:struct struct-pair) 1))) (3 . 4) (213829 . 0) (with-foreign-object (p '(:struct struct-pair) 2) (setf (mem-aref p '(:struct struct-pair) 0) '(1 . 2) (mem-aref p '(:struct struct-pair) 1) '(3 . 4)) (values (mem-aref p '(:struct struct-pair) 0) (mem-aref p '(:struct struct-pair) 1))) (3 . 4) (425347 . 0)
-
- Oct 22, 2011
-
-
Liam M. Healy authored
Add struct-pair+double recursive structure translation test, which passes when run individually in SBCL.
-
- Oct 21, 2011
-
-
Liam M. Healy authored
Define a structure struct-pair-default-translate and test struct-values-default.translation.mem-ref.1 to test translation from foreign structure to plist. In order to make this work, rewrite mem-ref function to parallel exactly the mem-ref compiler macro, because conditionals were not correct.
-
- Oct 09, 2011
-
-
Liam M. Healy authored
Add :argument-precedence-order to defgenerics translate-into-foreign-memory and translate-to-foreign, and removed the 'cons specializer in the tests.
-
- Oct 06, 2011
-
-
Luís Oliveira authored
-
Luís Oliveira authored
Otherwise the default plist-handling method kicks in.
-
- Sep 18, 2011
-
-
Luís Oliveira authored
-
Luís Oliveira authored
Add respective struct tests, one of which fails. Also, missing union tests.
-
- Sep 11, 2011
-
-
Luís Oliveira authored
-
- Sep 10, 2011
-
-
Luís Oliveira authored
Update STRUCT-VALUES.* tests.
-
Luís Oliveira authored
All fail but STRUCT-VALUES.TRANSLATION.1.
-
- Jul 30, 2007
-
-
Luís Oliveira authored
With tests STRUCT-WRAPPER.[12]
-
- Jul 19, 2007
-
-
Luís Oliveira authored
(initial suggestion and patch courtesy of Stelian Ionescu) - Update test suite to reflect this. - Tested on Allegro and Lispworks. Should work for ECL as well.
-
- Feb 14, 2007
-
-
Luís Oliveira authored
Three new features: - stdcall (defcfun, foreign-funcall(-pointer), defcallback) - namespaces, associate foreigns vars and functions to a specific library. (CLISP and Lispworks only) - close-foreign-library actually works now. Backwards incompatible changes: - define-foreign-library's syntax changed slightly, can't load more than one foreign library per define-foreign-library form anymore. - defcvar's syntax changed. - foreign-funcall can't funcall pointers anymore. Use foreign-funcall-pointer for that.
-
- Sep 05, 2006
-
-
Luís Oliveira authored
- CLISP: special case for :[unsigned-]long-long on darwin/ppc. - SBCL: missing special case for :unsigned-long-long. - New regression test: STRUCT.ALIGNMENT.8.
-
- May 03, 2006
-
-
James Bielman authored
-
- Jan 25, 2006
-
-
Luís Oliveira authored
- change "docs" to be the default target in doc/Makefile. - add Stephen the list of authors in cffi-manual - rename "Index" to "Comprehensive Index" so that Index.html doesn't clash with index.html on OSX. - add varargs example for defcfun - rename features (again) foreign-funcall -> no-foreign-funcall, long-long -> no-long-long.
-
- Jan 07, 2006
-
-
Luís Oliveira authored
- Renamed :cffi/no-foreign-funcall and :cffi/no-long-long to cffi-features:foreign-funcall and cffi-features:long-long respectively (with the opposite meanings of course). - Also new features (in the cffi-features package): darwin, unix, windows, ppc32 and x86. More could be added. The cffi-sys backends are responsible for pushing these features.
-
- Dec 30, 2005
-
-
Luís Oliveira authored
-
- Dec 28, 2005
-
-
Luís Oliveira authored
- New functions: FOREIGN-SLOT-NAMES and FOREIGN-SLOT-OFFSET. - Test FOREIGN-SLOT-NAMES: STRUCT.NAMES - Removed respective TODO item and added a new one: document these.
-
- Dec 27, 2005
-
-
Luís Oliveira authored
- foreign-struct-slot-value-form and foreign-struct-slot-set-form were not quoting the type in the resulting mem-ref form. - struct.5, regression test.
-
- Dec 21, 2005
-
-
Luís Oliveira authored
- Make get-slot-info (and thus foreign-slot-value) work on typedefs to a struct type. - Regression test: STRUCT.4
-
- Dec 12, 2005
-
-
Luís Oliveira authored
- WITH-FOREIGN-OBJECT should eval the type parameter. Fixed this as well as the examples and tests that assumed it wasn't evaluated. - document WITH-FOREIGN-OBJECT in the manual. - removed the pseudo ability to specialize arguments on define-type-translator. That didn't quite work, doh. - removed dead code from cffi-uffi-compat::foreign-type-size specialized on the uffi-array-type. - uffi-compat: parse (:array <type>) as (:array <type> 1) - uffi-compat: reflect the fact that CFFI:WITH-FOREIGN-OBJECT now evaluates the type parameter.
-
- Dec 05, 2005
-
-
Luís Oliveira authored
- Make the foreign-slot-value method on simple-struct-slot apply the adequate type translator. Same thing for the setter. - Test this in STRUCT.STRING.1 and STRUCT.STRING.2
-
- Nov 14, 2005
-
-
Luís Oliveira authored
- Normalize the different implementation features (:powerpc, :macos, :macosx32) into :ppc32 and :darwin. - Force Allegro, CLISP, Lispworks, SBCLto return 8 as :double's alignment on darwin/ppc32 - Correctly calculate alignments for darwin/ppc32's strange ABI. - New tests: STRUCT.ALIGNMENT.[567].
-
- Sep 25, 2005
-
-
Luís Oliveira authored
Bug report and initial bugfixes courtesy of Marco Gidde. - fixed setf expanders for mem-ref, mem-aref, and foreign-slot-value. (also mem-aref was evaluating the type argument twice) - likewise fixed cmucl's, openmcl's and sbcl's setf expanders for %mem-ref. - regression tests: mem-aref.eval-type-x2, mem-ref.nested, mem-aref.nested and struct.nested-setf.
-
- Sep 15, 2005
-
-
Luís Oliveira authored
- Commented out the test STRUCT.ALIGNMENT.5 because an empty struct is not valid standard C and some compilers, namely VC++, won't compile it. - Add -ansi -pedantic to the compiler flags to catch things like this sooner next time.
-
- Sep 07, 2005
-
-
Luís Oliveira authored
- Fixed notice-foreign-structure-definition to handle empty struct definitions correctly. - Added new test for this: STRUCT.ALIGNMENT.5
-
- Sep 02, 2005
-
-
Luís Oliveira authored
- defcvar now works (more) correctly with aggregate types. - struct types now carry alignment information which is now correctly calculated (for unions too) according to the x86 ABI (tested on darwin/ppc too, but should study other ABI docs at some point). - also tail padding is now correctly added to structs, when necessary. (also according to the x86 ABI). - 4 new tests for this struct bug (reported by Wilco Greven). - tweaked tests/bindings.lisp to correctly load the library on Lispworks and to make it more portable across win/nix/etc..
-
- Jun 07, 2005
-
-
Stelian Ionescu authored
-