- 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))
-
- Jan 03, 2013
-
-
- Nov 04, 2012
-
-
-
Luís Oliveira authored
This header defines the PRI{fmt}{type} printf format specifiers used by foreign-type-to-printf-specification.
-
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
-
Stelian Ionescu authored
-
- Aug 22, 2010
-
-
Luís Oliveira authored
-
- May 20, 2010
-
-
Stelian Ionescu authored
-
François-René Rideau authored
-
François-René Rideau authored
-
François-René Rideau authored
-
François-René Rideau authored
-
François-René Rideau authored
-
- Feb 19, 2010
-
-
Stelian Ionescu authored
-
- Dec 11, 2009
-
-
Stelian Ionescu authored
-
Stelian Ionescu authored
-
- Aug 23, 2009
-
-
Stelian Ionescu authored
-
- Aug 04, 2009
-
-
Stelian Ionescu authored
-
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
-