about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2016-10-04 09:13:25 -0700
committerKartik K. Agaram <vc@akkartik.com>2016-10-04 09:13:25 -0700
commit38e96056e47a68e45c229a5e2f788a72a8efe206 (patch)
tree5473a0bf17afea14c2e7d42263ef793a33b7c844
parent1ec3eb4cd8fcdb44b93d551361b880f904c2616d (diff)
downloadmu-38e96056e47a68e45c229a5e2f788a72a8efe206.tar.gz
3437
Drop an ancient case of premature optimization: skipping transform for
recipes without bodies. These days recipes also have headers that need
transforming.

Thanks Caleb Couch for running into this issue.
-rw-r--r--012transform.cc1
-rw-r--r--053recipe_header.cc1
2 files changed, 1 insertions, 1 deletions
diff --git a/012transform.cc b/012transform.cc
index 36edd807..3a23efeb 100644
--- a/012transform.cc
+++ b/012transform.cc
@@ -50,7 +50,6 @@ void transform_all() {
 //?     cerr << "transform " << t << '\n';
     for (map<recipe_ordinal, recipe>::iterator p = Recipe.begin(); p != Recipe.end(); ++p) {
       recipe& r = p->second;
-      if (r.steps.empty()) continue;
       if (r.transformed_until != t-1) continue;
       // End Transform Checks
       (*Transform.at(t))(/*recipe_ordinal*/p->first);
diff --git a/053recipe_header.cc b/053recipe_header.cc
index 44e7e8da..c521eb69 100644
--- a/053recipe_header.cc
+++ b/053recipe_header.cc
@@ -422,6 +422,7 @@ void fill_in_reply_ingredients(recipe_ordinal r) {
       add_header_products(inst, caller_recipe);
   }
   // fall through reply
+  if (caller_recipe.steps.empty()) return;  // error will be raised elsewhere if there's a product in the header; just give up
   const instruction& final_instruction = caller_recipe.steps.at(SIZE(caller_recipe.steps)-1);
   if (final_instruction.name != "reply" && final_instruction.name != "return") {
     instruction inst;