Skip to content
  1. Nov 23, 2012
  2. Nov 12, 2012
    • Liam M. Healy's avatar
      Restore default type class name · 1b88e331
      Liam M. Healy authored
      In defcstruct, there was a line, removed in be626770, that set a
      default type class name by appending "-TCLASS".  Without this line,
      the class will be directly FOREIGN-STRUCT-TYPE instead of a subclass.
      This is acceptable if the translate methods are not going to be
      redefined, but if they are, any change will apply to all instances
      (including instances of subclasses of other structures, which may call
      these with call-next-method).  In fact, there is a check in
      define-translation-method to prevent redefinition with that macro, but
      of course a defmethod would be just as bad.
      
      While in principal one can specify the :class argument, this isn't
      always possible, for example, if the structure was made by groveling.
      Even so, it is a bad idea to make a default which has the potential
      for this kind of harm.
      
      This fix now permits GSLL to compile and load correctly.
      1b88e331
  3. Nov 04, 2012
    • easye's avatar
      cffi-abcl-20121028a: changes to cffi_0.10.7.1 Quicklisp 2012-10-13 for ABCL. · bd316af7
      easye authored and Luís Oliveira's avatar Luís Oliveira committed
      The interactive restart when reloading callbacks is no longer needed.
      
      A callable function pointer is now returned by CALLBACK and
      GET-CALLBACK, which wasn't the case previously.
      
      Now down to 25 failing tests!
      
      Callbacks "automacro-ly" now get a translation layer to convert back
      from native types to ones which ABCL expects.  This translation is
      currently a work in progress, as not all cases are covered correctly.
      
      (Stas Boukarev) MAKE-FUNCTION-POINTER typo.
      
      Refactored to remove compile warnings about MAKE-IMMEDIATE-OBJECT.
      
      CFFI-SYS::%LOAD-FOREIGN-LIBRARY tries harder to figure out which
      library to load.
      
      Docstrings added.
      bd316af7
    • 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
  4. Jun 07, 2012
  5. May 06, 2012
  6. 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
  7. Apr 30, 2012
  8. Apr 19, 2012
  9. Apr 14, 2012
  10. Apr 12, 2012
  11. Mar 25, 2012
    • Liam M. Healy's avatar
      New function expand-to-foreign-dyn-indirect · c5aea35f
      Liam M. Healy authored
      New function expand-to-foreign-dyn-indirect split out from
      expand-to-foreign-dyn, and the latter function returned to its
      definition as given in the tip of master, ab10be4f.  This function
      is used if the optional argument 'indirect to translate-objects is T,
      which in turn the case when functions are calling or return structures
      by value.
      c5aea35f
  12. Mar 23, 2012
  13. Mar 16, 2012
  14. Mar 11, 2012
  15. Mar 10, 2012
  16. Mar 01, 2012
    • Liam M. Healy's avatar
      Define mem-aptr; untested · 53ce2e07
      Liam M. Healy authored
      New function mem-aptr will return the pointer to the requested element
      of the array, and add documentation.  It is untested.
      53ce2e07
  17. Feb 05, 2012
  18. Feb 04, 2012
    • Liam M. Healy's avatar
      Use hash table for libffi-type-pointer · 95052e59
      Liam M. Healy authored
      Use hash table for libffi-type-pointer instead of a class slot, and
      simplify #'libffi-type-pointer methods.  Remove obsolete package
      definition file.  Tests in cffi-tests not run due to error in load,
      but GSLL tests pass.
      95052e59
  19. Jan 29, 2012
  20. Jan 26, 2012
  21. Jan 13, 2012
  22. Jan 10, 2012
  23. Nov 24, 2011
  24. Nov 16, 2011
  25. Nov 13, 2011
    • Liam M. Healy's avatar
      Additional methods for translate-into-foreign-memory and expand-to-foreign-dyn · 4108e4f9
      Liam M. Healy authored
      In order that structures called by value work correctly (in
      cffi-fsbv), add methods:
      translate-into-foreign-memory 
        foreign-built-in-type
        enhanced-typedef
      expand-to-foreign-dyn
        foreign-built-in-type
        foreign-pointer-type
      4108e4f9
    • Liam M. Healy's avatar
      Indirecting foreign objects for libffi · 36694971
      Liam M. Healy authored
      The generic function translate-into-foreign-memory has been slightly
      repurposed and expanded to provide indirection of enums and pointers.
      The function translate-objects and generic function
      expand-to-foreign-dyn have a new argument, 'indirect, that when set,
      expand to with-foreign-object and translate-into-foreign-memory
      instead of translate-to-foreign, unwind-protect, and
      free-translated-object.  This insures that all arguments to functions
      passed to libffi are indirected one level, as is required.
      36694971
  26. Nov 10, 2011
  27. Oct 31, 2011
    • Liam M. Healy's avatar
      Use structure specification (:struct foo) in defcstruct expansion · 153bbe2e
      Liam M. Healy authored
      Modify #'generate-struct-accessors so that when generating accessors,
      the structure is referred to with the (:struct foo) syntax, rather
      than just 'foo.  While such a reference usually generates only a style
      warning, if parse-deprecated-struct-type hasn't been called yet, as is
      the case for slot defintions in the defcstruct expansion, it results
      in an error.  This problem prevented shuffletron from compiling.
      153bbe2e
  28. Oct 29, 2011
    • Liam M. Healy's avatar
      Relocate default type class name in defcfun · bb9a8ba8
      Liam M. Healy authored
      Moved the generation of a default type class name (appending '-tclass)
      in defcfun so that notice-foreign-struct-definition gets the class
      name in 'options.  Use the proper :struct form for structure.
      bb9a8ba8
    • Liam M. Healy's avatar
      Groveler fixes for new structure syntax · a185898a
      Liam M. Healy authored
      Two fixes related to the change to the new syntax (:struct foo):
      1) For size-of-* defconstant generation, emit with :struct.
      2) Parse name and size in defcunion, not just leaving that to
      notice-foreign-union-definition, because define-parse-method needs a
      clean name.
      
      Osicat now compiles cleanly.
      a185898a
  29. Oct 26, 2011
    • Liam M. Healy's avatar
      Default type class, define-translation-method · ab9cdb38
      Liam M. Healy authored
      Make a default :class argument in defcstruct which is the structure
      name and '-tclass concatenated.  New macro define-translation-method
      for convenience to define translation methods.  It's a first cut, not
      quite how I'd like, and untested.
      ab9cdb38