Custom Query (1030 matches)
Results (166 - 168 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #61 | fixed | CCL::LOAD-RECORD should treat "pointer to VOID" the same way that CCL::PARSE-FOREIGN-TYPE does | ||
| Description |
Inconsistency creates bogus warnings, as discussed on OpenMCL-devel. ? (use-interface-dir :cocoa) #<INTERFACE-DIR ..> ? (ccl::load-record :objc_method) ; read the structure type from database #<FOREIGN-RECORD-TYPE (:STRUCT :OBJC_METHOD ...)> ? (make-load-form *) ; return a form that, when evaluated, will
(CCL::PARSE-FOREIGN-TYPE '(:STRUCT :OBJC_METHOD (:METHOD-NAME ...))) ? (eval *) ; try to reconstruct the foreign type object The fairly new (a few months old ...) typed-pointer mechanism (MAKE-RECORD, RLET ...) compiles into code which references foreign type objects as constants; when those type objects are saved to and loaded from FASL files, the result -should- be "equivalent" to the original; in this case, it should involve a harmless "equivalent" redefinition of the :OBJC_METHOD structure type. CCL::LOAD-RECORD and CCL::PARSE-FOREIGN-TYPE of a record type specifier should do about the same thing (and return "equivalent" results), but they do it in different ways. They differ in at least one way: when reading the encoded representation of "pointer to void"", CCL::LOAD-RECORD actually creates a pointer to NIL (which, somewhat confusingly, prints as "(:* :VOID)"). CCL::PARSE-FOREIGN-TYPE processes the (:* :VOID) and creates a pointer to ... :VOID. CCL::RECORD-FIELDS-MATCH notices this this difference and warns about it (but the difference isn't apparent in the printed representation of the field types in the warning message.) CCL::LOAD-RECORD should really treat "pointer to VOID" the same way that CCL::PARSE-FOREIGN-TYPE does. The fact that it doesn't isn't really significant in any way that I can think of, but the different representation is enough to generate the warning here. You're right in thinking that the warning is merely annoying in this case. |
|||
| #440 | worksforme | CCL:REBUILD-CCL fails on OS X due to untranslated and embedded logical pathnames | ||
| Description |
Attempting to regenerate CCL: (ccl:rebuild-ccl :full t) ==> Rebuilding Clozure Common Lisp using Version 1.3-RC1-r11719M (DarwinX8632)
|
|||
| #1182 | fixed | CFFI, Mac OS X, shared libraries, crash | ||
| Description |
$ cat > main.c int a(){return 15;}D $ gcc -dynamiclib -undefined suppress -flat_namespace -fPIC main.c -o libmain.so Can't close shared library. Error is „Error: Shared library not open: "/usr/lib/system/libsystem_c.dylib"“. (ql:quickload :cffi) (let (( lib
; (ccl:close-shared-library (cffi::foreign-library-handle lib) ; :completely nil)
) ; (cffi:foreign-funcall "a" :int) cffi is last, ccl is git trunk (i386, x64), Mac OS X 1.9, sbcl (for example) is working (and really unload, so it is proof of dynamic libraries unloading possibility under Darwin). It's a very important feature for me. Please, fix it :) |
|||
