chiark / gitweb /
src/module-output.lisp, test/chimaera.sod: Add output items for user code.
authorMark Wooding <mdw@distorted.org.uk>
Tue, 22 Sep 2015 10:27:11 +0000 (11:27 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Thu, 8 Oct 2015 21:00:55 +0000 (22:00 +0100)
It seems likely that many modules will want to add plain C code to the
implementation output, and declarations to the header, so provide
standard output items `early_user' and `user' for this purpose.

src/module-output.lisp
test/chimaera.sod

index 42044e3ed51f0cd6c6938eb8037e009838711462..8632a029d5a8882756524da1629e3d9677b1f20e 100644 (file)
@@ -113,7 +113,9 @@ (defmethod hook-output progn ((module module) (reason (eql :h)) sequencer)
      (:guard :start)
      (:typedefs :start) :typedefs (:typedefs :end)
      (:includes :start) :includes (:includes :end)
+     (:early-user :start) :early-user (:early-user :end)
      (:classes :start) (:classes :end)
+     (:user :start) :user (:user :end)
      (:guard :end)
      :epilogue)
 
@@ -161,7 +163,9 @@ (defmethod hook-output progn ((module module) (reason (eql :c)) sequencer)
     :constraint
     (:prologue
      (:includes :start) :includes (:includes :end)
+     (:early-user :start) :early-user (:early-user :end)
      (:classes :start) (:classes :end)
+     (:user :start) :user (:user :end)
      :epilogue)
 
     (:prologue
index e9b9077adb5bf107a3c68750bc66efc3b9d5beba..193d5ec260dce772afc7c33cb5eaeb8269af5dd3 100644 (file)
@@ -46,7 +46,7 @@ class Serpent : Animal {
 class Chimaera : Lion, Goat, Serpent {
 }
 
-code c : user [classes end, user, epilogue] {
+code c : user {
 /*----- Main driver code --------------------------------------------------*/
 
 static void tickle_animal(Animal *a)