Skip to content
  1. Feb 25, 2013
  2. Feb 23, 2013
  3. Jan 18, 2013
  4. Nov 04, 2012
    • easye's avatar
      Fix Solaris compilation options. · 90aa613c
      easye authored and Luís Oliveira's avatar Luís Oliveira committed
      The "-fPIC" flag will always be necessary when using GCC-derived compilers as I understand it.
      
      Additionally, Solaris compilation options now unconditionally tries a
      64bit build.  Contemporary Solaris (since Solaris 10), are hybrid
      32/64 bit environments where "uname -m" reports "i86pc".  Whether one
      wants the 32 or 64 bit version of the libraries depends on the type of
      the Lisp implementation doing the loading, which is currently not
      available in the environment in which make(1) is executing.
      90aa613c
    • Jean-Claude Beaudoin's avatar
      Initial port to MKCL · 7dcf14c6
      Jean-Claude Beaudoin authored and Luís Oliveira's avatar Luís Oliveira committed
      7dcf14c6
  5. May 05, 2012
    • Liam M. Healy's avatar
      Tests for cffi-libffi working · 03297bd6
      Liam M. Healy authored
      Fix an error in the recursive call in libffi-type-pointer for
      foreign-struct-type, now parse the slot-type, which is unparsed.  This
      makes FSBV.3 and FSBV.4 succeed.  Removed quote from test FSBV.2; this
      makes FSBV.2 succeed.
      03297bd6
  6. May 04, 2012
  7. May 03, 2012
  8. May 01, 2012
    • Luís Oliveira's avatar
      Rewrite backwards-compatibility mode for bare struct types. · be626770
      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.
      be626770
  9. Apr 14, 2012
  10. Feb 12, 2012
  11. Jan 10, 2012
  12. Jan 07, 2012
  13. Jan 06, 2012
  14. Oct 23, 2011
    • Liam M. Healy's avatar
      Test conversion of array of structs · 68ac7272
      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)
      68ac7272
    • Liam M. Healy's avatar
      Test foreign function calls with recursive structure by value · a227e3be
      Liam M. Healy authored
      Add definition of C functions prodsumpair and doublepairdouble that
      take, and for the latter, return, the structure struct-pair+double
      (struct_pair_double) that has a structure struct-pair (struct_pair) in
      its slot 'pr.  Two tests, fsbv.3 and fsbv.4, have been defined, and
      pass.  Fixed argument to libffi-type-pointer call in
      libffi-type-pointer :around method so that these will work.
      a227e3be
  15. Oct 22, 2011
    • Liam M. Healy's avatar
      Add struct-pair+double recursive structure translation test · 9c2774d1
      Liam M. Healy authored
      Add struct-pair+double recursive structure translation test, which
      passes when run individually in SBCL.
      9c2774d1
    • Liam M. Healy's avatar
      Tests for CFFI-FSBV libffi; fix return value translation in ffcall-body-libffi · b41e37be
      Liam M. Healy authored
      Tests fsbv.1 and fsbv.2 added that test foreign structure call and
      return by value.  This includes the C file and addition to makefile to
      generate the appropriate library, libfsbv.  So that the tests are
      properly defined, load cffi-fsbv and then cffi-tests.  Both tests
      should pass.  The test returning a structure, fsbv.2, exposed an error
      in the form generated by ffcall-body-libffi; because it always
      generated a mem-aref on the return value, the subsequent
      translate-from-foreign was effectively making a double translation.
      Thus, this form generation has been conditionalized so that if
      translate-from-foreign will not be applied (e.g., built-in-type) to
      call mem-aref, otherwise just return the pointer.
      b41e37be
  16. Oct 21, 2011
    • Liam M. Healy's avatar
      Translate structure to plist; fix to mem-ref function · 4064d278
      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.
      4064d278
  17. Oct 09, 2011
  18. Oct 06, 2011
  19. Sep 18, 2011
  20. Sep 11, 2011
  21. Sep 10, 2011
  22. Sep 09, 2011
  23. May 26, 2011
    • Luís Oliveira's avatar
      Workaround for foreign library loading on OSX. · 39e3e521
      Luís Oliveira authored
      As of OSX 10.6.6, loading things like CoreFoundation on something
      other than the initial thread results in a crash.
      
      Implemented workaround on SBCL based on what CCL does upstream. Other
      Lisps might benefit from similar workarounds.
      39e3e521
  24. Apr 17, 2011
  25. Jan 07, 2011
  26. Sep 19, 2010
  27. Sep 09, 2010
  28. Apr 28, 2010