Custom Query (1030 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


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 Gary Byers Andrew Shalit
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

; return something "equivalent" to its argument. ; (This is necessary when certain types of objects ; are referenced as constants in code compiled ; by COMPILE-FILE.)

(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 R. Matthew Emerson David McClain
Description

Attempting to regenerate CCL:

(ccl:rebuild-ccl :full t)

==> Rebuilding Clozure Common Lisp using Version 1.3-RC1-r11719M (DarwinX8632)

Error: Invalid pathname : "ccl:". While executing: CWD, in process listener(1). Type :POP to abort, :R for a list of available restarts. Type :? for other options.

#1182 fixed CFFI, Mac OS X, shared libraries, crash veritas
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

(cffi:load-foreign-library "libmain.so" :search-path "/private/tmp/shared/") ))

; (ccl:close-shared-library (cffi::foreign-library-handle lib) ; :completely nil)

(cffi:close-foreign-library lib)

)

; (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 :)

Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.