Giter Club home page Giter Club logo

femtolisp's People

Contributors

catull avatar cryptorick avatar dcurrie avatar ismael-vc avatar jeffbezanson avatar jniewerth avatar jturner avatar pouar avatar schani avatar the-real-neil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

femtolisp's Issues

Clarify location of implementation of map

The readme claims performance despite map not being a built-in, but a git-blame shows that map has been implemented by default as a built-in via the fl_map1 function since 2010, two years before the readme was written. Thus the readme is misleading.

can you give an example of how to call the pretty print procedure

Apolologies for this dumb question,

But I can also see that fl_print() looks like will do a pretty print on a bound symbol.

(define (sq n) (* n n))

fn("7000r1||T2;" [] sq)

(pretty-print sq)
eval: variable pretty-print has no value

0 (lambda)

;;; I can see that pretty-print is defined as write in aliases.scm

(write sq)

fn("7000r1||T2;" [] sq)#fn("7000r1||T2;" [] sq)

I would expect pretty-printing would output something like:

(define (sq n)
(* n n))

;;If I do
(write '(define (sq n) (* n n)) )

;; I get

(define (sq n)
(* n n))(define (sq n)
(* n n))

;; but I get it printed twice.

How do I pretty print a defined procedure ?

Thanks

bootstrap.sh fail

Can anyone tell me how I'm mistreating the bootstrap.sh shell script?

me@machine:/code/femtolisp$ git reset --hard && ./bootstrap.sh 2>&1 | tee bootstrap.sh.out
HEAD is now at ee807a2 fix a bug in map
Creating stage 0 boot file...
./bootstrap.sh: 7: ./bootstrap.sh: ./flisp: not found
Creating stage 1 boot file...
./bootstrap.sh: 11: ./bootstrap.sh: ./flisp: not found
Testing...
cd tests && ../flisp unittest.lsp
/bin/sh: 1: ../flisp: not found
make: *** [test] Error 127
me@machine:
/code/femtolisp$

Negating most-negative-fixnum doesn't

    > (- -2305843009213693952)
    -2305843009213693952

I fixed this in my copy of flisp.c with

--- flisp.c
+++ flisp.c
@@ -1633,12 +1633,17 @@
             POPN(n);
             PUSH(v);
             NEXT_OP;
         OP(OP_NEG)
         do_neg:
-            if (isfixnum(Stack[SP-1]))
-                Stack[SP-1] = fixnum(-numval(Stack[SP-1]));
+            if (isfixnum(Stack[SP-1])) {
+                s = fixnum(-numval(Stack[SP-1]));
+                if (__unlikely(s == Stack[SP-1]))
+                  Stack[SP-1] = mk_ptrdiff(-numval(Stack[SP-1])); // negate overflows
+                else
+                  Stack[SP-1] = s;
+            }
             else
                 Stack[SP-1] = fl_neg(Stack[SP-1]);
             NEXT_OP;
         OP(OP_SUB2)
         do_sub2:

and similarly in cvalues.c with

--- cvalues.c
+++ cvalues.c
@@ -1059,11 +1059,15 @@
 }
 
 static value_t fl_neg(value_t n)
 {
     if (isfixnum(n)) {
-        return fixnum(-numval(n));
+        fixnum_t s = fixnum(-numval(n));
+        if (__unlikely(s == n))
+            return mk_ptrdiff(-numval(n)); // negate overflows
+        else
+            return s;
     }
     else if (iscprim(n)) {
         cprim_t *cp = (cprim_t*)ptr(n);
         void *a = cp_data(cp);
         uint32_t ui32;

parsetime should initialize timezone

Bug:

> (time.string (time.fromstring "Mon Nov 14 20:37:36 2016"))
"Mon Nov 14 19:37:36 2016"

I fixed this in my copy of timefuncs.c with:

--- llt/timefuncs.c
+++ llt/timefuncs.c
@@ -116,10 +116,12 @@
     time_t t;
     struct tm tm;
 
     res = strptime(str, fmt, &tm);
     if (res != NULL) {
+        tm.tm_isdst = -1; /* Not set by strptime(); tells mktime() to determine
+                            whether daylight saving time is in effect */
         t = mktime(&tm);
         if (t == ((time_t)-1))
             return -1;
         return (double)t;
     }

Question on C interoperability

Hi,

I am looking for a small LISP-like language to embed into a C++ project and am interested
whether femtolisp fits the bill. My requirements specifically are these

  • Define opaque objects
  • Call C function on these objects

For objects, void * would be enough, but if I can make these proper citizens, it would
be much appreciated.

Is there documentation/examples/advice on how to do this? I know of the use in Julia, but
there no new datatypes are defined.

I also found the related cvalue interface, and can define some values with that, but how to
use struct (define struct, access members) and functions?

Cheers,
Thorsten

Inaccurate technical descriptions

The scope of "lisp" is too vague, making some statements like FUD.

These changes have no effect except incompatibility, and often make the language worse because the new design was not as carefully thought out and has not stood the test of time.

There is indeed no effect, because "lisp" has been with incompatibility all around for decades. Which specification should count here?

For example, how does it help to remove backquote? One design changes the syntax of quote. Some systems disallow dotted lists. (I've seen all three of these.)

Since this is the place of an implementation of "scheme-like", maybe some official arguments would make the concerns more explicit. (Alternatively, see here and look for "The feature list in the 2009 Steering Committee Position Statement" for the summary.) In short, none of statements about the features seems consistent with the descriptions here - even Scheme does not attribute these features to being compatible. So why changes making "incompatibility" significant for a broader set of the dialects?

What's the point? Implementers wave the banner of "simplicity", yet wedge in all kinds of weird implicit behaviors and extra evaluation rules.

I'd also argue that at least some of the changes are meaningful despite to the sense of implementations. For example, PicoLisp changes quote to be the replacement of lambda abstraction constructor. The change is significant but less important than the fact of missing of lambda. (I don't like the change. There are alternatives, e.g. they can rename quote to lambda - but it would probably lead to more serious confusion.) I find no sufficient proof to show it "make the language worse", nor "has not stood the test of time". Actually, the design shares the spirit of so-called FEXPRs in ancient lisp dialects, though FEXPRs have been extinct in most popular standardized dialects like Common Lisp and Scheme. The quote special form itself can also be expressed via $vau operator in the Kernel programming language which has a strictly simpler evaluation algorithm than Scheme's, so "extra evaluation rules" is false. (Actually, in Kernel there is no need to backquote or quote things. The simplicity in the language design make it somewhat nearer to the original purpose of the Scheme language than current RnRS Scheme dialects, even though replacing hygienic macros by $vau and direct eval style rules Kernel out of those dialects.)

Compiler leaking globals when (define var) not direct member of a lambda

The following code leaks a as a global:

(define (func)
   (if #t 
             (define a 5)
   ))

I could fix this by duplicating get-defined-vars from compiler.lsp (was used by expander + compiler) and changing get-defined-vars for the compiler like this:

(define (get-defined-vars expr)
  (letrec ((get-defined-vars-
            (lambda (expr)
              (cond
               ((atom? expr) ())
               ((and
                 (eq? (car expr) 'define)
                 (pair? (cdr expr))
                 )
                (or
                 (and
                  (symbol? (cadr expr))
                  (list* (cadr expr) (get-defined-vars- (caddr expr )))
                  )
                 (and (pair? (cadr expr))
                      (symbol? (caadr expr))
                      (list (caadr expr)))
                 ()
                 )
                )
               ((not (member (car expr) (list 'lambda 'trycatch )))
                (apply nconc (map get-defined-vars- (cdr expr))))
               (else ())))))
    (delete-duplicates (get-defined-vars- expr))))

Before that change the scanner did only descent into "begin" blocks but not deeper.

>= and <= do not work with strings

The > and < predicates work for string, but <= and >= don't. As a consequence, string>=? and string<=? that are defined in aliases.scm don't work correctly.

; _
; |_ _ _ |_ _ | . _ _
; | (-||||()|__|)|)
;-------------------|--------------------------

(> "a" "b")

f

(< "a" "b")

t

(>= "a" "b")
type error: =: expected number, got "a"

0 (>= "a" "b")

(load "aliases.scm")

fn("9000r2|e0|}32}T2x;" [div] mod)

(string>=? "a" "a")
type error: =: expected number, got "a"

0 (>= #0="a" #0#)

(string<=? "a" "a")
type error: =: expected number, got "a"

0 (<= #0="a" #0#)

fatal error: (make: *** [Makefile:23: test] Segmentation fault

gcc -O3 -DNDEBUG -Wall -Wno-strict-aliasing  -c ios.c -o ios.o
gcc -O3 -DNDEBUG -Wall -Wno-strict-aliasing  -c dirpath.c -o dirpath.o
gcc -O3 -DNDEBUG -Wall -Wno-strict-aliasing  -c htable.c -o htable.o
gcc -O3 -DNDEBUG -Wall -Wno-strict-aliasing  -c bitvector-ops.c -o bitvector-ops.o
gcc -O3 -DNDEBUG -Wall -Wno-strict-aliasing  -c int2str.c -o int2str.o
gcc -O3 -DNDEBUG -Wall -Wno-strict-aliasing  -c dump.c -o dump.o
gcc -O3 -DNDEBUG -Wall -Wno-strict-aliasing  -c random.c -o random.o
gcc -O3 -DNDEBUG -Wall -Wno-strict-aliasing  -c lltinit.c -o lltinit.o
rm -rf libllt.a
ar rs libllt.a bitvector.o hashing.o socket.o timefuncs.o ptrhash.o utf8.o ios.o dirpath.o htable.o bitvector-ops.o int2str.o dump.o random.o lltinit.o
ar: creating libllt.a
make[1]: Leaving directory '/sources/femtolisp/llt'
rm -rf libflisp.a
ar rs libflisp.a flisp.o builtins.o string.o equalhash.o table.o iostream.o
ar: creating libflisp.a
gcc -O2 -DNDEBUG -falign-functions -Wall -Wno-strict-aliasing -Illt  -DUSE_COMPUTED_GOTO -c flmain.c -o flmain.o
gcc -O2 -DNDEBUG -falign-functions -Wall -Wno-strict-aliasing -Illt  -DUSE_COMPUTED_GOTO flisp.o builtins.o string.o equalhash.o table.o iostream.o flmain.o -o flisp llt/libllt.a -lm libflisp.a
cd tests && ../flisp unittest.lsp
fatal error:
(make: *** [Makefile:23: test] Segmentation fault
<DEV> root [ /sources/femtolisp ]# ls
aliases.scm        builtins.o    equalhash.o     flisp.h     lib              mkboot0.lsp             read.c      table.o
ascii-mona-lisa    compiler.lsp  examples        flisp.o     libflisp.a       mkboot1.lsp             README.md   tests
ascii-mona-lisa-2  cvalues.c     flisp           flmain.c    LICENSE          opaque_type_template.c  string.c    tiny
attic              equal.c       flisp.boot      flmain.o    llt              opcodes.h               string.o    todo
bootstrap.sh       equalhash.c   flisp.boot.bak  iostream.c  Makefile         operators.c             system.lsp  todo-scrap
builtins.c         equalhash.h   flisp.c         iostream.o  Makefile.macosx  print.c                 table.c     types.c
<DEV> root [ /sources/femtolisp ]# ./flisp 
fatal error:
(Segmentation fault

Cygwin `make` gives an "unknown platform" error

I am running on Windows 7 64 bit using Cygwin.

I receive the following error:

gcc -O2 -DNDEBUG -falign-functions -Wall -Wno-strict-aliasing -Illt  -DUSE_COMPUTED_GOTO -c flisp.c -o flisp.o
In file included from llt/llt.h:5,
                 from flisp.c:46:
llt/dtypes.h:29:4: #error "unknown platform"
llt/dtypes.h:42:4: #error "__SIZEOF_POINTER__ undefined"
llt/dtypes.h:49:4: #error "this is one weird machine"
llt/dtypes.h:90:4: #error "unknown platform"
In file included from flisp.c:744:
read.c: In function `nextchar':
read.c:122: warning: array subscript has type `char'
read.c: In function `read_token':
read.c:162: warning: array subscript has type `char'
read.c: In function `peek':
read.c:260: warning: array subscript has type `char'
Makefile:25: recipe for target `flisp.o' failed
make: *** [flisp.o] Error 1

This seems to be because the __SIZEOF_POINTER__ constant is not defined.

I would like to take a stab at making this work, but I'm curious: what I will need to change within the dtypes.h file?

As an aside, Cygwin's pointer sizes are:

        Cygwin   Windows  Cygwin
        Linux    x86_64   Linux
        Windows           x86_64
        i686

sizeof(int)         4        4        4
sizeof(long)        4        4        8
sizeof(size_t)      4        8        8
sizeof(void*)       4        8        8

Print_traverse assertion fail

> (lambda 1)
error: compile error: invalid argument list 1
#0 (error ("compile error: invalid argument list "
        1))
#1 (lambda-vars/lambda #0=#fn(";000r4|A17502|C640];|F16602|MC6S0g217502g36<0e0c1}c243;~|N}g2g344;|F16602|MF6\x870e3|Mb23216902e4|31C660^5=0e0c5|Mc6}342c7e4|31316<0~|N}g2]44;g36<0e0c1}c843;~|N}]g344;|F6>0e0c9|Mc6}44;|}\x82:0e0c1}42;e0c9|c6}44;" [error
  "compile error: invalid argument list "
  ". optional arguments must come after required." length= caar "compile error: invalid optional argument "
  " in list " #fn(keyword?) ". keyword arguments must come last."
  "compile error: invalid formal argument "] [#0# [1 ()]] check-formals))
#2 (lambda/lambda #0=#fn("9000r1c0qe1|31F6N0e2|31F6=0c3e1|31K570e4|31560e53041;" [#fn("8000r1c0qe1|3141;" [#fn(":000r1|\x8540~;c0c1|~i4034c2c3|32K;" [#fn(list*)
  lambda #fn(map) #fn("6000r1e040;" [void])]) get-defined-vars]) cddr cdddr
  begin caddr void] #1=[#0# #2=#fn("7000r1e0|31i20\x8280e1|41;~|41;" [lastcdr
  caddr] #1# lam:body) [(()) (lambda 1) [#:g0 ()]]] lambda-body)
               #2#)
#3 flisp: print.c:100: print_traverse: Assertion `(((v)&0x7) == 0x5)' failed.
Aborted (core dumped)

Braces and Brackets

My name is Vernon Sipple. I am currently writing a tutorial on femtolisp as a scripting language for femtoemacs. Mr. Hugh Barney's present standing on femtolisp is that our implementation should not diverge from the main branch. However, the present syntax of femtolisp is lacking a Scheme feature that is desperately needed in order to produce a higher compatibility with teaching material. I am talking about the issue of using square brackets or curly braces as synonyms for parentheses.

The use of square brackets and curly braces breaks stacks of parentheses, therefore making it easier for students to recognize patterns in a sequence of right parentheses. For instance, the snippet below shows a higher readability than a version without the curly braces.

(define (fib n)
(cond { (< n 2) 1}
{ else (+ (fib (- n 1))
(fib (- n 2))) } ))

From the point of view of a teacher, there is another reason for using braces instead of parentheses for grouping sequences of statements. Lisp and Lambda Calculus have two kinds of expressions, applications and abstractions. In Cambridge Prefix Notation, applications take the form (E1 x y z ...) and abstraction take the shape (lambda(x) E). According to the Church-Rosser theorem, if an expression is evaluated from left to right, it may reach a normal form that cannot be reduced further. Besides this, if a different reduction strategy reaches the normal form, the alternative strategy form will be the same as the one achieved with the left to right strategy. However, one cannot guarantee that a strategy different to the left-right reduction, proposed by Church, will arrive at the normal form.

Lisp adopts a strategy different to the left-right reduction. Therefore, one needs macros to define certain Lisp operations that require the Church strategy. To tell you the truth, I really don't know whether this explanation for the macro origin is entirely true. At least it is a teacher way of explaining the necessity of macros in Lisp, but not in Haskell. This explanation for the macro origin makes macro and function calls semantically identical. Therefore, both macro and function calls should be placed between parentheses. However, a sequence of statements, as in a cond-clause, has no equivalent in Lambda Calculus, and it is reasonable to put sequences between brackets or braces, as is usually the case when it comes to the Scheme community.

The situation of different Schemes is the following:

Both brackets and braces are undefined in R5RS, then one could use these as synonyms for parentheses. In R6RS, square brackets are synonyms for parentheses, but curly braces are still undefined. Again, in R6RS the implementor can use braces instead of parentheses.

Brackets are synonyms for parentheses in Racket, Gambit, Gauche, Bigloo, Guile, etc. Braces are synonyms for parentheses in Racket, Gauche, Chicken and Gambit. Since femtolisp has used brackets as vector constructors, I suggest the use of braces as synonym for parentheses.

By the way, my tutorial with latex sources is distributed at the following address:

https://github.com/FemtoEmacs/femtodocs

You can use this documentation as you please. As for braces, I will raise an issue concerning both braces and brackets on the femtolisp site. The change has already been made on the femtoemacs site.

installing on mac osx

renaming Makefile to Makefile.other and Makefile.macosx to Makefile, and then trying "make" results in

dirpath.c:122:34: error: FlatCarbon/Processes.h: No such file or directory
dirpath.c:123:30: error: FlatCarbon/Files.h: No such file or directory
dirpath.c: In function ‘get_exename’:
dirpath.c:126: error: ‘ProcessSerialNumber’ undeclared (first use in this function)
dirpath.c:126: error: (Each undeclared identifier is reported only once
dirpath.c:126: error: for each function it appears in.)
dirpath.c:126: error: expected ‘;’ before ‘PSN’
dirpath.c:127: error: ‘FSRef’ undeclared (first use in this function)
dirpath.c:127: error: expected ‘;’ before ‘ref’
dirpath.c:129: warning: implicit declaration of function ‘GetCurrentProcess’
dirpath.c:129: error: ‘PSN’ undeclared (first use in this function)
dirpath.c:130: warning: implicit declaration of function ‘GetProcessBundleLocation’
dirpath.c:130: error: ‘ref’ undeclared (first use in this function)
dirpath.c:131: warning: implicit declaration of function ‘FSRefMakePath’
make[1]: *** [dirpath.o] Error 1
make: *** [llt/libllt.a] Error 2

Also, without any renaming of make files and trying "make" results in,
....
....
....
flisp.c:2386: warning: cast to pointer from integer of different size
flisp.c: At top level:
flisp.c:2389: internal compiler error: Segmentation fault: 11
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://developer.apple.com/bugreporter for instructions.
make: *** [flisp.o] Error 1

some of the features seem cool, and I'd like to tryout flisp. Let me know if I can help report anything else.

Parsing Julia code

I want to experiment with Julia and scheme interoperation. How do I parse Julia code with the included femtolisp repl?

Unable to make femtolisp

Will it not build on OSX?

~/Pork/femtolisp on master
$ make
gcc -O2 -DNDEBUG -falign-functions -Wall -Wno-strict-aliasing -Illt  -DUSE_COMPUTED_GOTO -DLINUX -DARCH_X86_64 -DBITS64 -D__CPU__=686 -c flisp.c -o flisp.o
gcc -O2 -DNDEBUG -falign-functions -Wall -Wno-strict-aliasing -Illt  -DUSE_COMPUTED_GOTO -DLINUX -DARCH_X86_64 -DBITS64 -D__CPU__=686 -c builtins.c -o builtins.o
gcc -O2 -DNDEBUG -falign-functions -Wall -Wno-strict-aliasing -Illt  -DUSE_COMPUTED_GOTO -DLINUX -DARCH_X86_64 -DBITS64 -D__CPU__=686 -c string.c -o string.o
gcc -O2 -DNDEBUG -falign-functions -Wall -Wno-strict-aliasing -Illt  -DUSE_COMPUTED_GOTO -DLINUX -DARCH_X86_64 -DBITS64 -D__CPU__=686 -c equalhash.c -o equalhash.o
gcc -O2 -DNDEBUG -falign-functions -Wall -Wno-strict-aliasing -Illt  -DUSE_COMPUTED_GOTO -DLINUX -DARCH_X86_64 -DBITS64 -D__CPU__=686 -c table.c -o table.o
gcc -O2 -DNDEBUG -falign-functions -Wall -Wno-strict-aliasing -Illt  -DUSE_COMPUTED_GOTO -DLINUX -DARCH_X86_64 -DBITS64 -D__CPU__=686 -c iostream.c -o iostream.o
cd llt && make
gcc -O2 -DNDEBUG -falign-functions -Wall -Wno-strict-aliasing -Illt  -DUSE_COMPUTED_GOTO -DLINUX -DARCH_X86_64 -DBITS64 -D__CPU__=686 -c flmain.c -o flmain.o
gcc -O3 -DNDEBUG -Wall -Wno-strict-aliasing  -DLINUX -DARCH_X86_64 -DBITS64 -D__CPU__=686 -c bitvector.c -o bitvector.o
In file included from bitvector.c:36:
dtypes.h:32:22: error: features.h: No such file or directory
dtypes.h:33:20: error: endian.h: No such file or directory
dtypes.h:34:1: warning: "LITTLE_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from bitvector.c:32:
/usr/include/i386/endian.h:93:1: warning: this is the location of the previous definition
In file included from bitvector.c:36:
dtypes.h:35:1: warning: "BIG_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from bitvector.c:32:
/usr/include/i386/endian.h:94:1: warning: this is the location of the previous definition
In file included from bitvector.c:36:
dtypes.h:36:1: warning: "PDP_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from bitvector.c:32:
/usr/include/i386/endian.h:95:1: warning: this is the location of the previous definition
In file included from bitvector.c:36:
dtypes.h:37:1: warning: "BYTE_ORDER" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from bitvector.c:32:
/usr/include/i386/endian.h:97:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from table.c:8:
llt/dtypes.h:32:22: error: features.h: No such file or directory
llt/dtypes.h:33:20: error: endian.h: No such file or directory
llt/dtypes.h:34:1: warning: "LITTLE_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from table.c:1:
/usr/include/i386/endian.h:93:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from table.c:8:
llt/dtypes.h:35:1: warning: "BIG_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from table.c:1:
/usr/include/i386/endian.h:94:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from table.c:8:
llt/dtypes.h:36:1: warning: "PDP_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from table.c:1:
/usr/include/i386/endian.h:95:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from table.c:8:
llt/dtypes.h:37:1: warning: "BYTE_ORDER" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from table.c:1:
/usr/include/i386/endian.h:97:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from iostream.c:8:
llt/dtypes.h:32:22: error: features.h: No such file or directory
llt/dtypes.h:33:20: error: endian.h: No such file or directory
llt/dtypes.h:34:1: warning: "LITTLE_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from iostream.c:1:
/usr/include/i386/endian.h:93:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from iostream.c:8:
llt/dtypes.h:35:1: warning: "BIG_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from iostream.c:1:
/usr/include/i386/endian.h:94:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from iostream.c:8:
llt/dtypes.h:36:1: warning: "PDP_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from iostream.c:1:
/usr/include/i386/endian.h:95:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from iostream.c:8:
llt/dtypes.h:37:1: warning: "BYTE_ORDER" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from iostream.c:1:
/usr/include/i386/endian.h:97:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from equalhash.c:8:
llt/dtypes.h:32:22: error: features.h: No such file or directory
llt/dtypes.h:33:20: error: endian.h: No such file or directory
llt/dtypes.h:34:1: warning: "LITTLE_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from equalhash.c:1:
/usr/include/i386/endian.h:93:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from equalhash.c:8:
llt/dtypes.h:35:1: warning: "BIG_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from equalhash.c:1:
/usr/include/i386/endian.h:94:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from equalhash.c:8:
llt/dtypes.h:36:1: warning: "PDP_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from equalhash.c:1:
/usr/include/i386/endian.h:95:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from equalhash.c:8:
llt/dtypes.h:37:1: warning: "BYTE_ORDER" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from equalhash.c:1:
/usr/include/i386/endian.h:97:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from builtins.c:16:
llt/dtypes.h:32:22: error: features.h: No such file or directory
llt/dtypes.h:33:20: error: endian.h: No such file or directory
llt/dtypes.h:34:1: warning: "LITTLE_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from builtins.c:5:
/usr/include/i386/endian.h:93:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from builtins.c:16:
llt/dtypes.h:35:1: warning: "BIG_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from builtins.c:5:
/usr/include/i386/endian.h:94:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from builtins.c:16:
llt/dtypes.h:36:1: warning: "PDP_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from builtins.c:5:
/usr/include/i386/endian.h:95:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from builtins.c:16:
llt/dtypes.h:37:1: warning: "BYTE_ORDER" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from builtins.c:5:
/usr/include/i386/endian.h:97:1: warning: In file included from llt/llt.h:5,
                 from string.c:16:
llt/dtypes.h:32:22: error: features.h: No such file or directory
llt/dtypes.h:33:20: error: endian.h: No such file or directory
llt/dtypes.h:34:1: warning: "LITTLE_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from string.c:4:
/usr/include/i386/endian.h:93:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from string.c:16:
llt/dtypes.h:35:1: warning: "BIG_ENDIAN" redefined
this is the location of the previous definitionIn file included from /usr/include/machine/endian.h:35
,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from string.c:4:
/usr/include/i386/endian.h:94:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from string.c:16:
llt/dtypes.h:36:1: warning: "PDP_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from string.c:4:
/usr/include/i386/endian.h:95:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from string.c:16:
llt/dtypes.h:37:1: warning: "BYTE_ORDER" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from string.c:4:
/usr/include/i386/endian.h:97:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from flmain.c:14:
llt/dtypes.h:32:22: error: features.h: No such file or directory
llt/dtypes.h:33:20: error: endian.h: No such file or directory
llt/dtypes.h:34:1: warning: "LITTLE_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from flmain.c:1:
/usr/include/i386/endian.h:93:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from flmain.c:14:
llt/dtypes.h:35:1: warning: "BIG_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from flmain.c:1:
/usr/include/i386/endian.h:94:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from flmain.c:14:
llt/dtypes.h:36:1: warning: "PDP_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from flmain.c:1:
/usr/include/i386/endian.h:95:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from flmain.c:14:
llt/dtypes.h:37:1: warning: "BYTE_ORDER" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from flmain.c:1:
/usr/include/i386/endian.h:97:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from flisp.c:45:
llt/dtypes.h:32:22: error: features.h: No such file or directory
llt/dtypes.h:33:20: error: endian.h: No such file or directory
llt/dtypes.h:34:1: warning: "LITTLE_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from flisp.c:32:
/usr/include/i386/endian.h:93:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from flisp.c:45:
llt/dtypes.h:35:1: warning: "BIG_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from flisp.c:32:
/usr/include/i386/endian.h:94:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from flisp.c:45:
llt/dtypes.h:36:1: warning: "PDP_ENDIAN" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from flisp.c:32:
/usr/include/i386/endian.h:95:1: warning: this is the location of the previous definition
In file included from llt/llt.h:5,
                 from flisp.c:45:
llt/dtypes.h:37:1: warning: "BYTE_ORDER" redefined
In file included from /usr/include/machine/endian.h:35,
                 from /usr/include/sys/wait.h:193,
                 from /usr/include/stdlib.h:65,
                 from flisp.c:32:
/usr/include/i386/endian.h:97:1: warning: this is the location of the previous definition
make[1]: *** [bitvector.o] Error 1
make: *** [equalhash.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [llt/libllt.a] Error 2
make: *** [string.o] Error 1
make: *** [builtins.o] Error 1
make: *** [iostream.o] Error 1
make: *** [table.o] Error 1
make: *** [flmain.o] Error 1
In file included from operators.c:5,
                 from cvalues.c:1,
                 from flisp.c:390:
llt/ieee754.h:14: error: duplicate member ‘mantissa’
llt/ieee754.h:15: error: duplicate member ‘exponent’
llt/ieee754.h:15: error: duplicate member ‘({anonymous})’
llt/ieee754.h:16: error: duplicate member ‘negative’
llt/ieee754.h:16: error: duplicate member ‘({anonymous})’
llt/ieee754.h:16: error: duplicate member ‘({anonymous})’
llt/ieee754.h:34: error: duplicate member ‘mantissa1’
llt/ieee754.h:35: error: duplicate member ‘mantissa0’
llt/ieee754.h:35: error: duplicate member ‘({anonymous})’
llt/ieee754.h:36: error: duplicate member ‘exponent’
llt/ieee754.h:36: error: duplicate member ‘({anonymous})’
llt/ieee754.h:36: error: duplicate member ‘({anonymous})’
llt/ieee754.h:37: error: duplicate member ‘negative’
llt/ieee754.h:37: error: duplicate member ‘({anonymous})’
llt/ieee754.h:37: error: duplicate member ‘({anonymous})’
llt/ieee754.h:37: error: duplicate member ‘({anonymous})’
llt/ieee754.h:56: error: duplicate member ‘mantissa1’
llt/ieee754.h:57: error: duplicate member ‘mantissa0’
llt/ieee754.h:57: error: duplicate member ‘({anonymous})’
llt/ieee754.h:58: error: duplicate member ‘exponent’
llt/ieee754.h:58: error: duplicate member ‘({anonymous})’
llt/ieee754.h:58: error: duplicate member ‘({anonymous})’
llt/ieee754.h:59: error: duplicate member ‘negative’
llt/ieee754.h:59: error: duplicate member ‘({anonymous})’
llt/ieee754.h:59: error: duplicate member ‘({anonymous})’
llt/ieee754.h:59: error: duplicate member ‘({anonymous})’
llt/ieee754.h:60: error: duplicate member ‘empty’
llt/ieee754.h:60: error: duplicate member ‘({anonymous})’
llt/ieee754.h:60: error: duplicate member ‘({anonymous})’
llt/ieee754.h:60: error: duplicate member ‘({anonymous})’
llt/ieee754.h:60: error: duplicate member ‘({anonymous})’
make: *** [flisp.o] Error 1

Bytecode verifier

There are some embedded applications where it is important that scripts cannot crash the host process. Since Femtolisp allows arbitrary bytecode to be turned info function objects, this implies that their needs to be a bytecode verifier.

Stack overflow in the garbage collector

When running julia --lisp (so using Julia's version of Femtolisp) with this Scheme file:

(define (longer-and-longer x)
  (let ((my-car (car x)))
    (set-car! x (cons my-car #f))
    (longer-and-longer x)))

(longer-and-longer (cons #f #f))

the result is a SIGSEGV due to a stack overflow (confirmed by Valgrind).

I suspect this is in the garbage collector, since replacing car with cdr (and set-car! with set-cdr! takes much longer before segfaulting (possibly due to a use-after-free error, most likely due to integer overflow).

Minor build warnings should be fixed for a clean build.

utf8.c: In function ‘u8_unescape’:
utf8.c:190:22: warning: ‘ch’ may be used uninitialized in this function [-Wmaybe-uninitialized]
dest[0] = (ch>>18) | 0xF0;
^
utf8.c:400:15: note: ‘ch’ was declared here
u_int32_t ch;
^
gcc -O3 -DNDEBUG -Wall -Wno-strict-aliasing -c ios.c -o ios.o
gcc -O3 -DNDEBUG -Wall -Wno-strict-aliasing -c dirpath.c -o dirpath.o
dirpath.c: In function ‘get_cwd’:
dirpath.c:33:11: warning: ignoring return value of ‘getcwd’, declared with attribute warn_unused_result [-Wunused-result]
getcwd(buf, size);

use external libsupport

Currently the libsupport code needed is checked in. It should be pulled from the libsupport repo at build time.

Curly braces and square brackets

I am currently writing a tutorial on femtolisp. I would appreciate if the owner of this site and developer of femtolisp modify the compiler, so that curly braces be synonymous for parentheses. The rationale for the change was given in an email to Jeff. The change entails the following modification in the read.c file:

static inline int symchar(char c)
{
static char *special = "()[]{}'";`,| \f\n\r\t\v";
return !strchr(special, c);
}

/* Recognize the tokens */
if ((c == '(') || (c == '{')) {
toktype = TOK_OPEN;
}
else if ((c == ')') || (c == '}') ) {
toktype = TOK_CLOSE;
}

converting fl_lasterror to char *

Hi Jeff,

Whats the best way to convert fl_lasterror in C to a char * such that I can return the string from a function.

Thanks
Hugh

make fail

Here's what happens when I try to make:

me@machine:~/code/femtolisp$ make clean && make 2>&1 | tee make.out
gcc -O2 -DNDEBUG -falign-functions -Wall -Wno-strict-aliasing -Illt -DUSE_COMPUTED_GOTO -DLINUX -DARCH_X86_64 -DBITS64 -D__CPU__=686 -c flisp.c -o flisp.o
flisp.c: In function ‘tocons’:
flisp.c:227:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘tosymbol’:
flisp.c:228:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘tocvalue’:
flisp.c:230:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘tostring’:
flisp.c:231:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘mk_symbol’:
flisp.c:253:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:254:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:254:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘symbol’:
flisp.c:289:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c: In function ‘fl_gensym’:
flisp.c:306:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c: In function ‘fl_isgensym’:
flisp.c:311:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:311:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘fl_gensymp’:
flisp.c:317:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:317:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘symbol_name’:
flisp.c:322:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:322:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:323:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:329:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘mk_cons’:
flisp.c:344:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c: In function ‘alloc_vector’:
flisp.c:378:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:379:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:383:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
In file included from flisp.c:390:0:
cvalues.c: In function ‘sweep_finalizers’:
cvalues.c:73:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:73:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:75:33: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:75:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:75:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:79:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:79:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:81:37: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:83:36: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c: In function ‘cv_nwords’:
cvalues.c:107:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:107:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘autorelease’:
cvalues.c:116:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:116:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cprim’:
cvalues.c:131:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c: In function ‘cvalue’:
cvalues.c:144:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:170:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c: In function ‘cvalue_from_data’:
cvalues.c:177:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:177:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_from_ref’:
cvalues.c:199:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:199:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:202:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c: In function ‘string_from_cstrn’:
cvalues.c:219:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘fl_isstring’:
cvalues.c:230:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:230:28: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:230:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cv_pin’:
cvalues.c:239:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:239:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_int8_init’:
cvalues.c:266:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_uint8_init’:
cvalues.c:267:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_int16_init’:
cvalues.c:268:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_uint16_init’:
cvalues.c:269:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_int32_init’:
cvalues.c:270:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_uint32_init’:
cvalues.c:271:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_int64_init’:
cvalues.c:272:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_uint64_init’:
cvalues.c:273:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_float_init’:
cvalues.c:274:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_double_init’:
cvalues.c:275:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_int8’:
cvalues.c:300:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_int8’:
cvalues.c:300:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_uint8’:
cvalues.c:301:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_uint8’:
cvalues.c:301:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_int16’:
cvalues.c:302:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_int16’:
cvalues.c:302:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_uint16’:
cvalues.c:303:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_uint16’:
cvalues.c:303:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_int32’:
cvalues.c:304:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_int32’:
cvalues.c:304:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_uint32’:
cvalues.c:305:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_uint32’:
cvalues.c:305:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_int64’:
cvalues.c:306:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_int64’:
cvalues.c:306:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_uint64’:
cvalues.c:307:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_uint64’:
cvalues.c:307:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_byte’:
cvalues.c:308:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_byte’:
cvalues.c:308:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_wchar’:
cvalues.c:309:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_wchar’:
cvalues.c:309:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_long’:
cvalues.c:311:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_long’:
cvalues.c:311:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_ulong’:
cvalues.c:312:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_ulong’:
cvalues.c:312:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_float’:
cvalues.c:317:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_float’:
cvalues.c:317:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_double’:
cvalues.c:318:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘mk_double’:
cvalues.c:318:1: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘size_wrap’:
cvalues.c:322:5: warning: right shift count >= width of type [enabled by default]
cvalues.c:322:5: warning: right shift count >= width of type [enabled by default]
cvalues.c: In function ‘toulong’:
cvalues.c:333:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_enum_init’:
cvalues.c:350:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:351:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:362:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:368:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_enum’:
cvalues.c:380:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘isarray’:
cvalues.c:386:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:386:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:386:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘predict_arraylen’:
cvalues.c:392:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_array_init’:
cvalues.c:411:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:411:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:412:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:412:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:412:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:422:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:431:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:434:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:441:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:443:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:443:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_array’:
cvalues.c:478:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_arraylen’:
cvalues.c:489:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:490:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:490:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_struct_offs’:
cvalues.c:496:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:502:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:508:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:508:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:514:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_union_size’:
cvalues.c:521:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:527:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:530:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘ctype_sizeof’:
cvalues.c:565:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:571:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:572:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:572:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:574:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:574:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:574:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘to_sized_ptr’:
cvalues.c:599:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:600:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:601:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:601:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:606:18: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:606:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:613:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_typeof’:
cvalues.c:653:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:653:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:653:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_relocate’:
cvalues.c:659:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:668:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:669:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:669:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:672:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:672:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_copy’:
cvalues.c:680:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:683:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:687:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:687:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:691:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:692:38: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:692:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:700:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c: In function ‘fl_copy’:
cvalues.c:710:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:710:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:710:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘fl_podp’:
cvalues.c:719:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:719:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:719:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_new’:
cvalues.c:791:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:791:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:792:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:792:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:792:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:799:44: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:804:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:804:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_compare’:
cvalues.c:812:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:813:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘check_addr_args’:
cvalues.c:833:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:835:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:835:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_array_aref’:
cvalues.c:844:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:844:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:844:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:859:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:859:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘cvalue_array_aset’:
cvalues.c:877:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:877:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c:877:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘fl_builtin’:
cvalues.c:889:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:889:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:892:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c: In function ‘cbuiltin’:
cvalues.c:904:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:905:50: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:907:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
cvalues.c: In function ‘cvalues_init’:
cvalues.c:956:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:957:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:958:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:959:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:960:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:961:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:962:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:963:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:964:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:965:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:966:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:967:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:968:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:969:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:971:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:972:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:982:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:982:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:985:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:985:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:1007:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:1008:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:1011:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c:1011:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘fl_add_any’:
cvalues.c:1061:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘fl_neg’:
cvalues.c:1122:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘fl_mul_any’:
cvalues.c:1168:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘num_to_ptr’:
cvalues.c:1226:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘fl_lognot’:
cvalues.c:1470:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
cvalues.c: In function ‘fl_ash’:
cvalues.c:1508:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
In file included from flisp.c:391:0:
types.c: In function ‘get_type’:
types.c:7:26: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
types.c:11:42: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
types.c:15:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
types.c:15:61: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
types.c:17:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
types.c:17:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
types.c:29:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
types.c:43:41: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
types.c:43:41: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
types.c:53:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
types.c: In function ‘relocate_typetable’:
types.c:93:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
types.c:93:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
types.c:96:52: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
In file included from flisp.c:398:0:
print.c: In function ‘print_traverse’:
print.c:67:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:68:53: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:69:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:73:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:74:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:75:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:77:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:77:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:79:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:80:49: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:81:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:86:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:87:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:89:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:90:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:93:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:96:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:97:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:104:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:106:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:106:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:107:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:108:23: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:108:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘tinyp’:
print.c:172:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘smallp’:
print.c:182:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:182:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:183:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:183:58: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:183:58: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:184:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:184:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:189:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:190:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:192:46: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘allsmallp’:
print.c:218:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:220:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘indentafter3’:
print.c:231:44: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘indentafter2’:
print.c:238:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘indentevery’:
print.c:245:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:249:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘print_pair’:
print.c:266:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:266:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:266:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:267:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:267:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:268:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:269:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:270:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:271:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:272:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:274:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:275:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:275:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:277:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:277:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:285:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:290:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:296:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:297:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:298:54: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:313:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:314:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:315:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘print_circle_prefix’:
print.c:361:51: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:361:16: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:362:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:363:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:369:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:369:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:370:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘fl_print_child’:
print.c:391:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:391:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:420:47: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:422:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:423:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:453:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:459:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:465:46: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:469:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:470:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘cvalue_printdata’:
print.c:710:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:711:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:713:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:713:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:714:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:714:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:714:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:770:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:772:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:779:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:783:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘cvalue_print’:
print.c:793:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:794:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:794:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:797:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:797:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:799:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:800:22: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:815:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:815:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:816:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:816:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:817:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:817:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:820:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:820:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:821:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
print.c:821:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘set_print_width’:
print.c:828:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c: In function ‘fl_print’:
print.c:835:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:838:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:840:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
print.c:843:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘relocate’:
flisp.c:424:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:425:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:428:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:430:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:431:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:431:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:432:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:433:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:441:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:441:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:442:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:442:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:446:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:447:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:449:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:450:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:450:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:453:18: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:454:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:455:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:456:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:456:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:458:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:460:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:460:49: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:466:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:471:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:472:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:472:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:479:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:483:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:484:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:484:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:493:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:498:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:499:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:499:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘gc’:
flisp.c:560:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:561:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:562:41: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:565:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:566:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:567:40: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘_applyn’:
flisp.c:625:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:625:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:625:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:626:26: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:632:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:633:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘fl_apply’:
flisp.c:652:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:653:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘fl_listn’:
flisp.c:697:18: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:704:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c: In function ‘fl_list2’:
flisp.c:715:16: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:718:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c: In function ‘fl_cons’:
flisp.c:726:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:727:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘fl_isnumber’:
flisp.c:735:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
In file included from flisp.c:743:0:
read.c: In function ‘nextchar’:
read.c:101:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c: In function ‘read_token’:
read.c:145:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:157:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:169:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c: In function ‘peek’:
read.c:186:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:209:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:220:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:262:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:278:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:286:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:291:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:302:35: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:319:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:321:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:353:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:361:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c: In function ‘vector_grow’:
read.c:383:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:390:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:390:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:394:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:395:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c: In function ‘read_vector’:
read.c:407:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:407:57: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:409:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:411:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:414:51: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:414:65: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:419:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:424:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c: In function ‘read_string’:
read.c:448:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:456:26: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:465:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:467:47: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:476:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:479:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:481:47: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:502:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c: In function ‘read_list’:
read.c:519:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:521:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:521:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:523:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:528:51: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:528:65: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:532:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:538:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:540:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c: In function ‘do_read_sexpr’:
read.c:581:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
read.c:582:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:583:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:583:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:583:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
read.c:584:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:584:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:584:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:584:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:587:47: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:587:61: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:589:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:589:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:620:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:636:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:644:47: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:648:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:648:61: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:652:56: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:652:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
read.c:653:18: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
read.c:657:56: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
read.c:658:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
In file included from flisp.c:747:0:
equal.c: In function ‘eq_class’:
equal.c:9:45: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:9:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
equal.c:10:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
equal.c: In function ‘eq_union’:
equal.c:22:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:22:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:23:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:23:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:24:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:24:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c: In function ‘bounded_vector_compare’:
equal.c:32:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:33:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:38:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:38:54: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c: In function ‘bounded_compare’:
equal.c:67:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:82:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:83:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:86:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:95:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:95:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
equal.c:95:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:95:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:95:48: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
equal.c:95:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:103:47: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:104:47: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:118:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:118:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:120:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:120:26: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c: In function ‘cyc_vector_compare’:
equal.c:130:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:131:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:139:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:140:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:161:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:162:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c: In function ‘cyc_compare’:
equal.c:183:26: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:183:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:184:26: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:184:48: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:224:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:225:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c: In function ‘bounded_hash’:
equal.c:311:47: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:314:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:316:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:324:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:333:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:335:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:348:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
equal.c:358:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘_list’:
flisp.c:758:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:759:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:762:18: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c: In function ‘copy_list’:
flisp.c:782:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:782:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:783:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:785:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:788:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:788:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:789:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:790:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:792:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘process_keys’:
flisp.c:841:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:849:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:855:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:857:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:858:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:872:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c: In function ‘apply_cl’:
flisp.c:958:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:958:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:966:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1032:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1086:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1086:22: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:1086:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1088:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1101:43: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:1136:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1136:22: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:1136:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1138:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1205:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1259:44: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1259:44: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:1259:44: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1265:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1265:28: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:1265:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1277:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:1282:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1287:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1292:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1294:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1323:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1324:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1336:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1337:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1350:21: warning: right shift count >= width of type [enabled by default]
flisp.c:1350:21: warning: right shift count >= width of type [enabled by default]
flisp.c:1369:17: warning: right shift count >= width of type [enabled by default]
flisp.c:1369:17: warning: right shift count >= width of type [enabled by default]
flisp.c:1407:17: warning: right shift count >= width of type [enabled by default]
flisp.c:1407:17: warning: right shift count >= width of type [enabled by default]
flisp.c:1502:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1516:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1518:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1533:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1535:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1570:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1572:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1576:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1577:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1581:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1582:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1585:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1587:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1590:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1597:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1598:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1601:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1603:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1606:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1619:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1628:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1635:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1644:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1657:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1668:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1677:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1677:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1680:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1687:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1687:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1690:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1693:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1696:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1703:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1703:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1704:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1711:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1711:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1713:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
flisp.c:1722:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
flisp.c:1743:32: w

> eval: error: stack overflow

I am using tiny lisp.c file in IOS .For first time build it work fine but at second time i get this error
`
error loading file "/var/containers/Bundle/Application/62BFFB4A-46AA-4433-8C68-6F75E913AB8D/FemL.app/system.lsp"

eval: error: stack overflow

eval: error: variable has no value`
File is loaded correctly I,ve checked .When i restart device it again work fine

flisp segfault on master

Running flisp segfaults on current master (71a1cb6). OS is Ubuntu 12.10, 64 bit. Stacktrace:

(gdb) run
Starting program: /home/kamstrup/Projects/femtolisp/flisp
fatal error:
(
Program received signal SIGSEGV, Segmentation fault.
0x000000000040930b in fl_isnumber (v=) at flisp.c:736
736 return c->type != wchartype;
(gdb) bt full
#0 0x000000000040930b in fl_isnumber (v=) at flisp.c:736

    c = 0x0

#1 fl_isnumber (v=) at flisp.c:731

No locals.
#2 0x0000000000409398 in smallp (v=1) at print.c:180

No locals.
#3 0x000000000040990c in allsmallp (v=, v@entry=140737353036343) at print.c:218

    n = 4

#4 0x000000000040a064 in blockindent (v=140737353036343) at print.c:259

No locals.
#5 print_pair (v=140737353036343, f=0x627100) at print.c:282

    head = <optimized out>
    cd = <optimized out>
    op = 0x0
    est = 32767
    n_unindented = <optimized out>
    startpos = 0
    ind = <optimized out>
    thistiny = -9792
    after2 = 6502192
    newindent = 1
    lastv = <optimized out>
    always = <optimized out>
    nextsmall = <optimized out>
    after3 = 4201284

#6 fl_print_child (f=f@entry=0x627100, v=v@entry=140737353036343) at print.c:483

    name = <optimized out>

#7 0x000000000040abd4 in fl_print (f=0x627100, v=140737353036343) at print.c:852

    pl = <optimized out>

#8 0x0000000000401b27 in main (argc=1, argv=0x7fffffffe0a8) at flmain.c:66

    fname_buf = "/home/kamstrup/Projects/femtolisp/flisp.boot\000\177\000\000\000\000\000\000\001\000\000\000\202\b\000\000\001\000\000\000\300o\336\367\001\000\000\000@\346\377\367\377\177\000\000`\335\377\377\377\177\000\000\207\360\226|\000\000\000\000H\223\375\367\377\177\000\000\060\336\377\377\377\177\000\000\370\331\377\367\377\177\000\000\063E\336\367\377\177\000\000\000\000\000\000\000\000\000\000H\223\375\367\377\177\000\000\001", '\000' <repeats 15 times>, "\001\000\000\000\377\177\000\000\370\331\377\367\377\177\000\000\000\000\000\000\000\000\000\000I\t@", '\000' <repeats 15 times>"\340, \267\377\377\377\377\377\377\377\377", '\000' <repeats 20 times>, "@\346\377\367\377\177\000\000@\260/\000\001", '\000' <repeats 11 times>"\260, \063\256\367\377\177\000\000<\247\335\367\377\177\000\000\000\340\255\367\377\177\000\000\204\207\336\367\377\177\000\000\001", '\000' <repeats 15 times>...
    str = <optimized out>
    exedir = <optimized out>
    args = {140737353036101, 6511318}
    _ctx = {buf = {{__jmpbuf = {140737488345776, 1578295438339500356, 4201284, 140737488347296, 0, 0, -1578295437153507004, 1578295988940990788}, __mask_was_saved = 0, __saved_mask = {
            __val = {140737353978072, 140737354115480, 140737348771596, 140737344895480, 140737351924356, 4294967296, 2, 4, 140737354116808, 2090266759, 140737351926446, 
              140737353978072, 140733193388039, 140737488346400, 4294967295, 140737344842872}}}}, sp = 0, frame = 0, ngchnd = 2, rdst = 0x0, prev = 0x0}
    l__tr = <optimized out>
    l__ca = 1

Maintenance fork at Lambda conservatory

I started a maintenance fork of Femtolisp at lambdaconservatory/femtolisp. PRs merged so far:

Anyone interested in maintaining Femtolisp, please let me know by email or in this issue if you'd like write access. It's intended to be a community fork driven by consensus, not my personal vision. In fact, other people can probably work on it more actively than me.

@JeffBezanson Thank you for a great interpreter. Please let us know if you want the fork to go in a particular direction, and if you have the time to resume leading your project at some point.

Make File Error OSX

I get this error during building on mac os
Undefined symbols for architecture x86_64: "_FSRefMakePath", referenced from: _get_exename in libllt.a(dirpath.o) "_GetCurrentProcess", referenced from: _get_exename in libllt.a(dirpath.o) "_GetProcessBundleLocation", referenced from: _get_exename in libllt.a(dirpath.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [release] Error 1

Segmentation fault when a

The following expressions all cause a segmentation fault:

((lambda ((a: (b 1))) #t))
((lambda ((a: b)) #t))
((lambda ((a (b 1))) a))

If b is bound to a variable (in the second case) or if is bound to a function that does not throw an exception when applied to 1 (first and third cases), there is no segfault. Nor is there a segfault if the exception is caught.

gdb reveals that, at least in the unbound variable case, the printer is called on an unbound variable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.