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")


On Sat, Jun 19, 2010 at 9:55 PM, Seth Burleigh <> 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)

and the expanded form:

             "((long long (*)(int,long long,int,...))(#0))(#1,#2,#3)"

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:
Ecls-list mailing list

Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)