Grovelling CONSTANTENUM ignores BASE-TYPE
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
CFFI |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
The groveller ignores the BASE-TYPE argument for CONSTANTENUM forms.
This can be seen with the following example.
Create the following grovel file.
;; Grovelling for INADDR_BROADCAST
(in-package "CL-USER")
(include "netinet/in.h")
(constantenum (example-signed :base-type :int)
(
(constantenum (example-unsigned :base-type :unsigned-int)
(
Process the above file using CFFI-GROVEL:
(cl:in-package #:CL-USER)
(cffi:defcenum (example-signed :int)
(
(cffi:defcenum (example-unsigned :unsigned-int)
(
The expected output should be
(cl:in-package #:CL-USER)
(cffi:defcenum (example-signed :int)
(
(cffi:defcenum (example-unsigned :unsigned-int)
(
since the value of INADDR_BROADCAST is defined in netinet/in.h as (u_int32_
This occurs with version 0.14.0 of CFFI.
Changed in cffi: | |
status: | Fix Committed → Fix Released |
On Sat, Nov 22, 2014 at 3:00 AM, Mark Cox <email address hidden> wrote:
> The groveller ignores the BASE-TYPE argument for CONSTANTENUM forms.
Stelian, is this one of those cases where the groveller needs C++?