I have three scm files:
main.scm:
(display "Hello from main.scm.") (newline) (f1a-func) (f2-func)
f1a.scm: (define (f1a-func) (display "f1a-func was called") (f2-func) (newline))
f2.scm: (define (f2-func) (display "Hello from f2.scm") (newline))
With gcc f1a.o f2.o main.o main_.o -lgambit, it compiles and generate expected output. With gcc main.o f1a.o f2.o main_.o -lgambit, it compiles but will raise an exception on missing f1a-func / f2-func.
Is this expected behavior? Any workaround exist? My testing environment is OSX El Captain
Thanks Meng
Afficher les réponses par date
I can’t reproduce your problem and I’m also on OSX El Capitan. Here’s the trace:
% gsc -obj -keep-c main.scm % gsc -obj -keep-c f1a.scm % gsc -obj -keep-c f2.scm % gsc -link f1a.c f2.c main.c % gsc -obj main_.c % rm -f main % gcc -o main f1a.o f2.o main.o main_.o -lgambit % ./main Hello from main.scm. f1a-func was calledHello from f2.scm
Hello from f2.scm % rm -f main % gcc -o main main.o f1a.o f2.o main_.o -lgambit % ./main Hello from main.scm. f1a-func was calledHello from f2.scm
Hello from f2.scm
Can you verify your steps? I’m using the latest Gambit from the github repo.
Marc
On Dec 6, 2016, at 9:27 PM, Meng Zhang wsxiaoys.lh@gmail.com wrote:
I have three scm files:
main.scm:
(display "Hello from main.scm.") (newline) (f1a-func) (f2-func)
f1a.scm: (define (f1a-func) (display "f1a-func was called") (f2-func) (newline))
f2.scm: (define (f2-func) (display "Hello from f2.scm") (newline))
With gcc f1a.o f2.o main.o main_.o -lgambit, it compiles and generate expected output. With gcc main.o f1a.o f2.o main_.o -lgambit, it compiles but will raise an exception on missing f1a-func / f2-func.
Is this expected behavior? Any workaround exist? My testing environment is OSX El Captain
Thanks Meng
-- Meng _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list