chiark
/
gitweb
/
~mdw
/
sod
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/codegen-{proto,impl}.lisp: Have `definst' optionally export symbols.
[sod]
/
src
/
codegen-impl.lisp
diff --git
a/src/codegen-impl.lisp
b/src/codegen-impl.lisp
index 2b23661f82222050c77048d34815a611374c4f68..3790d9d1d837b692712c057d4addedec4ed99662 100644
(file)
--- a/
src/codegen-impl.lisp
+++ b/
src/codegen-impl.lisp
@@
-66,48
+66,36
@@
(defmethod print-object ((var temporary-name) stream)
;; Compound statements.
;; Compound statements.
-(export '(if-inst make-if-inst
- while-inst make-while-inst
- do-inst make-do-inst
- inst-condition inst-consequent inst-alternative inst-body))
-
-(definst if (stream) (condition consequent alternative)
+(definst if (stream :export t) (condition consequent alternative)
(format-compound-statement (stream consequent alternative)
(format stream "if (~A)" condition))
(when alternative
(format-compound-statement (stream alternative)
(write-string "else" stream))))
(format-compound-statement (stream consequent alternative)
(format stream "if (~A)" condition))
(when alternative
(format-compound-statement (stream alternative)
(write-string "else" stream))))
-(definst while (stream) (condition body)
+(definst while (stream
:export t
) (condition body)
(format-compound-statement (stream body)
(format stream "while (~A)" condition)))
(format-compound-statement (stream body)
(format stream "while (~A)" condition)))
-(definst do-while (stream) (body condition)
+(definst do-while (stream
:export t
) (body condition)
(format-compound-statement (stream body :space)
(write-string "do" stream))
(format stream "while (~A);" condition))
;; Special varargs hacks.
(format-compound-statement (stream body :space)
(write-string "do" stream))
(format stream "while (~A);" condition))
;; Special varargs hacks.
-(export '(va-start-inst make-va-start-inst
- va-copy-inst make-va-copy-inst
- va-end-inst make-va-end-inst
- inst-ap inst-arg inst-to inst-from))
-
-(definst va-start (stream) (ap arg)
+(definst va-start (stream :export t) (ap arg)
(format stream "va_start(~@<~A, ~_~A~:>);" ap arg))
(format stream "va_start(~@<~A, ~_~A~:>);" ap arg))
-(definst va-copy (stream) (to from)
+(definst va-copy (stream
:export t
) (to from)
(format stream "va_copy(~@<~A, ~_~A~:>);" to from))
(format stream "va_copy(~@<~A, ~_~A~:>);" to from))
-(definst va-end (stream) (ap)
+(definst va-end (stream
:export t
) (ap)
(format stream "va_end(~A);" ap))
;; Expressions.
(format stream "va_end(~A);" ap))
;; Expressions.
-(export '(call-inst make-call-inst inst-func inst-args))
-
-(definst call (stream) (func args)
+(definst call (stream :export t) (func args)
(format stream "~A(~@<~{~A~^, ~_~}~:>)" func args))
;;;--------------------------------------------------------------------------
(format stream "~A(~@<~{~A~^, ~_~}~:>)" func args))
;;;--------------------------------------------------------------------------