From d437292a11e89c11c839145237a1871316593800 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Tue, 22 Sep 2015 11:27:11 +0100 Subject: [PATCH] src/module-output.lisp, test/chimaera.sod: Add output items for user code. Organization: Straylight/Edgeware From: Mark Wooding 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 | 4 ++++ test/chimaera.sod | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/module-output.lisp b/src/module-output.lisp index 42044e3..8632a02 100644 --- a/src/module-output.lisp +++ b/src/module-output.lisp @@ -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 diff --git a/test/chimaera.sod b/test/chimaera.sod index e9b9077..193d5ec 100644 --- a/test/chimaera.sod +++ b/test/chimaera.sod @@ -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) -- [mdw]