- Feb 21, 2013
-
-
- Jan 21, 2013
-
-
Use C-WRITE instead of C-PRINT-SYMBOL when emitting types to deal with the fact that some types are more than just one symbol now. e.g. 'foo vs '(:struct foo) and '(:pointer (:struct foo)) Fixes: Bug 1065432
-
- Jan 06, 2013
-
-
This means that forms such as the following are allowed: (cstruct foo "struct foo" (mybar "mybar" :type (:struct bar)))
-
This allows % to be safely used in lisp symbol names which pass through the groveler, such as the following: (cvar ("errno" %errno) :int)
-
This means that integer size and signedness is determined by the groveler in cases like this: (cstruct autotype "struct mystruct" (myint "myint" :type :auto) (myarray "myarray" :type :auto :count :auto))
-
The :count :auto logic assumed the struct member was an array which filled the remainder of the struct, and would generate incorrect cffi cstruct forms when any other struct members followed one declared :count :auto. The following C struct definition and groveler cstruct form demonstrate this: struct charbuf { char three_chars[3]; int clobbered_int }; (cstruct charbuf "struct charbuf" (three-chars "three_chars" :type :char :count :auto) (clobbered-int "clobbered_int" :type :int))
-
- Nov 04, 2012
-
-
The BITFIELD grovel syntax always used %i to print the foreign values. But when the base type is larger than an int, the resulting values will be incorrect. We introduce the FOREIGN-TYPE-TO-PRINTF-SPECIFICATION function which returns a printf string containing a single format specification for a foreign type, and use it in the BITFIELD grovel syntax.
-
-
On FreeBSD, GCC only looks in directories of the base system (/usr/include). We need to manually add /usr/local/include if we want to be able to bind libraries installed by packages or ports.
-
- Nov 10, 2011
-
-
Luís Oliveira authored
We were previously using :LONG, but that does not match the machine word size on some platforms, namely Windows. Bug reported by Anton Kovalenko.
-
- Oct 29, 2011
-
-
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.
-
- Sep 17, 2011
-
-
Luís Oliveira authored
Patch courtesy of pinterface. Fixes LP bug #852192.
-
- Feb 11, 2011
-
-
Desmond O. Chang authored
In grovel file, write: (bitfield flags-ctype ((:flag-a "FLAG_A") :documentation "DOCU_A") ((:flag-b "FLAG_B") :documentation "DOCU_B") ((:flag-c "FLAG_C") :documentation "DOCU_C")) And if the C header file has: #define FLAG_A 1 #define FLAG_B 2 #define FLAG_C 4 This will generate: (cffi:defbitfield (flags-ctype) (:flag-a 1) (:flag-b 2) (:flag-c 4))
-
- Oct 24, 2010
-
-
Stelian Ionescu authored
-
- Oct 09, 2010
-
-
Stelian Ionescu authored
-
- Sep 19, 2010
-
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
Stelian Ionescu authored
Don't use -fPIC on those systems
-
- Aug 22, 2010
-
-
Luís Oliveira authored
-
- May 20, 2010
-
-
François-René Rideau authored
-
François-René Rideau authored
-
François-René Rideau authored
-
- Dec 11, 2009
-
-
Stelian Ionescu authored
-
- Aug 23, 2009
-
-
Stelian Ionescu authored
-
- Aug 04, 2009
-
-
Stelian Ionescu authored
-
- Jul 02, 2009
-
-
Luís Oliveira authored
-
- Jun 25, 2009
-
-
Stelian Ionescu authored
-
- Jun 22, 2009
-
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
- Jun 15, 2009
-
-
Luís Oliveira authored
We already do look at CC in GROVEL::CC-COMPILE-AND-LINK.
-
Luís Oliveira authored
-
- Jun 08, 2009
-
-
Stelian Ionescu authored
The CONSTANT groveler form now takes an additional keyword argument TYPE, which defaults to INTEGER. In order to grovel floats, DOUBLE-FLOAT must be used.
-