=> Bootstrap dependency digest>=20211023: found digest-20220214 WARNING: [license.mk] Every package should define a LICENSE. ===> Building for scm-5.5.3nb2 echo "#ifndef IMPLINIT" > newflags.h echo "#define IMPLINIT \"Init5e3.scm\"" >> newflags.h echo "#endif" >> newflags.h echo "#define CHEAP_CONTINUATIONS" >> newflags.h echo "#define CAUTIOUS" >> newflags.h if (cmp -s newflags.h scmflags.h) then rm newflags.h; else mv newflags.h scmflags.h; fi clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses scm.c -o scm.o scm.c:197:17: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] wta(UNDEFINED, (char *)i, ""); ^~~~~~~~~ scm.c:280:41: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] wta(MAKINUM(sig), (i < 0 ? s_unksig : (char *)(i + SIGNAL_BASE)), ""); ^~~~~~~~~~~~~~~~~~~~~~~~~ scm.c:312:22: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] wta(UNDEFINED, (char *)i, ""); ^~~~~~~~~ scm.c:345:15: warning: implicit declaration of function 'alarm' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(j = alarm(INUM(i));); ^ scm.c:390:3: warning: implicit declaration of function 'pause' is invalid in C99 [-Wimplicit-function-declaration] pause(); ^ scm.c:419:15: warning: implicit declaration of function 'sleep' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(j = sleep(INUM(i));); ^ scm.c:475:15: warning: implicit declaration of function 'getpid' is invalid in C99 [-Wimplicit-function-declaration] return kill(getpid (), (int)INUM(sig)) ? BOOL_F : BOOL_T; ^ scm.c:582:3: warning: implicit declaration of function 'alarm' is invalid in C99 [-Wimplicit-function-declaration] alarm(0); /* kill any pending ALRM interrupts */ ^ scm.c:842:7: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration] if (isatty(fileno(inport))) { ^ 9 warnings generated. clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses time.c -o time.o time.c:367:12: warning: shifting a negative signed value is undefined [-Wshift-negative-value] return MAKINUM(-1); ^~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ 1 warning generated. clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses repl.c -o repl.o repl.c:513:5: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] ASRTER(NIMP(port) && OPINPORTP(port) && (BUF0 & SCM_PORTFLAGS(port)), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1123:85: note: expanded from macro 'ASRTER' # define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr); ^~~~~~~~~~~~~~ repl.c:1291:20: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] wta(UNDEFINED, (char *)i, ""); /* sends it to def_err_response */ ^~~~~~~~~ repl.c:1392:8: warning: implicitly declaring library function 'isspace' with type 'int (int)' [-Wimplicit-function-declaration] (isspace(initpath[0]) || ';'==initpath[0] || '('==initpath[0])) ^ repl.c:1392:8: note: include the header <ctype.h> or explicitly provide a declaration for 'isspace' repl.c:1623:37: warning: implicit declaration of function 'sbrk' is invalid in C99 [-Wimplicit-function-declaration] scm_dumped_brk = (unsigned long)sbrk(0); ^ repl.c:1629:45: warning: implicit declaration of function 'sbrk' is invalid in C99 [-Wimplicit-function-declaration] unsigned long scm_curbrk = (unsigned long)sbrk(0), ^ repl.c:2054:47: warning: cast to smaller integer type 'int' from 'char *' [-Wpointer-to-int-cast] lputc((long)err_pos <= ARGn ? ' ' : '1' + (int)err_pos - ARG1, cur_errp); ^~~~~~~~~~~~ repl.c:2057:23: warning: cast to smaller integer type 'int' from 'char *' [-Wpointer-to-int-cast] else lputs(errmsgs[((int)err_pos)-WNA].msg, cur_errp); ^~~~~~~~~~~~ repl.c:2110:11: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] err_pos = pos; ^ ~~~ repl.c:2111:14: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] err_s_subr = s_subr; ^ ~~~~~~ repl.c:2116:24: warning: cast to smaller integer type 'int' from 'const char *' [-Wpointer-to-int-cast] COOKIE(1) : COOKIE((int)pos)); ^~~~~~~~ ./scm.h:286:21: note: expanded from macro 'COOKIE' # define COOKIE(n) (n) ^ repl.c:2193:10: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration] return isatty(fileno(STREAM(port)))?BOOL_T:BOOL_F; ^ 11 warnings generated. clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses scl.c -o scl.o scl.c:1665:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ scl.c:1797:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ scl.c:2128:30: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if ((MAKINUM(1L)==x) || (MAKINUM(-1L)==x)) return x; ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ scl.c:2148:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ scl.c:2179:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] else goto overflow; ^ scl.c:2161:7: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (MAKINUM(-1L)==z1) return BOOL_F==evenp(z2)?z1:acc; ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ 6 warnings generated. clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses sys.c -o sys.o sys.c:285:11: warning: 'tmpnam' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead. [-Wdeprecated-declarations] SYSCALL(tmpnam(name);); ^ /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/stdio.h:186:1: note: 'tmpnam' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead.") ^ /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/cdefs.h:208:48: note: expanded from macro '__deprecated_msg' #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg))) ^ sys.c:369:47: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration] if (OPENP(exp) && tc16_fport==TYP16(exp) && isatty(fileno(STREAM(exp)))) ^ sys.c:370:11: warning: implicit declaration of function 'ttyname' is invalid in C99 [-Wimplicit-function-declaration] lputs(ttyname(fileno(STREAM(exp))), port); ^ sys.c:370:11: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const char *' [-Wint-conversion] lputs(ttyname(fileno(STREAM(exp))), port); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:777:38: note: passing argument to parameter 's' here SCM_EXPORT void lputs P((const char *s, SCM port)); ^ sys.c:1398:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ sys.c:1662:19: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (!ncont) wta(MAKINUM(-1), (char *)NALLOC, s_cont); ^~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ sys.c:2178:41: warning: shifting a negative signed value is undefined [-Wshift-negative-value] sysintern("most-negative-fixnum", (SCM)MAKINUM(MOST_NEGATIVE_FIXNUM)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ sys.c:2624:22: warning: cast to smaller integer type 'int' from 'SCM *' (aka 'long *') [-Wpointer-to-int-cast] while(0 <= --m) if (CELLP(*(SCM **)&x[m])) { ^~~~~~~~~~~~~~~~~~~~~ ./scm.h:301:20: note: expanded from macro 'CELLP' #define CELLP(x) (!NCELLP(x)) ^~~~~~~~~ ./scm.h:302:39: note: expanded from macro 'NCELLP' #define NCELLP(x) ((sizeof(cell)-1) & (int)(x)) ^~~~~~~~ 8 warnings generated. clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses eval.c -o eval.o eval.c:3123:7: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] ASRTER(CONSP(ve[i]), ve[i], 0==i ? ARG2 : ARGn, s_map); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1123:85: note: expanded from macro 'ASRTER' # define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr); ^~~~~~~~~~~~~~ eval.c:3170:7: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] ASRTER(CONSP(ve[i]), ve[i], 0==i ? ARG2 : ARGn, s_for_each); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1123:85: note: expanded from macro 'ASRTER' # define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr); ^~~~~~~~~~~~~~ 2 warnings generated. clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses subr.c -o subr.o subr.c:220:8: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] erout: ASRTER(NIMP(lst) && CONSP(lst), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1123:85: note: expanded from macro 'ASRTER' # define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr); ^~~~~~~~~~~~~~ subr.c:993:27: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (UNBNDP(x)) return MAKINUM(-1); ^~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ subr.c:1190:21: warning: shifting a negative signed value is undefined [-Wshift-negative-value] return difference(MAKINUM(-1L), n); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ 3 warnings generated. clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses unif.c -o unif.o clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses rope.c -o rope.o rope.c:129:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:161:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:170:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:179:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:253:15: warning: passing 'const char *const' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] must_free(argv[i], 1+strlen(argv[i])); ^~~~~~~ ./scm.h:720:36: note: passing argument to parameter 'obj' here SCM_EXPORT void must_free P((char *obj, sizet len)); ^ 5 warnings generated. clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses continue.c -o continue.o clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses findexec.c -o findexec.o clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses script.c -o script.o script.c:173:9: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *extptr = exec_path + strlen(exec_path); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ script.c:189:10: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] extptr = exec_path + strlen(exec_path); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ script.c:386:12: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] nargv[0] = argv[0]; ^ ~~~~~~~ script.c:401:22: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] nargv[nargi++] = argv[argi++]; ^ ~~~~~~~~~~~~ script.c:404:39: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] while (argi <= argc) nargv[nargi++] = argv[argi++]; ^ ~~~~~~~~~~~~ 5 warnings generated. clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses debug.c -o debug.o clang -c -pipe -Os -DX11 -I/opt/pkg/include -I/opt/pkg/include/ncurses scmmain.c -o scmmain.o scmmain.c:133:32: warning: assigning to 'const char **' from 'const char *const [1]' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] if (0==argc) {argc = 1; argv = generic_name;} /* for macintosh */ ^ ~~~~~~~~~~~~ scmmain.c:143:16: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] script_arg = argv[2]; /* Save for scm_find_execpath() call */ ^ ~~~~~~~ scmmain.c:144:31: warning: passing 'char **' to parameter of type 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] nargc = script_count_argv(nargv); ^~~~~ ./scm.h:1092:51: note: passing argument to parameter 'argv' here SCM_EXPORT int script_count_argv P((const char **argv)); ^ scmmain.c:146:15: warning: assigning to 'char **' from 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] else {nargv = argv; nargc = argc;} ^ ~~~~ scmmain.c:148:39: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] execpath = scm_find_execpath(nargc, nargv, script_arg); ^~~~~ ./scm.h:798:69: note: passing argument to parameter 'argv' here SCM_EXPORT char *scm_find_execpath P((int argc, const char * const *argv, const char *script_arg)); ^ scmmain.c:150:7: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration] if (isatty(fileno(stdin)) && isatty(fileno(stdout))) ^ scmmain.c:155:31: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] scm_init_from_argv(nargc, nargv, script_arg, iverbose, buf0stdin); ^~~~~ ./scm.h:791:69: note: passing argument to parameter 'argv' here SCM_EXPORT void scm_init_from_argv P((int argc, const char * const *argv, char *script_arg, ^ 7 warnings generated. clang -o scmlit scm.o time.o repl.o scl.o sys.o eval.o subr.o unif.o rope.o continue.o findexec.o script.o debug.o scmmain.o -lm /opt/pkg/bin/bmake checklit ./scmlit -fr4rstest.scm -e'(test-sc4)(test-delay)(gc)' -e '(or (null? errs) (quit 1))' SECTION(2 1) SECTION(3 4) #<primitive-procedure boolean?> #<primitive-procedure char?> #<primitive-procedure null?> #<primitive-procedure number?> #<primitive-procedure pair?> #<primitive-procedure procedure?> #<primitive-procedure string?> #<primitive-procedure symbol?> #<primitive-procedure vector?> (#t #f #f #f #f #f #f #f #f)#t (#t #f #f #f #f #f #f #f #f)#f (#f #t #f #f #f #f #f #f #f)#\a (#f #f #t #f #f #f #f #f #f)() (#f #f #f #t #f #f #f #f #f)9739 (#f #f #f #f #t #f #f #f #f)(test) (#f #f #f #f #f #t #f #f #f)#<CLOSURE record-error "r4rstest.scm": (e) (set! errs (cons (list cur-section e) errs))> (#f #f #f #f #f #f #t #f #f)"test" (#f #f #f #f #f #f #t #f #f)"" (#f #f #f #f #f #f #f #t #f)test (#f #f #f #f #f #f #f #f #t)#() (#f #f #f #f #f #f #f #f #t)#(a b c) SECTION(4 1 2) (quote (quote a)) ==> (quote a) (quote (quote a)) ==> (quote a) SECTION(4 1 3) (#<primitive-procedure *> 3 4) ==> 12 SECTION(4 1 4) (#<CLOSURE <anon> "r4rstest.scm": (x) (+ x x)> 4) ==> 8 (#<CLOSURE reverse-subtract "r4rstest.scm": (x y) (- y x)> 7 10) ==> 3 (#<CLOSURE <anon> "r4rstest.scm": (y) (+ x y)> 6) ==> 10 (#<CLOSURE <anon> "r4rstest.scm": x x> 3 4 5 6) ==> (3 4 5 6) (#<CLOSURE <anon> "r4rstest.scm": (x y . z) z> 3 4 5 6) ==> (5 6) SECTION(4 1 5) (if yes) ==> yes (if no) ==> no (if 1) ==> 1 SECTION(4 1 6) (define 3) ==> 3 (set! 5) ==> 5 SECTION(4 2 1) (cond greater) ==> greater (cond equal) ==> equal (cond 2) ==> 2 (case composite) ==> composite (case consonant) ==> consonant (and #t) ==> #t (and #f) ==> #f (and (f g)) ==> (f g) (and #t) ==> #t (or #t) ==> #t (or #t) ==> #t (or #f) ==> #f (or #f) ==> #f (or (b c)) ==> (b c) SECTION(4 2 2) (let 6) ==> 6 (let 35) ==> 35 (let* 70) ==> 70 (letrec #t) ==> #t (let 5) ==> 5 (let 34) ==> 34 (let 6) ==> 6 (let 34) ==> 34 (let* 7) ==> 7 (let* 34) ==> 34 (let* 8) ==> 8 (let* 34) ==> 34 (letrec 9) ==> 9 (letrec 34) ==> 34 (letrec 10) ==> 10 (letrec 34) ==> 34 SECTION(4 2 3) (begin 6) ==> 6 SECTION(4 2 4) (do #(0 1 2 3 4)) ==> #(0 1 2 3 4) (do 25) ==> 25 (let 1) ==> 1 (let ((6 1 3) (-5 -2))) ==> ((6 1 3) (-5 -2)) (let -1) ==> -1 SECTION(4 2 6) (quasiquote (list 3 4)) ==> (list 3 4) (quasiquote (list a (quote a))) ==> (list a (quote a)) (quasiquote (a 3 4 5 6 b)) ==> (a 3 4 5 6 b) (quasiquote ((foo 7) . cons)) ==> ((foo 7) . cons) (quasiquote #(10 5 2 4 3 8)) ==> #(10 5 2 4 3 8) (quasiquote 5) ==> 5 (quasiquote (a (quasiquote (b (unquote (+ 1 2)) (unquote (foo 4 d)) e)) f)) ==> (a (quasiquote (b (unquote (+ 1 2)) (unquote (foo 4 d)) e)) f) (quasiquote (a (quasiquote (b (unquote x) (unquote (quote y)) d)) e)) ==> (a (quasiquote (b (unquote x) (unquote (quote y)) d)) e) (quasiquote (list 3 4)) ==> (list 3 4) (quasiquote (quasiquote (list (unquote (+ 1 2)) 4))) ==> (quasiquote (list (unquote (+ 1 2)) 4)) SECTION(5 2 1) (tprint #t) ==> #t (define 6) ==> 6 (define 1) ==> 1 (#<CLOSURE add3 "r4rstest.scm": (x) (#@+ #@x 3)> 6) ==> (3 6) (#<CLOSURE add3 "r4rstest.scm": (x) (#@+ #@x 3)> 6) ==> 9 SECTION(5 2 2) (define 45) ==> 45 (#<CLOSURE foo "r4rstest.scm": () (#@define ((x 5)) x)>) ==> 5 (define 34) ==> 34 (#<CLOSURE foo "r4rstest.scm": () (#@define ((x 5)) x)>) ==> 5 (define 34) ==> 34 (#<CLOSURE foo "r4rstest.scm": (x) ((lambda () (define x 5) x)) x> 88) ==> 88 (#<CLOSURE foo "r4rstest.scm": (x) (#@let () (#@define ((x 5)) #@x)) #@x> 4) ==> 4 (define 34) ==> 34 (internal-define 99) ==> 99 (internal-define 77) ==> 77 SECTION(6 1) (#<primitive-procedure not> #t) ==> #f (#<primitive-procedure not> 3) ==> #f (#<primitive-procedure not> (3)) ==> #f (#<primitive-procedure not> #f) ==> #t (#<primitive-procedure not> ()) ==> #f (#<primitive-procedure not> ()) ==> #f (#<primitive-procedure not> nil) ==> #f SECTION(6 2) (#<primitive-procedure eqv?> a a) ==> #t (#<primitive-procedure eqv?> a b) ==> #f (#<primitive-procedure eqv?> 2 2) ==> #t (#<primitive-procedure eqv?> () ()) ==> #t (#<primitive-procedure eqv?> 10000 10000) ==> #t (#<primitive-procedure eqv?> (1 . 2) (1 . 2)) ==> #f (#<primitive-procedure eqv?> #<CLOSURE <anon> "r4rstest.scm": () 1> #<CLOSURE <anon> "r4rstest.scm": () 2>) ==> #f (#<primitive-procedure eqv?> #f nil) ==> #f (#<primitive-procedure eqv?> #<CLOSURE p "r4rstest.scm": (x) x> #<CLOSURE p "r4rstest.scm": (x) x>) ==> #t (#<primitive-procedure eqv?> #<CLOSURE <anon> "r4rstest.scm": () (set! n (+ n 1)) n> #<CLOSURE <anon> "r4rstest.scm": () (set! n (+ n 1)) n>) ==> #t (#<primitive-procedure eqv?> #<CLOSURE <anon> "r4rstest.scm": () (set! n (+ n 1)) n> #<CLOSURE <anon> "r4rstest.scm": () (set! n (+ n 1)) n>) ==> #f (#<primitive-procedure eqv?> #<CLOSURE f "r4rstest.scm": () (if (eqv? f g) (quote f) (quote both))> #<CLOSURE g "r4rstest.scm": () (if (eqv? f g) (quote g) (quote both))>) ==> #f (#<primitive-procedure eq?> a a) ==> #t (#<primitive-procedure eq?> (a) (a)) ==> #f (#<primitive-procedure eq?> () ()) ==> #t (#<primitive-procedure eq?> #<primitive-procedure car> #<primitive-procedure car>) ==> #t (#<primitive-procedure eq?> (a) (a)) ==> #t (#<primitive-procedure eq?> #() #()) ==> #t (#<primitive-procedure eq?> #<CLOSURE x "r4rstest.scm": (x) x> #<CLOSURE x "r4rstest.scm": (x) x>) ==> #t (#<primitive-procedure equal?> a a) ==> #t (#<primitive-procedure equal?> (a) (a)) ==> #t (#<primitive-procedure equal?> (a (b) c) (a (b) c)) ==> #t (#<primitive-procedure equal?> "abc" "abc") ==> #t (#<primitive-procedure equal?> 2 2) ==> #t (#<primitive-procedure equal?> #(a a a a a) #(a a a a a)) ==> #t SECTION(6 3) (dot (a b c d e)) ==> (a b c d e) (#<primitive-procedure list?> (a b c)) ==> #t (set-cdr! (a . 4)) ==> (a . 4) (#<primitive-procedure eqv?> (a . 4) (a . 4)) ==> #t (dot (a b c . d)) ==> (a b c . d) (#<primitive-procedure list?> (a . 4)) ==> #f (list? #f) ==> #f (#<primitive-procedure cons> a ()) ==> (a) (#<primitive-procedure cons> (a) (b c d)) ==> ((a) b c d) (#<primitive-procedure cons> "a" (b c)) ==> ("a" b c) (#<primitive-procedure cons> a 3) ==> (a . 3) (#<primitive-procedure cons> (a b) c) ==> ((a b) . c) (#<primitive-procedure car> (a b c)) ==> a (#<primitive-procedure car> ((a) b c d)) ==> (a) (#<primitive-procedure car> (1 . 2)) ==> 1 (#<primitive-procedure cdr> ((a) b c d)) ==> (b c d) (#<primitive-procedure cdr> (1 . 2)) ==> 2 (#<primitive-procedure list> a 7 c) ==> (a 7 c) (#<primitive-procedure list>) ==> () (#<primitive-procedure length> (a b c)) ==> 3 (#<primitive-procedure length> (a (b) (c d e))) ==> 3 (#<primitive-procedure length> ()) ==> 0 (#<primitive-procedure append> (x) (y)) ==> (x y) (#<primitive-procedure append> (a) (b c d)) ==> (a b c d) (#<primitive-procedure append> (a (b)) ((c))) ==> (a (b) (c)) (#<primitive-procedure append>) ==> () (#<primitive-procedure append> (a b) (c . d)) ==> (a b c . d) (#<primitive-procedure append> () a) ==> a (#<primitive-procedure reverse> (a b c)) ==> (c b a) (#<primitive-procedure reverse> (a (b c) d (e (f)))) ==> ((e (f)) d (b c) a) (#<primitive-procedure list-ref> (a b c d) 2) ==> c (#<primitive-procedure memq> a (a b c)) ==> (a b c) (#<primitive-procedure memq> b (a b c)) ==> (b c) (#<primitive-procedure memq> a (b c d)) ==> #f (#<primitive-procedure memq> (a) (b (a) c)) ==> #f (#<primitive-procedure member> (a) (b (a) c)) ==> ((a) c) (#<primitive-procedure memv> 101 (100 101 102)) ==> (101 102) (#<primitive-procedure assq> a ((a 1) (b 2) (c 3))) ==> (a 1) (#<primitive-procedure assq> b ((a 1) (b 2) (c 3))) ==> (b 2) (#<primitive-procedure assq> d ((a 1) (b 2) (c 3))) ==> #f (#<primitive-procedure assq> (a) (((a)) ((b)) ((c)))) ==> #f (#<primitive-procedure assoc> (a) (((a)) ((b)) ((c)))) ==> ((a)) (#<primitive-procedure assv> 5 ((2 3) (5 7) (11 13))) ==> (5 7) SECTION(6 4) (#<primitive-procedure symbol?> a) ==> #t (standard-case #t) ==> #t (standard-case #t) ==> #t (#<primitive-procedure symbol->string> flying-fish) ==> "flying-fish" (#<primitive-procedure symbol->string> martin) ==> "martin" (#<primitive-procedure symbol->string> \Malvina) ==> "Malvina" (standard-case #t) ==> #t (string-set! "cb") ==> "cb" (#<primitive-procedure symbol->string> ab) ==> "ab" (#<primitive-procedure string->symbol> "ab") ==> ab (#<primitive-procedure eq?> mississippi mississippi) ==> #t (string->symbol #f) ==> #f (#<primitive-procedure string->symbol> "jollywog") ==> jollywog SECTION(6 5 5) (#<primitive-procedure number?> 3) ==> #t (#<primitive-procedure complex?> 3) ==> #t (#<primitive-procedure real?> 3) ==> #t (#<primitive-procedure rational?> 3) ==> #t (#<primitive-procedure integer?> 3) ==> #t (#<primitive-procedure exact?> 3) ==> #t (#<primitive-procedure inexact?> 3) ==> #f (#<primitive-procedure integer-expt> 0 0) ==> 1 (#<primitive-procedure integer-expt> 0 1) ==> 0 (#<primitive-procedure integer-expt> 0 256) ==> 0 (#<primitive-procedure integer-expt> -1 256) ==> 1 (#<primitive-procedure integer-expt> -1 255) ==> -1 (#<primitive-procedure integer-expt> -1 -256) ==> 1 (#<primitive-procedure integer-expt> -1 -255) ==> -1 (#<primitive-procedure integer-expt> 256 0) ==> 1 (#<primitive-procedure integer-expt> -256 0) ==> 1 (#<primitive-procedure integer-expt> 256 1) ==> 256 (#<primitive-procedure integer-expt> -256 1) ==> -256 (#<primitive-procedure integer-expt> 2 3) ==> 8 (#<primitive-procedure integer-expt> -2 3) ==> -8 (#<primitive-procedure integer-expt> 3 2) ==> 9 (#<primitive-procedure integer-expt> -3 2) ==> 9 (#<primitive-procedure => 22 22 22) ==> #t (#<primitive-procedure => 22 22) ==> #t (#<primitive-procedure => 34 34 35) ==> #f (#<primitive-procedure => 34 35) ==> #f (#<primitive-procedure >> 3 -6246) ==> #t (#<primitive-procedure >> 9 9 -2424) ==> #f (#<primitive-procedure >=> 3 -4 -6246) ==> #t (#<primitive-procedure >=> 9 9) ==> #t (#<primitive-procedure >=> 8 9) ==> #f (#<primitive-procedure <> -1 2 3 4 5 6 7 8) ==> #t (#<primitive-procedure <> -1 2 3 4 4 5 6 7) ==> #f (#<primitive-procedure <=> -1 2 3 4 5 6 7 8) ==> #t (#<primitive-procedure <=> -1 2 3 4 4 5 6 7) ==> #t (#<primitive-procedure <> 1 3 2) ==> #f (#<primitive-procedure >=> 1 3 2) ==> #f (#<primitive-procedure zero?> 0) ==> #t (#<primitive-procedure zero?> 1) ==> #f (#<primitive-procedure zero?> -1) ==> #f (#<primitive-procedure zero?> -100) ==> #f (#<primitive-procedure positive?> 4) ==> #t (#<primitive-procedure positive?> -4) ==> #f (#<primitive-procedure positive?> 0) ==> #f (#<primitive-procedure negative?> 4) ==> #f (#<primitive-procedure negative?> -4) ==> #t (#<primitive-procedure negative?> 0) ==> #f (#<primitive-procedure odd?> 3) ==> #t (#<primitive-procedure odd?> 2) ==> #f (#<primitive-procedure odd?> -4) ==> #f (#<primitive-procedure odd?> -1) ==> #t (#<primitive-procedure even?> 3) ==> #f (#<primitive-procedure even?> 2) ==> #t (#<primitive-procedure even?> -4) ==> #t (#<primitive-procedure even?> -1) ==> #f (#<primitive-procedure max> 34 5 7 38 6) ==> 38 (#<primitive-procedure min> 3 5 5 330 4 -24) ==> -24 (#<primitive-procedure +> 3 4) ==> 7 (#<primitive-procedure +> 3) ==> 3 (#<primitive-procedure +>) ==> 0 (#<primitive-procedure *> 4) ==> 4 (#<primitive-procedure *>) ==> 1 (#<primitive-procedure -> 3 4) ==> -1 (#<primitive-procedure -> 3) ==> -3 (#<primitive-procedure abs> -7) ==> 7 (#<primitive-procedure abs> 7) ==> 7 (#<primitive-procedure abs> 0) ==> 0 (#<primitive-procedure quotient> 35 7) ==> 5 (#<primitive-procedure quotient> -35 7) ==> -5 (#<primitive-procedure quotient> 35 -7) ==> -5 (#<primitive-procedure quotient> -35 -7) ==> 5 (#<primitive-procedure modulo> 13 4) ==> 1 (#<primitive-procedure remainder> 13 4) ==> 1 (#<primitive-procedure modulo> -13 4) ==> 3 (#<primitive-procedure remainder> -13 4) ==> -1 (#<primitive-procedure modulo> 13 -4) ==> -3 (#<primitive-procedure remainder> 13 -4) ==> 1 (#<primitive-procedure modulo> -13 -4) ==> -1 (#<primitive-procedure remainder> -13 -4) ==> -1 (#<primitive-procedure modulo> 0 86400) ==> 0 (#<primitive-procedure modulo> 0 -86400) ==> 0 (#<CLOSURE divtest "r4rstest.scm": (n1 n2) (= n1 (+ (* n2 (quotient n1 n2)) (remainder n1 n2)))> 238 9) ==> #t (#<CLOSURE divtest "r4rstest.scm": (n1 n2) (#@= #@n1 (#@+ (#@* #@n2 (#@quotient #@n1 #@n2)) (#@remainder #@n1 #@n2)))> -238 9) ==> #t (#<CLOSURE divtest "r4rstest.scm": (n1 n2) (#@= #@n1 (#@+ (#@* #@n2 (#@quotient #@n1 #@n2)) (#@remainder #@n1 #@n2)))> 238 -9) ==> #t (#<CLOSURE divtest "r4rstest.scm": (n1 n2) (#@= #@n1 (#@+ (#@* #@n2 (#@quotient #@n1 #@n2)) (#@remainder #@n1 #@n2)))> -238 -9) ==> #t (#<primitive-procedure gcd> 0 4) ==> 4 (#<primitive-procedure gcd> -4 0) ==> 4 (#<primitive-procedure gcd> 32 -36) ==> 4 (#<primitive-procedure gcd>) ==> 0 (#<primitive-procedure lcm> 32 -36) ==> 288 (#<primitive-procedure lcm>) ==> 1 SECTION(6 5 5) (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (string->number str))) (cond ((not ans) #t) ((number? ans) #t) (else ans)))> "+#.#") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-#.#") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#.#") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "1/0") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-1/0") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "0/0") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "+1/0i") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-1/0i") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "0/0i") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "0/0-0/0i") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "1/0-1/0i") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-1/0+1/0i") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#i") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#e") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#") ==> #t (#<CLOSURE test-string->number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#i0/0") ==> #t SECTION(6 5 9) (#<primitive-procedure number->string> 0) ==> "0" (#<primitive-procedure number->string> 100) ==> "100" (#<primitive-procedure number->string> 256 16) ==> "100" (#<primitive-procedure string->number> "100") ==> 100 (#<primitive-procedure string->number> "100" 16) ==> 256 (#<primitive-procedure string->number> "") ==> #f (#<primitive-procedure string->number> ".") ==> #f (#<primitive-procedure string->number> "d") ==> #f (#<primitive-procedure string->number> "D") ==> #f (#<primitive-procedure string->number> "i") ==> #f (#<primitive-procedure string->number> "I") ==> #f (#<primitive-procedure string->number> "3i") ==> #f (#<primitive-procedure string->number> "3I") ==> #f (#<primitive-procedure string->number> "33i") ==> #f (#<primitive-procedure string->number> "33I") ==> #f (#<primitive-procedure string->number> "3.3i") ==> #f (#<primitive-procedure string->number> "3.3I") ==> #f (#<primitive-procedure string->number> "-") ==> #f (#<primitive-procedure string->number> "+") ==> #f (string->number #t) ==> #t (string->number #t) ==> #t SECTION(6 6) (#<primitive-procedure eqv?> #\space #\space) ==> #t (#<primitive-procedure eqv?> #\space #\space) ==> #t (#<primitive-procedure char?> #\a) ==> #t (#<primitive-procedure char?> #\() ==> #t (#<primitive-procedure char?> #\space) ==> #t (#<primitive-procedure char?> #\nl) ==> #t (#<primitive-procedure char=?> #\A #\B) ==> #f (#<primitive-procedure char=?> #\a #\b) ==> #f (#<primitive-procedure char=?> #\9 #\0) ==> #f (#<primitive-procedure char=?> #\A #\A) ==> #t (#<primitive-procedure char<?> #\A #\B) ==> #t (#<primitive-procedure char<?> #\a #\b) ==> #t (#<primitive-procedure char<?> #\9 #\0) ==> #f (#<primitive-procedure char<?> #\A #\A) ==> #f (#<primitive-procedure char>?> #\A #\B) ==> #f (#<primitive-procedure char>?> #\a #\b) ==> #f (#<primitive-procedure char>?> #\9 #\0) ==> #t (#<primitive-procedure char>?> #\A #\A) ==> #f (#<primitive-procedure char<=?> #\A #\B) ==> #t (#<primitive-procedure char<=?> #\a #\b) ==> #t (#<primitive-procedure char<=?> #\9 #\0) ==> #f (#<primitive-procedure char<=?> #\A #\A) ==> #t (#<primitive-procedure char>=?> #\A #\B) ==> #f (#<primitive-procedure char>=?> #\a #\b) ==> #f (#<primitive-procedure char>=?> #\9 #\0) ==> #t (#<primitive-procedure char>=?> #\A #\A) ==> #t (#<primitive-procedure char-ci=?> #\A #\B) ==> #f (#<primitive-procedure char-ci=?> #\a #\B) ==> #f (#<primitive-procedure char-ci=?> #\A #\b) ==> #f (#<primitive-procedure char-ci=?> #\a #\b) ==> #f (#<primitive-procedure char-ci=?> #\9 #\0) ==> #f (#<primitive-procedure char-ci=?> #\A #\A) ==> #t (#<primitive-procedure char-ci=?> #\A #\a) ==> #t (#<primitive-procedure char-ci<?> #\A #\B) ==> #t (#<primitive-procedure char-ci<?> #\a #\B) ==> #t (#<primitive-procedure char-ci<?> #\A #\b) ==> #t (#<primitive-procedure char-ci<?> #\a #\b) ==> #t (#<primitive-procedure char-ci<?> #\9 #\0) ==> #f (#<primitive-procedure char-ci<?> #\A #\A) ==> #f (#<primitive-procedure char-ci<?> #\A #\a) ==> #f (#<primitive-procedure char-ci>?> #\A #\B) ==> #f (#<primitive-procedure char-ci>?> #\a #\B) ==> #f (#<primitive-procedure char-ci>?> #\A #\b) ==> #f (#<primitive-procedure char-ci>?> #\a #\b) ==> #f (#<primitive-procedure char-ci>?> #\9 #\0) ==> #t (#<primitive-procedure char-ci>?> #\A #\A) ==> #f (#<primitive-procedure char-ci>?> #\A #\a) ==> #f (#<primitive-procedure char-ci<=?> #\A #\B) ==> #t (#<primitive-procedure char-ci<=?> #\a #\B) ==> #t (#<primitive-procedure char-ci<=?> #\A #\b) ==> #t (#<primitive-procedure char-ci<=?> #\a #\b) ==> #t (#<primitive-procedure char-ci<=?> #\9 #\0) ==> #f (#<primitive-procedure char-ci<=?> #\A #\A) ==> #t (#<primitive-procedure char-ci<=?> #\A #\a) ==> #t (#<primitive-procedure char-ci>=?> #\A #\B) ==> #f (#<primitive-procedure char-ci>=?> #\a #\B) ==> #f (#<primitive-procedure char-ci>=?> #\A #\b) ==> #f (#<primitive-procedure char-ci>=?> #\a #\b) ==> #f (#<primitive-procedure char-ci>=?> #\9 #\0) ==> #t (#<primitive-procedure char-ci>=?> #\A #\A) ==> #t (#<primitive-procedure char-ci>=?> #\A #\a) ==> #t (#<primitive-procedure char-alphabetic?> #\a) ==> #t (#<primitive-procedure char-alphabetic?> #\A) ==> #t (#<primitive-procedure char-alphabetic?> #\z) ==> #t (#<primitive-procedure char-alphabetic?> #\Z) ==> #t (#<primitive-procedure char-alphabetic?> #\0) ==> #f (#<primitive-procedure char-alphabetic?> #\9) ==> #f (#<primitive-procedure char-alphabetic?> #\space) ==> #f (#<primitive-procedure char-alphabetic?> #\;) ==> #f (#<primitive-procedure char-numeric?> #\a) ==> #f (#<primitive-procedure char-numeric?> #\A) ==> #f (#<primitive-procedure char-numeric?> #\z) ==> #f (#<primitive-procedure char-numeric?> #\Z) ==> #f (#<primitive-procedure char-numeric?> #\0) ==> #t (#<primitive-procedure char-numeric?> #\9) ==> #t (#<primitive-procedure char-numeric?> #\space) ==> #f (#<primitive-procedure char-numeric?> #\;) ==> #f (#<primitive-procedure char-whitespace?> #\a) ==> #f (#<primitive-procedure char-whitespace?> #\A) ==> #f (#<primitive-procedure char-whitespace?> #\z) ==> #f (#<primitive-procedure char-whitespace?> #\Z) ==> #f (#<primitive-procedure char-whitespace?> #\0) ==> #f (#<primitive-procedure char-whitespace?> #\9) ==> #f (#<primitive-procedure char-whitespace?> #\space) ==> #t (#<primitive-procedure char-whitespace?> #\;) ==> #f (#<primitive-procedure char-upper-case?> #\0) ==> #f (#<primitive-procedure char-upper-case?> #\9) ==> #f (#<primitive-procedure char-upper-case?> #\space) ==> #f (#<primitive-procedure char-upper-case?> #\;) ==> #f (#<primitive-procedure char-lower-case?> #\0) ==> #f (#<primitive-procedure char-lower-case?> #\9) ==> #f (#<primitive-procedure char-lower-case?> #\space) ==> #f (#<primitive-procedure char-lower-case?> #\;) ==> #f (#<primitive-procedure integer->char> 46) ==> #\. (#<primitive-procedure integer->char> 65) ==> #\A (#<primitive-procedure integer->char> 97) ==> #\a (#<primitive-procedure char-upcase> #\A) ==> #\A (#<primitive-procedure char-upcase> #\a) ==> #\A (#<primitive-procedure char-downcase> #\A) ==> #\a (#<primitive-procedure char-downcase> #\a) ==> #\a SECTION(6 7) (#<primitive-procedure string?> "The word \"recursion\\\" has many meanings.") ==> #t (string-set! "?**") ==> "?**" (#<primitive-procedure string> #\a #\b #\c) ==> "abc" (#<primitive-procedure string>) ==> "" (#<primitive-procedure string-length> "abc") ==> 3 (#<primitive-procedure string-ref> "abc" 0) ==> #\a (#<primitive-procedure string-ref> "abc" 2) ==> #\c (#<primitive-procedure string-length> "") ==> 0 (#<primitive-procedure substring> "ab" 0 0) ==> "" (#<primitive-procedure substring> "ab" 1 1) ==> "" (#<primitive-procedure substring> "ab" 2 2) ==> "" (#<primitive-procedure substring> "ab" 0 1) ==> "a" (#<primitive-procedure substring> "ab" 1 2) ==> "b" (#<primitive-procedure substring> "ab" 0 2) ==> "ab" (#<primitive-procedure string-append> "foo" "bar") ==> "foobar" (#<primitive-procedure string-append> "foo") ==> "foo" (#<primitive-procedure string-append> "foo" "") ==> "foo" (#<primitive-procedure string-append> "" "foo") ==> "foo" (#<primitive-procedure string-append>) ==> "" (#<primitive-procedure make-string> 0) ==> "" (#<primitive-procedure string=?> "" "") ==> #t (#<primitive-procedure string<?> "" "") ==> #f (#<primitive-procedure string>?> "" "") ==> #f (#<primitive-procedure string<=?> "" "") ==> #t (#<primitive-procedure string>=?> "" "") ==> #t (#<primitive-procedure string-ci=?> "" "") ==> #t (#<primitive-procedure string-ci<?> "" "") ==> #f (#<primitive-procedure string-ci>?> "" "") ==> #f (#<primitive-procedure string-ci<=?> "" "") ==> #t (#<primitive-procedure string-ci>=?> "" "") ==> #t (#<primitive-procedure string=?> "A" "B") ==> #f (#<primitive-procedure string=?> "a" "b") ==> #f (#<primitive-procedure string=?> "9" "0") ==> #f (#<primitive-procedure string=?> "A" "A") ==> #t (#<primitive-procedure string<?> "A" "B") ==> #t (#<primitive-procedure string<?> "a" "b") ==> #t (#<primitive-procedure string<?> "9" "0") ==> #f (#<primitive-procedure string<?> "A" "A") ==> #f (#<primitive-procedure string>?> "A" "B") ==> #f (#<primitive-procedure string>?> "a" "b") ==> #f (#<primitive-procedure string>?> "9" "0") ==> #t (#<primitive-procedure string>?> "A" "A") ==> #f (#<primitive-procedure string<=?> "A" "B") ==> #t (#<primitive-procedure string<=?> "a" "b") ==> #t (#<primitive-procedure string<=?> "9" "0") ==> #f (#<primitive-procedure string<=?> "A" "A") ==> #t (#<primitive-procedure string>=?> "A" "B") ==> #f (#<primitive-procedure string>=?> "a" "b") ==> #f (#<primitive-procedure string>=?> "9" "0") ==> #t (#<primitive-procedure string>=?> "A" "A") ==> #t (#<primitive-procedure string-ci=?> "A" "B") ==> #f (#<primitive-procedure string-ci=?> "a" "B") ==> #f (#<primitive-procedure string-ci=?> "A" "b") ==> #f (#<primitive-procedure string-ci=?> "a" "b") ==> #f (#<primitive-procedure string-ci=?> "9" "0") ==> #f (#<primitive-procedure string-ci=?> "A" "A") ==> #t (#<primitive-procedure string-ci=?> "A" "a") ==> #t (#<primitive-procedure string-ci<?> "A" "B") ==> #t (#<primitive-procedure string-ci<?> "a" "B") ==> #t (#<primitive-procedure string-ci<?> "A" "b") ==> #t (#<primitive-procedure string-ci<?> "a" "b") ==> #t (#<primitive-procedure string-ci<?> "9" "0") ==> #f (#<primitive-procedure string-ci<?> "A" "A") ==> #f (#<primitive-procedure string-ci<?> "A" "a") ==> #f (#<primitive-procedure string-ci>?> "A" "B") ==> #f (#<primitive-procedure string-ci>?> "a" "B") ==> #f (#<primitive-procedure string-ci>?> "A" "b") ==> #f (#<primitive-procedure string-ci>?> "a" "b") ==> #f (#<primitive-procedure string-ci>?> "9" "0") ==> #t (#<primitive-procedure string-ci>?> "A" "A") ==> #f (#<primitive-procedure string-ci>?> "A" "a") ==> #f (#<primitive-procedure string-ci<=?> "A" "B") ==> #t (#<primitive-procedure string-ci<=?> "a" "B") ==> #t (#<primitive-procedure string-ci<=?> "A" "b") ==> #t (#<primitive-procedure string-ci<=?> "a" "b") ==> #t (#<primitive-procedure string-ci<=?> "9" "0") ==> #f (#<primitive-procedure string-ci<=?> "A" "A") ==> #t (#<primitive-procedure string-ci<=?> "A" "a") ==> #t (#<primitive-procedure string-ci>=?> "A" "B") ==> #f (#<primitive-procedure string-ci>=?> "a" "B") ==> #f (#<primitive-procedure string-ci>=?> "A" "b") ==> #f (#<primitive-procedure string-ci>=?> "a" "b") ==> #f (#<primitive-procedure string-ci>=?> "9" "0") ==> #t (#<primitive-procedure string-ci>=?> "A" "A") ==> #t (#<primitive-procedure string-ci>=?> "A" "a") ==> #t SECTION(6 8) (#<primitive-procedure vector?> #(0 (2 2 2 2) "Anna")) ==> #t (#<primitive-procedure vector> a b c) ==> #(a b c) (#<primitive-procedure vector>) ==> #() (#<primitive-procedure vector-length> #(0 (2 2 2 2) "Anna")) ==> 3 (#<primitive-procedure vector-length> #()) ==> 0 (#<primitive-procedure vector-ref> #(1 1 2 3 5 8 13 21) 5) ==> 8 (vector-set #(0 ("Sue" "Sue") "Anna")) ==> #(0 ("Sue" "Sue") "Anna") (#<primitive-procedure make-vector> 2 hi) ==> #(hi hi) (#<primitive-procedure make-vector> 0) ==> #() (#<primitive-procedure make-vector> 0 a) ==> #() SECTION(6 9) (#<primitive-procedure procedure?> #<primitive-procedure car>) ==> #t (#<primitive-procedure procedure?> #<CLOSURE <anon> "r4rstest.scm": (x) (* x x)>) ==> #t (#<primitive-procedure procedure?> (lambda (x) (* x x))) ==> #f (#<primitive-procedure call-with-current-continuation> #<primitive-procedure procedure?>) ==> #t (#<primitive-procedure apply> #<primitive-procedure +> (3 4)) ==> 7 (#<primitive-procedure apply> #<CLOSURE <anon> "r4rstest.scm": (a b) (+ a b)> (3 4)) ==> 7 (#<primitive-procedure apply> #<primitive-procedure +> 10 (3 4)) ==> 17 (#<primitive-procedure apply> #<primitive-procedure list> ()) ==> () (#<CLOSURE <anon> "r4rstest.scm": args (f (apply g args))> 12 75) ==> 30 (#<primitive-procedure map> #<primitive-procedure cadr> ((a b) (d e) (g h))) ==> (b e h) (#<primitive-procedure map> #<primitive-procedure +> (1 2 3) (4 5 6)) ==> (5 7 9) (#<primitive-procedure map> #<primitive-procedure +> (1 2 3)) ==> (1 2 3) (#<primitive-procedure map> #<primitive-procedure *> (1 2 3)) ==> (1 2 3) (#<primitive-procedure map> #<primitive-procedure -> (1 2 3)) ==> (-1 -2 -3) (for-each #(0 1 4 9 16)) ==> #(0 1 4 9 16) (#<primitive-procedure call-with-current-continuation> #<CLOSURE <anon> "r4rstest.scm": (exit) (for-each (lambda (x) (if (negative? x) (exit x))) (quote (54 0 37 -3 245 19))) #t>) ==> -3 (#<CLOSURE list-length "r4rstest.scm": (obj) (call-with-current-continuation (lambda (return) (letrec ((r (lambda (obj) (cond ((null? obj) 0) ((pair? obj) (+ (r (cdr obj)) 1)) (else (return #f)))))) (r obj))))> (1 2 3 4)) ==> 4 (#<CLOSURE list-length "r4rstest.scm": (obj) (#@call-with-current-continuation (#@lambda (return) (#@letrec ((r (#@lambda (obj) (#@cond ((#@null? #@obj) 0) ((#@pair? #@obj) (#@+ (#@r (#@cdr #@obj)) 1)) (#t (return #f)))))) (#@r #@obj))))> (a b . c)) ==> #f (#<primitive-procedure map> #<primitive-procedure cadr> ()) ==> () SECTION(6 10 1) (#<primitive-procedure input-port?> #<input-port 0>) ==> #t (#<primitive-procedure output-port?> #<output-port 1 L1 C1>) ==> #t (#<CLOSURE call-with-input-file "/Users/pbulk/build/lang/scm/work/scm/Init5e3.scm": (str proc) (#@call-with-open-ports (#@open-input-file #@str) #@proc)> "r4rstest.scm" #<primitive-procedure input-port?>) ==> #t (#<primitive-procedure input-port?> #<input-port "r4rstest.scm">) ==> #t SECTION(6 10 2) (#<primitive-procedure peek-char> #<input-port "r4rstest.scm">) ==> #\; (#<primitive-procedure read-char> #<input-port "r4rstest.scm">) ==> #\; (#<primitive-procedure read> #<input-port "r4rstest.scm">) ==> (define cur-section (quote ())) (#<primitive-procedure peek-char> #<input-port "r4rstest.scm">) ==> #\( (#<primitive-procedure read> #<input-port "r4rstest.scm">) ==> (define errs (quote ())) SECTION(6 10 3) (#<CLOSURE call-with-output-file "/Users/pbulk/build/lang/scm/work/scm/Init5e3.scm": (str proc) (#@call-with-open-ports (#@open-output-file #@str) #@proc)> "tmp1" #<CLOSURE <anon> "r4rstest.scm": (test-file) (write-char #\; test-file) (display #\; test-file) (display ";" test-file) (write write-test-obj test-file) (newline test-file) (write load-test-obj test-file) (output-port? test-file)>) ==> #t (#<primitive-procedure read> #<input-port "tmp1">) ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))) (#<primitive-procedure eof-object?> #<eof>) ==> #t (#<primitive-procedure eof-object?> #<eof>) ==> #t (input-port? #t) ==> #t (#<primitive-procedure read-char> #<input-port "tmp1">) ==> #\; (#<primitive-procedure read-char> #<input-port "tmp1">) ==> #\; (#<primitive-procedure read-char> #<input-port "tmp1">) ==> #\; (#<primitive-procedure read> #<input-port "tmp1">) ==> (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)) (#<primitive-procedure read> #<input-port "tmp1">) ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))) (#<primitive-procedure output-port?> #<output-port "tmp2">) ==> #t (#<primitive-procedure read> #<input-port "tmp2">) ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))) (#<primitive-procedure eof-object?> #<eof>) ==> #t (#<primitive-procedure eof-object?> #<eof>) ==> #t (input-port? #t) ==> #t (#<primitive-procedure read-char> #<input-port "tmp2">) ==> #\; (#<primitive-procedure read-char> #<input-port "tmp2">) ==> #\; (#<primitive-procedure read-char> #<input-port "tmp2">) ==> #\; (#<primitive-procedure read> #<input-port "tmp2">) ==> (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)) (#<primitive-procedure read> #<input-port "tmp2">) ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))) Passed all tests To fully test continuations, Scheme 4, and DELAY/FORCE do: (test-cont) (test-sc4) (test-delay) ;testing scheme 4 functions; SECTION(6 7) (#<primitive-procedure string->list> "P l") ==> (#\P #\space #\l) (#<primitive-procedure string->list> "") ==> () (#<primitive-procedure list->string> (#\1 #\\ #\")) ==> "1\\\"" (#<primitive-procedure list->string> ()) ==> "" SECTION(6 8) (#<primitive-procedure vector->list> #(dah dah didah)) ==> (dah dah didah) (#<primitive-procedure vector->list> #()) ==> () (#<primitive-procedure list->vector> (dididit dah)) ==> #(dididit dah) (#<primitive-procedure list->vector> ()) ==> #() SECTION(6 10 4) (load (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c))) ==> (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)) Passed all tests ;testing DELAY and FORCE; SECTION(6 9) (delay 3) ==> 3 (delay (3 3)) ==> (3 3) (delay 2) ==> 2 (#<primitive-procedure force> #<promise #<CLOSURE test-delay "r4rstest.scm": () (begin (set! count (+ count 1)) (if (> count x) count (force p)))>>) ==> 6 (#<primitive-procedure force> #<promise 6>) ==> 6 (force 3) ==> 3 Passed all tests echo "-F cautious bignums arrays inexact" >> libscm.opt echo "-F engineering-notation" >> libscm.opt echo "-F dynamic-linking" >> libscm.opt ./build -hsystem -t lib -f libscm.opt ; Scheme (unix) script created by SLIB/batch ; [-p darwin] ; used options from: libscm.opt ; ================ Write file with C defines (delete-file "scmflags.h") (call-with-output-file "scmflags.h" (lambda (fp) (for-each (lambda (string) (write-line string fp)) '("#define IMPLINIT \"Init5e3.scm\"" "#define CAUTIOUS" "#define BIGNUMS" "#define ARRAYS" "#define FLOATS" "#define ENGNOT")))) ; ================ Compile C source files (system "cc -O3 -c dynl.c continue.c scm.c findexec.c script.c time.c repl.c scl.c eval.c sys.c subr.c debug.c unif.c rope.c") scm.c:197:17: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] wta(UNDEFINED, (char *)i, ""); ^~~~~~~~~ scm.c:280:41: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] wta(MAKINUM(sig), (i < 0 ? s_unksig : (char *)(i + SIGNAL_BASE)), ""); ^~~~~~~~~~~~~~~~~~~~~~~~~ scm.c:312:22: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] wta(UNDEFINED, (char *)i, ""); ^~~~~~~~~ scm.c:345:15: warning: implicit declaration of function 'alarm' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(j = alarm(INUM(i));); ^ scm.c:390:3: warning: implicit declaration of function 'pause' is invalid in C99 [-Wimplicit-function-declaration] pause(); ^ scm.c:419:15: warning: implicit declaration of function 'sleep' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(j = sleep(INUM(i));); ^ scm.c:475:15: warning: implicit declaration of function 'getpid' is invalid in C99 [-Wimplicit-function-declaration] return kill(getpid (), (int)INUM(sig)) ? BOOL_F : BOOL_T; ^ scm.c:582:3: warning: implicit declaration of function 'alarm' is invalid in C99 [-Wimplicit-function-declaration] alarm(0); /* kill any pending ALRM interrupts */ ^ scm.c:842:7: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration] if (isatty(fileno(inport))) { ^ 9 warnings generated. script.c:173:9: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *extptr = exec_path + strlen(exec_path); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ script.c:189:10: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] extptr = exec_path + strlen(exec_path); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ script.c:386:12: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] nargv[0] = argv[0]; ^ ~~~~~~~ script.c:401:22: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] nargv[nargi++] = argv[argi++]; ^ ~~~~~~~~~~~~ script.c:404:39: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] while (argi <= argc) nargv[nargi++] = argv[argi++]; ^ ~~~~~~~~~~~~ 5 warnings generated. time.c:367:12: warning: shifting a negative signed value is undefined [-Wshift-negative-value] return MAKINUM(-1); ^~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ 1 warning generated. repl.c:513:5: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] ASRTER(NIMP(port) && OPINPORTP(port) && (BUF0 & SCM_PORTFLAGS(port)), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1123:85: note: expanded from macro 'ASRTER' # define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr); ^~~~~~~~~~~~~~ repl.c:1291:20: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] wta(UNDEFINED, (char *)i, ""); /* sends it to def_err_response */ ^~~~~~~~~ repl.c:1392:8: warning: implicitly declaring library function 'isspace' with type 'int (int)' [-Wimplicit-function-declaration] (isspace(initpath[0]) || ';'==initpath[0] || '('==initpath[0])) ^ repl.c:1392:8: note: include the header <ctype.h> or explicitly provide a declaration for 'isspace' repl.c:1623:37: warning: implicit declaration of function 'sbrk' is invalid in C99 [-Wimplicit-function-declaration] scm_dumped_brk = (unsigned long)sbrk(0); ^ repl.c:1629:45: warning: implicit declaration of function 'sbrk' is invalid in C99 [-Wimplicit-function-declaration] unsigned long scm_curbrk = (unsigned long)sbrk(0), ^ repl.c:2054:47: warning: cast to smaller integer type 'int' from 'char *' [-Wpointer-to-int-cast] lputc((long)err_pos <= ARGn ? ' ' : '1' + (int)err_pos - ARG1, cur_errp); ^~~~~~~~~~~~ repl.c:2057:23: warning: cast to smaller integer type 'int' from 'char *' [-Wpointer-to-int-cast] else lputs(errmsgs[((int)err_pos)-WNA].msg, cur_errp); ^~~~~~~~~~~~ repl.c:2110:11: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] err_pos = pos; ^ ~~~ repl.c:2111:14: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] err_s_subr = s_subr; ^ ~~~~~~ repl.c:2116:24: warning: cast to smaller integer type 'int' from 'const char *' [-Wpointer-to-int-cast] COOKIE(1) : COOKIE((int)pos)); ^~~~~~~~ ./scm.h:286:21: note: expanded from macro 'COOKIE' # define COOKIE(n) (n) ^ repl.c:2193:10: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration] return isatty(fileno(STREAM(port)))?BOOL_T:BOOL_F; ^ 11 warnings generated. scl.c:1071:12: warning: incompatible pointer types passing 'size_t *' (aka 'unsigned long *') to parameter of type 'int *' [-Wincompatible-pointer-types] frexp(d, &dlen); ^~~~~ /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/math.h:401:34: note: passing argument to parameter here extern double frexp(double, int *); ^ scl.c:2041:30: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if ((MAKINUM(1L)==x) || (MAKINUM(-1L)==x)) return x; ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ scl.c:2179:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] else goto overflow; ^ scl.c:2161:7: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (MAKINUM(-1L)==z1) return BOOL_F==evenp(z2)?z1:acc; ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ scl.c:2455:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ 5 warnings generated. eval.c:3123:7: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] ASRTER(CONSP(ve[i]), ve[i], 0==i ? ARG2 : ARGn, s_map); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1123:85: note: expanded from macro 'ASRTER' # define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr); ^~~~~~~~~~~~~~ eval.c:3170:7: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] ASRTER(CONSP(ve[i]), ve[i], 0==i ? ARG2 : ARGn, s_for_each); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1123:85: note: expanded from macro 'ASRTER' # define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr); ^~~~~~~~~~~~~~ 2 warnings generated. sys.c:285:11: warning: 'tmpnam' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead. [-Wdeprecated-declarations] SYSCALL(tmpnam(name);); ^ /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/stdio.h:186:1: note: 'tmpnam' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead.") ^ /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/cdefs.h:208:48: note: expanded from macro '__deprecated_msg' #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg))) ^ sys.c:369:47: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration] if (OPENP(exp) && tc16_fport==TYP16(exp) && isatty(fileno(STREAM(exp)))) ^ sys.c:370:11: warning: implicit declaration of function 'ttyname' is invalid in C99 [-Wimplicit-function-declaration] lputs(ttyname(fileno(STREAM(exp))), port); ^ sys.c:370:11: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const char *' [-Wint-conversion] lputs(ttyname(fileno(STREAM(exp))), port); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:777:38: note: passing argument to parameter 's' here SCM_EXPORT void lputs P((const char *s, SCM port)); ^ sys.c:1398:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ sys.c:1662:19: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (!ncont) wta(MAKINUM(-1), (char *)NALLOC, s_cont); ^~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ sys.c:2178:41: warning: shifting a negative signed value is undefined [-Wshift-negative-value] sysintern("most-negative-fixnum", (SCM)MAKINUM(MOST_NEGATIVE_FIXNUM)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ sys.c:2624:22: warning: cast to smaller integer type 'int' from 'SCM *' (aka 'long *') [-Wpointer-to-int-cast] while(0 <= --m) if (CELLP(*(SCM **)&x[m])) { ^~~~~~~~~~~~~~~~~~~~~ ./scm.h:301:20: note: expanded from macro 'CELLP' #define CELLP(x) (!NCELLP(x)) ^~~~~~~~~ ./scm.h:302:39: note: expanded from macro 'NCELLP' #define NCELLP(x) ((sizeof(cell)-1) & (int)(x)) ^~~~~~~~ 8 warnings generated. subr.c:220:8: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] erout: ASRTER(NIMP(lst) && CONSP(lst), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1123:85: note: expanded from macro 'ASRTER' # define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr); ^~~~~~~~~~~~~~ subr.c:891:37: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (blen <= -cnt) return sign ? MAKINUM(-1) : INUM0; ^~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ subr.c:993:27: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (UNBNDP(x)) return MAKINUM(-1); ^~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ subr.c:1190:21: warning: shifting a negative signed value is undefined [-Wshift-negative-value] return difference(MAKINUM(-1L), n); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ subr.c:1324:52: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (BIGSIGN(n)) return scm_logcount(difference(MAKINUM(-1L), n)); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ subr.c:1349:53: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (BIGSIGN(n)) return scm_intlength(difference(MAKINUM(-1L), n)); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ subr.c:1800:31: warning: while loop has empty body [-Wempty-body] while (nlen-- && !zds[nlen]); nlen++; ^ subr.c:1800:31: note: put the semicolon on a separate line to silence this warning subr.c:1960:13: warning: promoted type 'int' of K&R function parameter is not compatible with the parameter type 'unsigned short' declared in a previous prototype [-Wknr-promoted-parameter] BIGDIG div; ^ ./scm.h:1077:66: note: previous declaration is here SCM_EXPORT unsigned int divbigdig P((BIGDIG *ds, sizet h, BIGDIG div)); ^ 8 warnings generated. unif.c:141:12: warning: promoted type 'double' of K&R function parameter is not compatible with the parameter type 'float' declared in a previous prototype [-Wknr-promoted-parameter] float x; ^ ./scm.h:1005:33: note: previous declaration is here SCM_EXPORT SCM makflo P((float x)); ^ unif.c:1098:38: warning: implicit declaration of function 'num2char' is invalid in C99 [-Wimplicit-function-declaration] ((signed char *)VELTS(v))[pos] = num2char(obj, (char *)ARG2, s_aset); break; ^ unif.c:1396:24: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (0==len) return MAKINUM(-1L); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ unif.c:2022:28: warning: shifting a negative signed value is undefined [-Wshift-negative-value] case tc7_VfixZ32: return MAKINUM(-32L); ^~~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ unif.c:2024:28: warning: shifting a negative signed value is undefined [-Wshift-negative-value] case tc7_VfixZ16: return MAKINUM(-16L); ^~~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ unif.c:2026:27: warning: shifting a negative signed value is undefined [-Wshift-negative-value] case tc7_VfixZ8: return MAKINUM(-8L); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ 6 warnings generated. rope.c:129:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:161:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:170:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:179:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:193:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:253:15: warning: passing 'const char *const' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] must_free(argv[i], 1+strlen(argv[i])); ^~~~~~~ ./scm.h:720:36: note: passing argument to parameter 'obj' here SCM_EXPORT void must_free P((char *obj, sizet len)); ^ 6 warnings generated. ; ================ Link C object files (system "ar rc libscm.a dynl.o continue.o scm.o findexec.o script.o time.o repl.o scl.o eval.o sys.o subr.o debug.o unif.o rope.o") (system "ranlib libscm.a") cd /Users/pbulk/build/lang/scm/work/scm && env USETOOLS=no GOTMPDIR=/Users/pbulk/build MACOSX_DEPLOYMENT_TARGET=12.3 CC=clang CFLAGS=-pipe\ -Os\ -DX11\ -I/opt/pkg/include\ -I/opt/pkg/include/ncurses CPPFLAGS=-I/opt/pkg/include\ -I/opt/pkg/include/ncurses CXX=clang++ CXXFLAGS=-pipe\ -Os\ -DX11\ -I/opt/pkg/include\ -I/opt/pkg/include/ncurses COMPILER_RPATH_FLAG=-L F77=f77 FC=f77 FFLAGS=-O LANG=C LC_ALL=C LC_COLLATE=C LC_CTYPE=C LC_MESSAGES=C LC_MONETARY=C LC_NUMERIC=C LC_TIME=C LDFLAGS=-L/opt/pkg/lib LINKER_RPATH_FLAG=-L PATH=/Users/pbulk/build/lang/scm/work/.cwrapper/bin:/Users/pbulk/build/lang/scm/work/.buildlink/bin:/Users/pbulk/build/lang/scm/work/.tools/bin:/opt/pkg/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/pkg/bin:/opt/pkg/bin PREFIX=/opt/pkg MAKELEVEL=0 CONFIG_SITE= ftp_proxy=downloads-forbidden-except-during-fetch http_proxy=downloads-forbidden-except-during-fetch https_proxy=downloads-forbidden-except-during-fetch no_proxy= PKG_SYSCONFDIR=/opt/pkg/etc CXXCPP=clang\ -E HOME=/Users/pbulk/build/lang/scm/work/.home CWRAPPERS_CONFIG_DIR=/Users/pbulk/build/lang/scm/work/.cwrapper/config CPP=clang\ -E LOCALBASE=/opt/pkg X11BASE=/opt/pkg PKGMANDIR=share/man PKGINFODIR=info PKGGNUDIR=gnu/ MAKECONF=/dev/null OBJECT_FMT=Mach-O USETOOLS=no BSD_INSTALL_PROGRAM=/usr/bin/install\ -c\ \ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_SCRIPT=/usr/bin/install\ -c\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_LIB=/usr/bin/install\ -c\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_DATA=/usr/bin/install\ -c\ -o\ pbulk\ -g\ staff\ -m\ 644 BSD_INSTALL_MAN=/usr/bin/install\ -c\ -o\ pbulk\ -g\ staff\ -m\ 644 BSD_INSTALL=/usr/bin/install BSD_INSTALL_PROGRAM_DIR=/usr/bin/install\ -d\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_SCRIPT_DIR=/usr/bin/install\ -d\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_LIB_DIR=/usr/bin/install\ -d\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_DATA_DIR=/usr/bin/install\ -d\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_MAN_DIR=/usr/bin/install\ -d\ -o\ pbulk\ -g\ staff\ -m\ 755 BSD_INSTALL_GAME=/usr/bin/install\ -c\ \ -o\ pbulk\ -g\ staff\ -m\ 2555 BSD_INSTALL_GAME_DATA=/usr/bin/install\ -c\ -o\ pbulk\ -g\ staff\ -m\ 664 BSD_INSTALL_GAME_DIR=/usr/bin/install\ -d\ -o\ pbulk\ -g\ staff\ -m\ 775 INSTALL_INFO=/Users/pbulk/build/lang/scm/work/.tools/bin/install-info MAKEINFO=/Users/pbulk/build/lang/scm/work/.tools/bin/makeinfo FLEX= BISON= ITSTOOL=/Users/pbulk/build/lang/scm/work/.tools/bin/itstool GDBUS_CODEGEN=/Users/pbulk/build/lang/scm/work/.tools/bin/gdbus-codegen PKG_CONFIG=/Users/pbulk/build/lang/scm/work/.tools/bin/pkg-config PKG_CONFIG_LIBDIR=/Users/pbulk/build/lang/scm/work/.buildlink/lib/pkgconfig:/Users/pbulk/build/lang/scm/work/.buildlink/share/pkgconfig PKG_CONFIG_LOG=/Users/pbulk/build/lang/scm/work/.pkg-config.log PKG_CONFIG_PATH= CWRAPPERS_CONFIG_DIR=/Users/pbulk/build/lang/scm/work/.cwrapper/config LIBS=-L/opt/pkg/lib\ -lX11\ SRCS=sc2.c\ ramap.c\ dynl.c\ edline.c\ gsubr.c\ ioext.c\ posix.c\ record.c\ rgx.c\ socket.c\ unix.c\ continue.c\ scm.c\ scmmain.c\ findexec.c\ script.c\ time.c\ repl.c\ scl.c\ eval.c\ sys.c\ subr.c\ debug.c\ unif.c\ rope.c\ unexelf.c\ x.c OBJS=sc2.o\ ramap.o\ dynl.o\ edline.o\ gsubr.o\ ioext.o\ posix.o\ record.o\ rgx.o\ socket.o\ unix.o\ continue.o\ scm.o\ scmmain.o\ findexec.o\ script.o\ time.o\ repl.o\ scl.o\ eval.o\ sys.o\ subr.o\ debug.o\ unif.o\ rope.o\ unexelf.o\ x.o /opt/pkg/bin/mksh ./buildscm.sh ramap.c:212:41: warning: shifting a negative signed value is undefined [-Wshift-negative-value] hp_indv = make_uve(ARRAY_NDIM(ra0)+0L, MAKINUM(-32L)); ^~~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ ramap.c:1568:30: warning: shifting a negative signed value is undefined [-Wshift-negative-value] hp_indv = make_uve(i+0L, MAKINUM(-32L)); ^~~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ 2 warnings generated. gsubr.c:128:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ 1 warning generated. ioext.c:257:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] SCM_OPENCALL(f = freopen(CHARS(filename), cmodes, STREAM(port))); ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^~~~ ioext.c:257:18: note: place parentheses around the assignment to silence this warning SCM_OPENCALL(f = freopen(CHARS(filename), cmodes, STREAM(port))); ^ ( ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ ioext.c:257:18: note: use '==' to turn this assignment into an equality comparison SCM_OPENCALL(f = freopen(CHARS(filename), cmodes, STREAM(port))); ^ == ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ ioext.c:290:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] SCM_OPENCALL(tfd = dup(fileno(STREAM(oldpt)))); ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^~~~ ioext.c:290:20: note: place parentheses around the assignment to silence this warning SCM_OPENCALL(tfd = dup(fileno(STREAM(oldpt)))); ^ ( ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ ioext.c:290:20: note: use '==' to turn this assignment into an equality comparison SCM_OPENCALL(tfd = dup(fileno(STREAM(oldpt)))); ^ == ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ ioext.c:319:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] SCM_OPENCALL(ans = dup2(oldfd, newfd)); ~~~~^~~~~~~~~~~~~~~~~~~~ ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^~~~ ioext.c:319:20: note: place parentheses around the assignment to silence this warning SCM_OPENCALL(ans = dup2(oldfd, newfd)); ^ ( ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ ioext.c:319:20: note: use '==' to turn this assignment into an equality comparison SCM_OPENCALL(ans = dup2(oldfd, newfd)); ^ == ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ ioext.c:341:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] SCM_OPENCALL(ds = opendir(CHARS(dirname))); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^~~~ ioext.c:341:19: note: place parentheses around the assignment to silence this warning SCM_OPENCALL(ds = opendir(CHARS(dirname))); ^ ( ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ ioext.c:341:19: note: use '==' to turn this assignment into an equality comparison SCM_OPENCALL(ds = opendir(CHARS(dirname))); ^ == ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ ioext.c:869:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] SCM_OPENCALL(fd = open(CHARS(fname), fdflags, cperms)); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^~~~ ioext.c:869:19: note: place parentheses around the assignment to silence this warning SCM_OPENCALL(fd = open(CHARS(fname), fdflags, cperms)); ^ ( ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ ioext.c:869:19: note: use '==' to turn this assignment into an equality comparison SCM_OPENCALL(fd = open(CHARS(fname), fdflags, cperms)); ^ == ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ 5 warnings generated. posix.c:80:17: warning: implicit declaration of function 'chown' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(val = chown(CHARS(path), INUM(owner), INUM(group));); ^ posix.c:91:17: warning: implicit declaration of function 'link' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(val = link(CHARS(oldpath), CHARS(newpath));); ^ posix.c:102:17: warning: implicit declaration of function 'pipe' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(ret = pipe(fd);); ^ posix.c:106:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration] close(fd[0]); ^ posix.c:109:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] SCM_OPENCALL(f_wt = fdopen(fd[1], "w")); ~~~~~^~~~~~~~~~~~~~~~~~~~ ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^~~~ posix.c:109:21: note: place parentheses around the assignment to silence this warning SCM_OPENCALL(f_wt = fdopen(fd[1], "w")); ^ ( ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ posix.c:109:21: note: use '==' to turn this assignment into an equality comparison SCM_OPENCALL(f_wt = fdopen(fd[1], "w")); ^ == ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ posix.c:113:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration] close(fd[1]); ^ posix.c:105:7: warning: variable 'f_wt' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (!f_rd) { ^~~~~ posix.c:117:25: note: uninitialized use occurs here p_wt = scm_port_entry(f_wt, tc16_fport, mode_bits("w", (char *)0)); ^~~~ posix.c:105:3: note: remove the 'if' if its condition is always false if (!f_rd) { ^~~~~~~~~~~~ posix.c:98:20: note: initialize the variable 'f_wt' to silence this warning FILE *f_rd, *f_wt; ^ = NULL posix.c:134:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] SCM_OPENCALL(f = popen(CHARS(pipestr), CHARS(modes))); ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^~~~ posix.c:134:17: note: place parentheses around the assignment to silence this warning SCM_OPENCALL(f = popen(CHARS(pipestr), CHARS(modes))); ^ ( ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ posix.c:134:17: note: use '==' to turn this assignment into an equality comparison SCM_OPENCALL(f = popen(CHARS(pipestr), CHARS(modes))); ^ == ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ posix.c:148:17: warning: implicit declaration of function 'getgroups' is invalid in C99 [-Wimplicit-function-declaration] int ngroups = getgroups(0, 0); ^ posix.c:218:28: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] ve[ 3] = makfromstrs(-1, entry->gr_mem); ^~~~~~~~~~~~~ ./scm.h:1049:62: note: passing argument to parameter 'argv' here SCM_EXPORT SCM makfromstrs P((int argc, const char * const *argv)); ^ posix.c:259:21: warning: implicit declaration of function 'getppid' is invalid in C99 [-Wimplicit-function-declaration] return MAKINUM(0L+getppid()); ^ posix.c:264:21: warning: implicit declaration of function 'getuid' is invalid in C99 [-Wimplicit-function-declaration] return MAKINUM(0L+getuid()); ^ posix.c:268:21: warning: implicit declaration of function 'getgid' is invalid in C99 [-Wimplicit-function-declaration] return MAKINUM(0L+getgid()); ^ posix.c:273:21: warning: implicit declaration of function 'geteuid' is invalid in C99 [-Wimplicit-function-declaration] return MAKINUM(0L+geteuid()); ^ posix.c:277:21: warning: implicit declaration of function 'getegid' is invalid in C99 [-Wimplicit-function-declaration] return MAKINUM(0L+getegid()); ^ posix.c:286:10: warning: implicit declaration of function 'setuid' is invalid in C99 [-Wimplicit-function-declaration] return setuid(INUM(id)) ? BOOL_F : BOOL_T; ^ posix.c:293:10: warning: implicit declaration of function 'setgid' is invalid in C99 [-Wimplicit-function-declaration] return setgid(INUM(id)) ? BOOL_F : BOOL_T; ^ posix.c:302:10: warning: implicit declaration of function 'seteuid' is invalid in C99 [-Wimplicit-function-declaration] return seteuid(INUM(id)) ? BOOL_F : BOOL_T; ^ posix.c:309:10: warning: implicit declaration of function 'setegid' is invalid in C99 [-Wimplicit-function-declaration] return setegid(INUM(id)) ? BOOL_F : BOOL_T; ^ posix.c:320:17: warning: implicit declaration of function 'ttyname' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(ans = ttyname(fileno(STREAM(port)));); ^ posix.c:320:15: warning: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion] SYSCALL(ans = ttyname(fileno(STREAM(port)));); ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:803:37: note: expanded from macro 'SYSCALL' # define SYSCALL(line) do{errno = 0;line}while(SCM_INTERRUPTED(errno)) ^~~~ posix.c:327:19: warning: implicit declaration of function 'fork' is invalid in C99 [-Wimplicit-function-declaration] long pid = 0L + fork(); ^ 22 warnings generated. record.c:190:33: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'char *' [-Wint-conversion] wna: rec_error(UNDEFINED, WNA, s_rec_constr1, RCLO_RTD(cclo), -1); ^~~ ./scm.h:1134:25: note: expanded from macro 'WNA' #define WNA 7 ^ record.c:226:20: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'char *' [-Wint-conversion] rec_error(rec, ARG1, s_rec_accessor1, RCLO_RTD(cclo), i); ^~~~ ./scm.h:1128:25: note: expanded from macro 'ARG1' #define ARG1 2 ^ record.c:237:20: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'char *' [-Wint-conversion] rec_error(rec, ARG1, s_rec_modifier1, RCLO_RTD(cclo), i); ^~~~ ./scm.h:1128:25: note: expanded from macro 'ARG1' #define ARG1 2 ^ 3 warnings generated. rgx.c:322:45: warning: shifting a negative signed value is undefined [-Wshift-negative-value] ans = make_vector(MAKINUM(2L * nsub), MAKINUM(-1L)); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ rgx.c:455:49: warning: shifting a negative signed value is undefined [-Wshift-negative-value] matches = make_vector(MAKINUM(2L * nsub), MAKINUM(-1L)); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ rgx.c:57:13: warning: unused variable 'rcsid' [-Wunused-variable] static char rcsid[] = ^ 3 warnings generated. socket.c:171:28: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] ve[ 1] = makfromstrs(-1, entry->h_aliases); ^~~~~~~~~~~~~~~~ ./scm.h:1049:62: note: passing argument to parameter 'argv' here SCM_EXPORT SCM makfromstrs P((int argc, const char * const *argv)); ^ socket.c:176:12: warning: assigning to 'const char **' from 'char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] for(argv = entry->h_addr_list; argv[i]; i++); ^ ~~~~~~~~~~~~~~~~~~ socket.c:208:28: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] ve[ 1] = makfromstrs(-1, entry->n_aliases); ^~~~~~~~~~~~~~~~ ./scm.h:1049:62: note: passing argument to parameter 'argv' here SCM_EXPORT SCM makfromstrs P((int argc, const char * const *argv)); ^ socket.c:238:28: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] ve[ 1] = makfromstrs(-1, entry->p_aliases); ^~~~~~~~~~~~~~~~ ./scm.h:1049:62: note: passing argument to parameter 'argv' here SCM_EXPORT SCM makfromstrs P((int argc, const char * const *argv)); ^ socket.c:271:28: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] ve[ 1] = makfromstrs(-1, entry->s_aliases); ^~~~~~~~~~~~~~~~ ./scm.h:1049:62: note: passing argument to parameter 'argv' here SCM_EXPORT SCM makfromstrs P((int argc, const char * const *argv)); ^ socket.c:325:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration] close(sd); ^ socket.c:357:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] SCM_OPENCALL(f[0] = fdopen(sv[0], "r+")); ~~~~~^~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^~~~ socket.c:357:21: note: place parentheses around the assignment to silence this warning SCM_OPENCALL(f[0] = fdopen(sv[0], "r+")); ^ ( ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ socket.c:357:21: note: use '==' to turn this assignment into an equality comparison SCM_OPENCALL(f[0] = fdopen(sv[0], "r+")); ^ == ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ socket.c:359:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration] close(sv[0]); ^ socket.c:362:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] SCM_OPENCALL(f[1] = fdopen(sv[1], "r+")); ~~~~~^~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^~~~ socket.c:362:21: note: place parentheses around the assignment to silence this warning SCM_OPENCALL(f[1] = fdopen(sv[1], "r+")); ^ ( ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ socket.c:362:21: note: use '==' to turn this assignment into an equality comparison SCM_OPENCALL(f[1] = fdopen(sv[1], "r+")); ^ == ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ socket.c:365:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration] close(sv[1]); ^ socket.c:505:56: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign] SYSCALL(newsd = accept(fileno(STREAM(sockpt)), &sad, &sadlen);); ^~~~~~~ ./scmfig.h:803:37: note: expanded from macro 'SYSCALL' # define SYSCALL(line) do{errno = 0;line}while(SCM_INTERRUPTED(errno)) ^~~~ /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/socket.h:704:73: note: passing argument to parameter here int accept(int, struct sockaddr * __restrict, socklen_t * __restrict) ^ socket.c:514:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] SCM_OPENCALL(newfd = fdopen(newsd, "r+")); ~~~~~~^~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^~~~ socket.c:514:22: note: place parentheses around the assignment to silence this warning SCM_OPENCALL(newfd = fdopen(newsd, "r+")); ^ ( ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ socket.c:514:22: note: use '==' to turn this assignment into an equality comparison SCM_OPENCALL(newfd = fdopen(newsd, "r+")); ^ == ./scmfig.h:817:36: note: expanded from macro 'SCM_OPENCALL' while (!0) {errno = 0; if (line) break;\ ^ socket.c:516:5: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration] close(newsd); ^ socket.c:614:32: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign] (struct sockaddr*)&sad, &sadlen);); ^~~~~~~ ./scmfig.h:803:37: note: expanded from macro 'SYSCALL' # define SYSCALL(line) do{errno = 0;line}while(SCM_INTERRUPTED(errno)) ^~~~ /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/socket.h:708:78: note: passing argument to parameter here int getpeername(int, struct sockaddr * __restrict, socklen_t * __restrict) ^ socket.c:617:18: warning: incompatible pointer types passing 'struct sockaddr_in *' to parameter of type 'struct sockaddr *' [-Wincompatible-pointer-types] return maksknm(&sad); ^~~~ socket.c:628:32: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign] (struct sockaddr*)&sad, &sadlen);); ^~~~~~~ ./scmfig.h:803:37: note: expanded from macro 'SYSCALL' # define SYSCALL(line) do{errno = 0;line}while(SCM_INTERRUPTED(errno)) ^~~~ /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/socket.h:710:78: note: passing argument to parameter here int getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict) ^ socket.c:630:18: warning: incompatible pointer types passing 'struct sockaddr_in *' to parameter of type 'struct sockaddr *' [-Wincompatible-pointer-types] return maksknm(&sad); ^~~~ 17 warnings generated. unix.c:100:19: warning: implicit declaration of function 'acct' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(val = acct(0);); ^ unix.c:104:17: warning: implicit declaration of function 'acct' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(val = acct(CHARS(path));); ^ unix.c:113:10: warning: implicit declaration of function 'nice' is invalid in C99 [-Wimplicit-function-declaration] return nice(INUM(incr)) ? BOOL_F : BOOL_T; ^ unix.c:118:3: warning: implicit declaration of function 'sync' is invalid in C99 [-Wimplicit-function-declaration] sync(); ^ unix.c:129:17: warning: implicit declaration of function 'symlink' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(val = symlink(CHARS(oldpath), CHARS(newpath));); ^ unix.c:139:15: warning: implicit declaration of function 'readlink' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(i = readlink(CHARS(path), buf, (sizet)sizeof(buf));); ^ 6 warnings generated. scm.c:125:5: warning: implicit declaration of function 'init_unix' is invalid in C99 [-Wimplicit-function-declaration] INITS; /* call initialization of extension files */ ^ ./scmflags.h:2:117: note: expanded from macro 'INITS' #define INITS init_sc2();init_ramap();init_gsubr();init_ioext();init_posix();init_record();init_rgx();init_socket();init_unix(); ^ scm.c:134:3: warning: implicit declaration of function 'init_x' is invalid in C99 [-Wimplicit-function-declaration] COMPILED_INITS; /* initialize statically linked add-ons */ ^ ./scmflags.h:3:39: note: expanded from macro 'COMPILED_INITS' #define COMPILED_INITS init_edline(); init_x(); ^ scm.c:197:17: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] wta(UNDEFINED, (char *)i, ""); ^~~~~~~~~ scm.c:280:41: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] wta(MAKINUM(sig), (i < 0 ? s_unksig : (char *)(i + SIGNAL_BASE)), ""); ^~~~~~~~~~~~~~~~~~~~~~~~~ scm.c:312:22: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] wta(UNDEFINED, (char *)i, ""); ^~~~~~~~~ scm.c:345:15: warning: implicit declaration of function 'alarm' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(j = alarm(INUM(i));); ^ scm.c:390:3: warning: implicit declaration of function 'pause' is invalid in C99 [-Wimplicit-function-declaration] pause(); ^ scm.c:419:15: warning: implicit declaration of function 'sleep' is invalid in C99 [-Wimplicit-function-declaration] SYSCALL(j = sleep(INUM(i));); ^ scm.c:475:15: warning: implicit declaration of function 'getpid' is invalid in C99 [-Wimplicit-function-declaration] return kill(getpid (), (int)INUM(sig)) ? BOOL_F : BOOL_T; ^ scm.c:582:3: warning: implicit declaration of function 'alarm' is invalid in C99 [-Wimplicit-function-declaration] alarm(0); /* kill any pending ALRM interrupts */ ^ scm.c:842:7: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration] if (isatty(fileno(inport))) { ^ 11 warnings generated. scmmain.c:133:32: warning: assigning to 'const char **' from 'const char *const [1]' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] if (0==argc) {argc = 1; argv = generic_name;} /* for macintosh */ ^ ~~~~~~~~~~~~ scmmain.c:143:16: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] script_arg = argv[2]; /* Save for scm_find_execpath() call */ ^ ~~~~~~~ scmmain.c:144:31: warning: passing 'char **' to parameter of type 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] nargc = script_count_argv(nargv); ^~~~~ ./scm.h:1092:51: note: passing argument to parameter 'argv' here SCM_EXPORT int script_count_argv P((const char **argv)); ^ scmmain.c:146:15: warning: assigning to 'char **' from 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] else {nargv = argv; nargc = argc;} ^ ~~~~ scmmain.c:148:39: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] execpath = scm_find_execpath(nargc, nargv, script_arg); ^~~~~ ./scm.h:798:69: note: passing argument to parameter 'argv' here SCM_EXPORT char *scm_find_execpath P((int argc, const char * const *argv, const char *script_arg)); ^ scmmain.c:150:7: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration] if (isatty(fileno(stdin)) && isatty(fileno(stdout))) ^ scmmain.c:155:31: warning: passing 'char **' to parameter of type 'const char *const *' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] scm_init_from_argv(nargc, nargv, script_arg, iverbose, buf0stdin); ^~~~~ ./scm.h:791:69: note: passing argument to parameter 'argv' here SCM_EXPORT void scm_init_from_argv P((int argc, const char * const *argv, char *script_arg, ^ 7 warnings generated. script.c:173:9: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *extptr = exec_path + strlen(exec_path); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ script.c:189:10: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] extptr = exec_path + strlen(exec_path); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ script.c:386:12: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] nargv[0] = argv[0]; ^ ~~~~~~~ script.c:401:22: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] nargv[nargi++] = argv[argi++]; ^ ~~~~~~~~~~~~ script.c:404:39: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] while (argi <= argc) nargv[nargi++] = argv[argi++]; ^ ~~~~~~~~~~~~ 5 warnings generated. time.c:367:12: warning: shifting a negative signed value is undefined [-Wshift-negative-value] return MAKINUM(-1); ^~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ 1 warning generated. repl.c:513:5: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] ASRTER(NIMP(port) && OPINPORTP(port) && (BUF0 & SCM_PORTFLAGS(port)), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1123:85: note: expanded from macro 'ASRTER' # define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr); ^~~~~~~~~~~~~~ repl.c:1291:20: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] wta(UNDEFINED, (char *)i, ""); /* sends it to def_err_response */ ^~~~~~~~~ repl.c:1392:8: warning: implicitly declaring library function 'isspace' with type 'int (int)' [-Wimplicit-function-declaration] (isspace(initpath[0]) || ';'==initpath[0] || '('==initpath[0])) ^ repl.c:1392:8: note: include the header <ctype.h> or explicitly provide a declaration for 'isspace' repl.c:1451:19: warning: incompatible integer to pointer conversion passing 'long' to parameter of type 'SCM *' (aka 'long *') [-Wint-conversion] igc(s_unexec, BOOL_F); ^~~~~~ ./scm.h:271:16: note: expanded from macro 'BOOL_F' #define BOOL_F MAKIFLAG(NUM_ISYMS+0) ^~~~~~~~~~~~~~~~~~~~~ ./scm.h:200:21: note: expanded from macro 'MAKIFLAG' #define MAKIFLAG(n) (((n)<<9)+0x174L) ^~~~~~~~~~~~~~~~~ repl.c:47:35: note: passing argument to parameter 'sys_protects' here void igc P((const char *what, SCM rootcont)); ^ ./scm.h:643:26: note: expanded from macro 'rootcont' #define rootcont sys_protects[14] ^ repl.c:1623:37: warning: implicit declaration of function 'sbrk' is invalid in C99 [-Wimplicit-function-declaration] scm_dumped_brk = (unsigned long)sbrk(0); ^ repl.c:1629:45: warning: implicit declaration of function 'sbrk' is invalid in C99 [-Wimplicit-function-declaration] unsigned long scm_curbrk = (unsigned long)sbrk(0), ^ repl.c:2054:47: warning: cast to smaller integer type 'int' from 'char *' [-Wpointer-to-int-cast] lputc((long)err_pos <= ARGn ? ' ' : '1' + (int)err_pos - ARG1, cur_errp); ^~~~~~~~~~~~ repl.c:2057:23: warning: cast to smaller integer type 'int' from 'char *' [-Wpointer-to-int-cast] else lputs(errmsgs[((int)err_pos)-WNA].msg, cur_errp); ^~~~~~~~~~~~ repl.c:2110:11: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] err_pos = pos; ^ ~~~ repl.c:2111:14: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] err_s_subr = s_subr; ^ ~~~~~~ repl.c:2116:24: warning: cast to smaller integer type 'int' from 'const char *' [-Wpointer-to-int-cast] COOKIE(1) : COOKIE((int)pos)); ^~~~~~~~ ./scm.h:286:21: note: expanded from macro 'COOKIE' # define COOKIE(n) (n) ^ repl.c:2193:10: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration] return isatty(fileno(STREAM(port)))?BOOL_T:BOOL_F; ^ 12 warnings generated. scl.c:1071:12: warning: incompatible pointer types passing 'size_t *' (aka 'unsigned long *') to parameter of type 'int *' [-Wincompatible-pointer-types] frexp(d, &dlen); ^~~~~ /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/math.h:401:34: note: passing argument to parameter here extern double frexp(double, int *); ^ scl.c:2041:30: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if ((MAKINUM(1L)==x) || (MAKINUM(-1L)==x)) return x; ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ scl.c:2179:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] else goto overflow; ^ scl.c:2161:7: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (MAKINUM(-1L)==z1) return BOOL_F==evenp(z2)?z1:acc; ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ scl.c:2455:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ scl.c:2917:13: warning: unused function 'safe_add_1' [-Wunused-function] static void safe_add_1(f, fsum) ^ 6 warnings generated. eval.c:548:12: warning: variable 'pv' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] else if (NIMP(addr) && IM_KEYWORD==CAR(addr)) { /* local macro binding */ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:173:17: note: expanded from macro 'NIMP' #define NIMP(x) (!IMP(x)) ^ eval.c:566:10: note: uninitialized use occurs here return pv; ^~ eval.c:548:8: note: remove the 'if' if its condition is always false else if (NIMP(addr) && IM_KEYWORD==CAR(addr)) { /* local macro binding */ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ eval.c:540:10: note: initialize the variable 'pv' to silence this warning SCM *pv, val, var = CAR(vloc), env = STATIC_ENV; ^ = NULL eval.c:3123:7: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] ASRTER(CONSP(ve[i]), ve[i], 0==i ? ARG2 : ARGn, s_map); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1123:85: note: expanded from macro 'ASRTER' # define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr); ^~~~~~~~~~~~~~ eval.c:3170:7: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] ASRTER(CONSP(ve[i]), ve[i], 0==i ? ARG2 : ARGn, s_for_each); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1123:85: note: expanded from macro 'ASRTER' # define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr); ^~~~~~~~~~~~~~ 3 warnings generated. sys.c:285:11: warning: 'tmpnam' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead. [-Wdeprecated-declarations] SYSCALL(tmpnam(name);); ^ /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/stdio.h:186:1: note: 'tmpnam' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead.") ^ /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/cdefs.h:208:48: note: expanded from macro '__deprecated_msg' #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg))) ^ sys.c:369:47: warning: implicit declaration of function 'isatty' is invalid in C99 [-Wimplicit-function-declaration] if (OPENP(exp) && tc16_fport==TYP16(exp) && isatty(fileno(STREAM(exp)))) ^ sys.c:370:11: warning: implicit declaration of function 'ttyname' is invalid in C99 [-Wimplicit-function-declaration] lputs(ttyname(fileno(STREAM(exp))), port); ^ sys.c:370:11: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const char *' [-Wint-conversion] lputs(ttyname(fileno(STREAM(exp))), port); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:777:38: note: passing argument to parameter 's' here SCM_EXPORT void lputs P((const char *s, SCM port)); ^ sys.c:1398:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ sys.c:1645:9: warning: variable 'n' set but not used [-Wunused-but-set-variable] sizet n; ^ sys.c:1662:19: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (!ncont) wta(MAKINUM(-1), (char *)NALLOC, s_cont); ^~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ sys.c:2178:41: warning: shifting a negative signed value is undefined [-Wshift-negative-value] sysintern("most-negative-fixnum", (SCM)MAKINUM(MOST_NEGATIVE_FIXNUM)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ sys.c:2624:22: warning: cast to smaller integer type 'int' from 'SCM *' (aka 'long *') [-Wpointer-to-int-cast] while(0 <= --m) if (CELLP(*(SCM **)&x[m])) { ^~~~~~~~~~~~~~~~~~~~~ ./scm.h:301:20: note: expanded from macro 'CELLP' #define CELLP(x) (!NCELLP(x)) ^~~~~~~~~ ./scm.h:302:39: note: expanded from macro 'NCELLP' #define NCELLP(x) ((sizeof(cell)-1) & (int)(x)) ^~~~~~~~ 9 warnings generated. subr.c:220:8: warning: cast to 'char *' from smaller integer type 'int' [-Wint-to-pointer-cast] erout: ASRTER(NIMP(lst) && CONSP(lst), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1123:85: note: expanded from macro 'ASRTER' # define ASRTER(_cond, _arg, _pos, _subr) if (SCM_EXPECT_FALSE(!(_cond))) wta(_arg, (char *)(_pos), _subr); ^~~~~~~~~~~~~~ subr.c:456:9: warning: variable 'yy' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (!(z = INUM(y))) goto ov; ^~~~~~~~~~~~~~ subr.c:476:15: note: uninitialized use occurs here z = INUM(x)%yy; ^~ subr.c:456:5: note: remove the 'if' if its condition is always false if (!(z = INUM(y))) goto ov; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ subr.c:447:19: note: initialize the variable 'yy' to silence this warning register long yy, z; ^ = 0 subr.c:891:37: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (blen <= -cnt) return sign ? MAKINUM(-1) : INUM0; ^~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ subr.c:993:27: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (UNBNDP(x)) return MAKINUM(-1); ^~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ subr.c:1190:21: warning: shifting a negative signed value is undefined [-Wshift-negative-value] return difference(MAKINUM(-1L), n); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ subr.c:1324:52: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (BIGSIGN(n)) return scm_logcount(difference(MAKINUM(-1L), n)); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ subr.c:1349:53: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (BIGSIGN(n)) return scm_intlength(difference(MAKINUM(-1L), n)); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ subr.c:1800:31: warning: while loop has empty body [-Wempty-body] while (nlen-- && !zds[nlen]); nlen++; ^ subr.c:1800:31: note: put the semicolon on a separate line to silence this warning subr.c:1960:13: warning: promoted type 'int' of K&R function parameter is not compatible with the parameter type 'unsigned short' declared in a previous prototype [-Wknr-promoted-parameter] BIGDIG div; ^ ./scm.h:1077:66: note: previous declaration is here SCM_EXPORT unsigned int divbigdig P((BIGDIG *ds, sizet h, BIGDIG div)); ^ 9 warnings generated. unif.c:141:12: warning: promoted type 'double' of K&R function parameter is not compatible with the parameter type 'float' declared in a previous prototype [-Wknr-promoted-parameter] float x; ^ ./scm.h:1005:33: note: previous declaration is here SCM_EXPORT SCM makflo P((float x)); ^ unif.c:522:12: warning: variable 'vlen' set but not used [-Wunused-but-set-variable] sizet k, vlen = 1; ^ unif.c:860:5: warning: variable 'pos' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] ASRTGO(NULLP(args), badarg); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1124:36: note: expanded from macro 'ASRTGO' # define ASRTGO(_cond, _label) if (SCM_EXPECT_FALSE(!(_cond))) goto _label; ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:467:32: note: expanded from macro 'SCM_EXPECT_FALSE' #define SCM_EXPECT_FALSE(expr) (__builtin_expect(expr, 0)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ unif.c:882:23: note: uninitialized use occurs here outrng: wta(MAKINUM(pos), (char *)OUTOFRANGE, s_aref); ^~~ ./scmfig.h:590:24: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ^ unif.c:860:5: note: remove the 'if' if its condition is always false ASRTGO(NULLP(args), badarg); ^ ./scm.h:1124:32: note: expanded from macro 'ASRTGO' # define ASRTGO(_cond, _label) if (SCM_EXPECT_FALSE(!(_cond))) goto _label; ^ unif.c:858:11: note: initialize the variable 'pos' to silence this warning long pos; ^ = 0 unif.c:1098:38: warning: implicit declaration of function 'num2char' is invalid in C99 [-Wimplicit-function-declaration] ((signed char *)VELTS(v))[pos] = num2char(obj, (char *)ARG2, s_aset); break; ^ unif.c:1062:3: warning: variable 'pos' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] ASRTGO(NIMP(v), badarg1); ^~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1124:36: note: expanded from macro 'ASRTGO' # define ASRTGO(_cond, _label) if (SCM_EXPECT_FALSE(!(_cond))) goto _label; ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:467:32: note: expanded from macro 'SCM_EXPECT_FALSE' #define SCM_EXPECT_FALSE(expr) (__builtin_expect(expr, 0)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ unif.c:1081:23: note: uninitialized use occurs here outrng: wta(MAKINUM(pos), (char *)OUTOFRANGE, s_aset); ^~~ ./scmfig.h:590:24: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ^ unif.c:1062:3: note: remove the 'if' if its condition is always false ASRTGO(NIMP(v), badarg1); ^ ./scm.h:1124:32: note: expanded from macro 'ASRTGO' # define ASRTGO(_cond, _label) if (SCM_EXPECT_FALSE(!(_cond))) goto _label; ^ unif.c:1061:11: note: initialize the variable 'pos' to silence this warning long pos; ^ = 0 unif.c:1396:24: warning: shifting a negative signed value is undefined [-Wshift-negative-value] if (0==len) return MAKINUM(-1L); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ unif.c:2022:28: warning: shifting a negative signed value is undefined [-Wshift-negative-value] case tc7_VfixZ32: return MAKINUM(-32L); ^~~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ unif.c:2024:28: warning: shifting a negative signed value is undefined [-Wshift-negative-value] case tc7_VfixZ16: return MAKINUM(-16L); ^~~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ unif.c:2026:27: warning: shifting a negative signed value is undefined [-Wshift-negative-value] case tc7_VfixZ8: return MAKINUM(-8L); ^~~~~~~~~~~~ ./scmfig.h:590:26: note: expanded from macro 'MAKINUM' # define MAKINUM(x) (((x)<<2)+2L) ~~~^ 9 warnings generated. rope.c:129:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:161:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:170:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:179:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:193:1: warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ rope.c:253:15: warning: passing 'const char *const' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] must_free(argv[i], 1+strlen(argv[i])); ^~~~~~~ ./scm.h:720:36: note: passing argument to parameter 'obj' here SCM_EXPORT void must_free P((char *obj, sizet len)); ^ 6 warnings generated. unexelf.c:426:10: fatal error: 'elf.h' file not found #include <elf.h> ^~~~~~~ 1 error generated. x.c:361:51: warning: incompatible integer to pointer conversion passing 'SCM' (aka 'long') to parameter of type 'const char *' [-Wint-conversion] XSaveContext(XDISPLAY(sdpy), (XID)cmp, xtc_cmp, z); ^ /Users/pbulk/build/lang/scm/work/.buildlink/include/X11/Xutil.h:581:1: note: passing argument to parameter here ); ^ x.c:609:47: warning: incompatible integer to pointer conversion passing 'SCM' (aka 'long') to parameter of type 'const char *' [-Wint-conversion] XSaveContext(ccc->dpy, (XID)ccc, xtc_ccc, s_ccc); ^~~~~ /Users/pbulk/build/lang/scm/work/.buildlink/include/X11/Xutil.h:581:1: note: passing argument to parameter here ); ^ x.c:1013:9: warning: variable 'previous_after_function' set but not used [-Wunused-but-set-variable] int (*previous_after_function)(); ^ x.c:1315:10: warning: passing 'SCM *' (aka 'long *') to parameter of type 'unsigned long *' converts between pointers to integer types with different sign [-Wpointer-sign] VELTS(pxra), npixels, ^~~~~~~~~~~ ./scm.h:455:18: note: expanded from macro 'VELTS' #define VELTS(x) ((SCM *)CDR(x)) ^~~~~~~~~~~~~~~ /Users/pbulk/build/lang/scm/work/.buildlink/include/X11/Xlib.h:1988:39: note: passing argument to parameter here unsigned long* /* pixels_return */, ^ x.c:1328:7: warning: passing 'SCM *' (aka 'long *') to parameter of type 'unsigned long *' converts between pointers to integer types with different sign [-Wpointer-sign] VELTS(plra), nplanes, VELTS(pxra), npixels); ^~~~~~~~~~~ ./scm.h:455:18: note: expanded from macro 'VELTS' #define VELTS(x) ((SCM *)CDR(x)) ^~~~~~~~~~~~~~~ /Users/pbulk/build/lang/scm/work/.buildlink/include/X11/Xlib.h:1978:44: note: passing argument to parameter here unsigned long* /* plane_masks_return */, ^ x.c:1328:29: warning: passing 'SCM *' (aka 'long *') to parameter of type 'unsigned long *' converts between pointers to integer types with different sign [-Wpointer-sign] VELTS(plra), nplanes, VELTS(pxra), npixels); ^~~~~~~~~~~ ./scm.h:455:18: note: expanded from macro 'VELTS' #define VELTS(x) ((SCM *)CDR(x)) ^~~~~~~~~~~~~~~ /Users/pbulk/build/lang/scm/work/.buildlink/include/X11/Xlib.h:1980:39: note: passing argument to parameter here unsigned long* /* pixels_return */, ^ x.c:1347:36: warning: passing 'SCM *' (aka 'long *') to parameter of type 'unsigned long *' converts between pointers to integer types with different sign [-Wpointer-sign] XFreeColors(xcm->dpy, xcm->cm, VELTS(spxls), INUM(spxls), planes); ^~~~~~~~~~~~ ./scm.h:455:18: note: expanded from macro 'VELTS' #define VELTS(x) ((SCM *)CDR(x)) ^~~~~~~~~~~~~~~ /Users/pbulk/build/lang/scm/work/.buildlink/include/X11/Xlib.h:2538:32: note: passing argument to parameter here unsigned long* /* pixels */, ^ x.c:1958:34: warning: passing 'unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign] case 8: return makfrom0str(data); ^~~~ ./scm.h:1050:44: note: passing argument to parameter 'scr' here SCM_EXPORT SCM makfrom0str P((const char *scr)); ^ x.c:2094:35: warning: incompatible function pointer types passing 'int (*)(Display *, Drawable, GC, int, int, const char *, int)' (aka 'int (*)(struct _XDisplay *, unsigned long, struct _XGC *, int, int, const char *, int)') to parameter of type 'int (*)(void)' [-Wincompatible-function-pointer-types] xldraw_string(sdbl, sgc, sargs, &XDrawString, s_x_draw_string); ^~~~~~~~~~~~ x.c:2100:35: warning: incompatible function pointer types passing 'int (*)(Display *, Drawable, GC, int, int, const char *, int)' (aka 'int (*)(struct _XDisplay *, unsigned long, struct _XGC *, int, int, const char *, int)') to parameter of type 'int (*)(void)' [-Wincompatible-function-pointer-types] xldraw_string(sdbl, sgc, sargs, &XDrawImageString, s_x_image_string); ^~~~~~~~~~~~~~~~~ x.c:2274:3: warning: variable 'ev' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] ASRTGO(NIMP(sevent) && XEVENTP(sevent), badarg); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./scm.h:1124:36: note: expanded from macro 'ASRTGO' # define ASRTGO(_cond, _label) if (SCM_EXPECT_FALSE(!(_cond))) goto _label; ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./scmfig.h:467:32: note: expanded from macro 'SCM_EXPECT_FALSE' #define SCM_EXPECT_FALSE(expr) (__builtin_expect(expr, 0)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ x.c:2283:23: note: uninitialized use occurs here ans = XLookupKeysym(ev, ev->state); ^~ x.c:2274:3: note: remove the 'if' if its condition is always false ASRTGO(NIMP(sevent) && XEVENTP(sevent), badarg); ^ ./scm.h:1124:32: note: expanded from macro 'ASRTGO' # define ASRTGO(_cond, _label) if (SCM_EXPECT_FALSE(!(_cond))) goto _label; ^ x.c:2272:16: note: initialize the variable 'ev' to silence this warning XKeyEvent *ev; ^ = NULL 11 warnings generated. mv: rename scm to scm~: No such file or directory clang: error: no such file or directory: 'unexelf.o' *** Error code 1 Stop. bmake[1]: stopped making "all" in /Volumes/data/jenkins/workspace/pkgsrc-macos-trunk-arm64/lang/scm *** Error code 1 Stop. bmake: stopped making "all" in /Volumes/data/jenkins/workspace/pkgsrc-macos-trunk-arm64/lang/scm