[Ecls-list] BUG: SEGMENTATION-VIOLATION in code with DEFTYPE unicode char

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Fri Nov 18 16:33:12 UTC 2011


On Sun, Nov 13, 2011 at 7:18 PM, Eric Marsden <eric.marsden at free.fr> wrote:

> ,----
> | > (disassemble '(lambda (p1 p2) (declare (optimize (safety 0)) (type
> (member #\U00FE) p2)) (equalp p1 p2)))
> |
> | ;;; Compiling (DEFUN C::GAZONK ...).
> | ;;; Emitting code for C::GAZONK.
> | /*    function definition for GAZONK                                */
> | /*    optimize speed 3, debug 0, space 0, safety 0                  */
> | static cl_object L1c__gazonk(cl_object V1, cl_object V2)
> | { VT2 VLEX2 CLSR2 STCK2
> |       const cl_env_ptr cl_env_copy = ecl_process_env();
> |       cl_object value0;
> |       char V3;
> |       V3= CHAR_CODE(V2);
>

Here is the problem: "char" in Linux is "signed char", while in OS X it
seems to default to "unsigned char". I have changed ECL so that BASE-CHAR
objects are unboxed using the explicit C type "unsigned char" to avoid such
ambiguities. ASA I get to a non-firewalled computer I will upload the fix.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20111118/2e355b84/attachment.html>


More information about the ecl-devel mailing list