[Ecls-list] long-long
Juan Jose Garcia-Ripoll
juanjose.garciaripoll at googlemail.com
Thu Jul 1 20:33:29 UTC 2010
Ok, sorry, the previous email was wrong: I was looking at a too old version
of CFFI. In the recent versions the code looks fine
#+long-long
(:long-long :long-long "long long")
#+long-long
(:unsigned-long-long :unsigned-long-long "unsigned long long")
but there is a line at the beginning disabling long-long
(pushnew 'no-long-long *features*)
I will investigate this further.
Juanjo
On Thu, Jul 1, 2010 at 10:31 PM, Juan Jose Garcia-Ripoll <
juanjose.garciaripoll at googlemail.com> wrote:
> Sorry I did not answer this question before. I inspected your configuration
> logs and ecl_long_long_t is defined. Thus :LONG-LONG should be in
> *features*. If :LONG-LONG is in *features* then the compiler must support
> this type and ECL indeed does. However, CFFI might not. Indeed if you look
> at CFFI's sources you will find this:
>
> #+x86-64 (:long-long :long "long long")
> #+x86-64 (:unsigned-long-long :unsigned-long "unsigned long long")
>
> which should actually read
>
> #+:long-long (:long-long :long-long "long long")
> #+:long-long (:unsigned-long-long :unsigned-long-long "unsigned long
> long")
>
> Juanjo
>
> On Sat, Jun 19, 2010 at 9:55 PM, Seth Burleigh <seth at tewebs.com> wrote:
>
>> I am attempting to use long-long (in iolib, it uses it).
>>
>> heres the code that produces the error:
>> (macroexpand-1 '(CFFI-SYS:%FOREIGN-FUNCALL "lseek64"
>> (:INT 1 :long-long 2
>> :INT 1 :long-long)
>> :CONVENTION
>> :CDECL
>> :LIBRARY
>> :DEFAULT))
>>
>> and the expanded form:
>>
>> (FFI:C-INLINE ((CFFI-SYS:%FOREIGN-SYMBOL-POINTER "lseek64" NIL) 1 2 1)
>> (:POINTER-VOID :INT :LONG-LONG :INT)
>> :LONG-LONG
>> "((long long (*)(int,long long,int,...))(#0))(#1,#2,#3)"
>> :ONE-LINER
>> T
>> :SIDE-EFFECTS
>> T)
>>
>>
>> I dont know how ecl determines if long-long is supported, but gcc
>> definitely supports long-long and im just getting the error
>>
>> ;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=3
>> ;;;
>> ;;; Error:
>> ;;; * Unknown representation type :LONG-LONG
>>
>>
>> Ive looked in the configure script and have found flags to turn on
>> long-float, uint64_t, but no long-long.
>>
>>
>>
>> ------------------------------------------------------------------------------
>> ThinkGeek and WIRED's GeekDad team up for the Ultimate
>> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
>> lucky parental unit. See the prize list and enter to win:
>> http://p.sf.net/sfu/thinkgeek-promo
>> _______________________________________________
>> Ecls-list mailing list
>> Ecls-list at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/ecls-list
>>
>
>
>
> --
> Instituto de Física Fundamental, CSIC
> c/ Serrano, 113b, Madrid 28006 (Spain)
> http://juanjose.garciaripoll.googlepages.com
>
--
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/20100701/0483dcbf/attachment.html>
More information about the ecl-devel
mailing list