From 3f91b12740fc21c2cf18924d4743a0aca0b35782 Mon Sep 17 00:00:00 2001
From: Anders Blomdell <anders.blomdell@control.lth.se>
Date: Mon, 23 Feb 2015 17:50:21 +0100
Subject: [PATCH] Removed some dead-code elimination, sice it stumbled on
 unused typedefs.

---
 compiler/2014/C_CodeGen.jrag          | 14 +++++++++-----
 lib/c/2014/test/generated_encoding.lc |  1 +
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/compiler/2014/C_CodeGen.jrag b/compiler/2014/C_CodeGen.jrag
index 0bf1eec..b6e643c 100644
--- a/compiler/2014/C_CodeGen.jrag
+++ b/compiler/2014/C_CodeGen.jrag
@@ -1284,7 +1284,7 @@ aspect C_Signature {
   eq TypeDecl.C_DeclTypeString() = "LABCOMM_TYPEDEF";
 
   public void Decl.C_emitSignature(C_env env) {
-    if( (isReferenced() || isSampleDecl())){
+    if( (true || isReferenced() || isSampleDecl())){
       Signature signature = getSignature();
       signature.C_emitSignature(env, !isSampleDecl());
       C_emitFlatSignature(env);
@@ -1480,10 +1480,14 @@ aspect C_Constructor {
     env.println("}"); 
   }
 
-  public void Decl.C_emitConstructor(C_env env) {
-//  }
-//XXX
-//  public void SampleDecl.C_emitConstructor(C_env env) {
+  public void TypeDecl.C_emitConstructor(C_env env) {
+    if (isReferenced()) {
+      env.println("labcomm"+env.verStr+"_set_local_index(&signature_" +
+                  env.prefix + getName() + ");");
+    }
+  }
+
+  public void SampleDecl.C_emitConstructor(C_env env) {
     env.println("labcomm"+env.verStr+"_set_local_index(&signature_" + 
 		env.prefix + getName() + ");");
   }
diff --git a/lib/c/2014/test/generated_encoding.lc b/lib/c/2014/test/generated_encoding.lc
index 4055562..e2de713 100644
--- a/lib/c/2014/test/generated_encoding.lc
+++ b/lib/c/2014/test/generated_encoding.lc
@@ -1,3 +1,4 @@
+typedef void unused_t;
 typedef void v_t;
 sample v_t V;
 sample byte B;
-- 
GitLab