vsedach/Vacietis

#if defined undef

Opened this issue · 2 comments

$ git clone https://github.com/vsedach/Vacietis.git
Cloning into 'Vacietis'...
remote: Enumerating objects: 1011, done.        
remote: Total 1011 (delta 0), reused 0 (delta 0), pack-reused 1011        
Receiving objects: 100% (1011/1011), 534.03 KiB | 0 bytes/s, done.
Resolving deltas: 100% (500/500), done.
Checking connectivity... done.

$ echo '#if defined(__GNUC__)' > vacietis-bug.c

$ ccl --no-init --load ~/quicklisp/setup.lisp --eval '(ql:quickload "Vacietis")' --eval '(vacietis:load-c-file "vacietis-bug.c")'
To load "vacietis":
  Load 1 ASDF system:
    vacietis
; Loading "vacietis"
.......
;Compiler warnings :
;   In an anonymous lambda form: Undefined function |DEFINED|
;   In an anonymous lambda form: Undeclared free variable |__gnuc__|
> Error: Unbound variable: |__gnuc__|
> While executing: #<Anonymous Function #x302001785C6F>, in process listener(1).
> Type :GO to continue, :POP to abort, :R for a list of available restarts.
> If continued: Skip evaluation of (vacietis:load-c-file "vacietis-bug.c")
> Type :? for other options.
1 > :|B| 
*(218C95E8) : 0 (funcall #'#<Anonymous Function #x302001785C6F>) 37
 (218C9650) : 1 (cheap-eval (|SYMBOL-MACROLET| |NIL| (|DEFINED| |__gnuc__|))) 101
 (218C9688) : 2 (preprocessor-test " defined(__GNUC__)") 749
 (218C96A8) : 3 (read-c-macro #<basic-file-character-input-stream ("/private/tmp/vacietis-bug.c"/4 utf-8) #x30200178A63D> #\#) 1653
 (218C96E8) : 4 (%parse-expression #<basic-file-character-input-stream ("/private/tmp/vacietis-bug.c"/4 utf-8) #x30200178A63D> #\# |NIL|) 413
 (218C9740) : 5 (%read-form #<basic-file-character-input-stream ("/private/tmp/vacietis-bug.c"/4 utf-8) #x30200178A63D> |NIL| (|NIL|)) 573
 (218C9780) : 6 (read-internal #<basic-file-character-input-stream ("/private/tmp/vacietis-bug.c"/4 utf-8) #x30200178A63D> |NIL| (|NIL|) |NIL|) 253
 (218C9800) : 7 (read-recording-source #<basic-file-character-input-stream ("/private/tmp/vacietis-bug.c"/4 utf-8) #x30200178A63D> :|EOFVAL| (|NIL|) :|FILE-NAME| "/private/tmp/vacietis-bug.c" :|START-OFFSET| 0 :|MAP| #<hash-table :|TEST| |EQ| size 0/60 #x30200178955D> :|SAVE-SOURCE-TEXT| |t|) 453
 (218C98B0) : 8 (funcall #'#<(:|INTERNAL| |CCL|::|WITH-COMPILATION-UNIT-BODY| |CCL|::|LOAD-FROM-STREAM|)>) 517
 (218C9940) : 9 (call-with-compilation-unit #<|COMPILED-LEXICAL-CLOSURE| (:|INTERNAL| |CCL|::|WITH-COMPILATION-UNIT-BODY| |CCL|::|LOAD-FROM-STREAM|) #x219EBF7F> :|OVERRIDE| |NIL|) 197
 (218C9988) : 10 (load-from-stream #<basic-file-character-input-stream ("/private/tmp/vacietis-bug.c"/4 utf-8) #x30200178A63D> |NIL|) 357
 (218C99C8) : 11 (%load #P"/private/tmp/vacietis-bug.c" |NIL| |NIL| :|ERROR| :|DEFAULT| |NIL|) 5061
 (218C9B20) : 12 (load "vacietis-bug.c" :|VERBOSE| |NIL| :|PRINT| |NIL| :|IF-DOES-NOT-EXIST| :|ERROR| :|EXTERNAL-FORMAT| :|DEFAULT| :|PRESERVE-OPTIMIZATION-SETTINGS| |NIL|) 1029
 (218C9BD0) : 13 (%load-c-file "vacietis-bug.c" #S(|VACIETIS|::|COMPILER-STATE| :|PP| #<hash-table :|TEST| |EQL| size 0/60 #x30200178DCCD> :|TYPEDEFS| #<hash-table :|TEST| |EQL| size 0/60 #x30200178D6AD> ...)) 269
 (218C9C68) : 14 (load-c-file "vacietis-bug.c") 77
 (218C9C88) : 15 (call-check-regs |VACIETIS|:|LOAD-C-FILE| "vacietis-bug.c") 221
 (218C9CC0) : 16 (cheap-eval (|VACIETIS|:|LOAD-C-FILE| "vacietis-bug.c")) 101
 (218C9CF8) : 17 (funcall #'#<(:|INTERNAL| |CCL|::|EVAL-STRING| |CCL|::|STARTUP-CCL|)> "(vacietis:load-c-file \"vacietis-bug.c\")") 485
 (218C9D40) : 18 (startup-ccl |NIL|) 1541
 (218C9DA8) : 19 (funcall #'#<(:|INTERNAL| (|TOPLEVEL-FUNCTION| (|CCL|::|LISP-DEVELOPMENT-SYSTEM| |t|)))>) 61
 (218C9DC8) : 20 (funcall #'#<(:|INTERNAL| |CCL|::|MAKE-MCL-LISTENER-PROCESS|)>) 661
 (218C9E60) : 21 (run-process-initial-form #<tty-listener listener(1) [Active] #x3020004567BD> (#<|COMPILED-LEXICAL-CLOSURE| # #x3020004562EF>)) 669
 (218C9EF0) : 22 (funcall #'#<(:|INTERNAL| (|CCL|::|%PROCESS-PRESET-INTERNAL| (|PROCESS|)))> #<tty-listener listener(1) [Active] #x3020004567BD> (#<|COMPILED-LEXICAL-CLOSURE| # #x3020004562EF>)) 573
 (218C9F98) : 23 (funcall #'#<(:|INTERNAL| |CCL|::|THREAD-MAKE-STARTUP-FUNCTION|)>) 277
1 > :|Q| 
Welcome to Clozure Common Lisp Version 1.11-r16635  (DarwinX8664)!

CCL is developed and maintained by Clozure Associates. For more information
about CCL visit http://ccl.clozure.com.  To enquire about Clozure's Common Lisp
consulting services e-mail info@clozure.com or visit http://www.clozure.com.

? (quit)