From 24cc29e9b658b7587976c0ff8fbf6c7a04eb3a0b Mon Sep 17 00:00:00 2001
From: Anders Blomdell <anders.blomdell@control.lth.se>
Date: Mon, 23 Feb 2015 18:52:34 +0100
Subject: [PATCH] Corrected C include macros to allow 2006 and 2014 to be used
 in the program.

---
 compiler/2006/C_CodeGen.jrag | 10 ++++++----
 compiler/2014/C_CodeGen.jrag |  6 ++++--
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/compiler/2006/C_CodeGen.jrag b/compiler/2006/C_CodeGen.jrag
index 3d82bcd..2fd45b1 100644
--- a/compiler/2006/C_CodeGen.jrag
+++ b/compiler/2006/C_CodeGen.jrag
@@ -187,8 +187,8 @@ aspect C_CodeGen {
     out.println("*/");
     env.println("");
     env.println("");
-    env.println("#ifndef __LABCOMM_" + env.lcName + "_H__"); 
-    env.println("#define __LABCOMM_" + env.lcName + "_H__");
+    env.println("#ifndef __LABCOMM2006_" + env.lcName + "_H__"); 
+    env.println("#define __LABCOMM2006_" + env.lcName + "_H__");
     env.println("");
 
     // Include
@@ -270,18 +270,20 @@ aspect C_Type {
   }
 
   public void TypeDecl.C_emitType(C_env env) {
-    env.println("#ifndef PREDEFINED_" + env.prefix + getName());
+    env.println("#ifndef LABCOMM_DEFINED_" + env.prefix + getName());
     env.print("typedef ");
     getType().C_emitType(env, env.prefix + getName());
     env.println(";");
+    env.println("#define LABCOMM_DEFINED_" + env.prefix + getName());
     env.println("#endif");
   }
 
   public void SampleDecl.C_emitType(C_env env) {
-    env.println("#ifndef PREDEFINED_" + env.prefix + getName());
+    env.println("#ifndef LABCOMM_DEFINED_" + env.prefix + getName());
     env.print("typedef ");
     getType().C_emitType(env, env.prefix + getName());
     env.println(";");
+    env.println("#define LABCOMM_DEFINED_" + env.prefix + getName());
     env.println("#endif");
     env.println("extern const struct labcomm"+env.verStr+"_signature " +
                 "*labcomm"+env.verStr+"_signature_" + env.prefix + getName() + 
diff --git a/compiler/2014/C_CodeGen.jrag b/compiler/2014/C_CodeGen.jrag
index b6e643c..d0dc920 100644
--- a/compiler/2014/C_CodeGen.jrag
+++ b/compiler/2014/C_CodeGen.jrag
@@ -270,18 +270,20 @@ aspect C_Type {
   }
 
   public void TypeDecl.C_emitType(C_env env) {
-    env.println("#ifndef PREDEFINED_" + env.prefix + getName());
+    env.println("#ifndef LABCOMM_DEFINED_" + env.prefix + getName());
     env.print("typedef ");
     getType().C_emitType(env, env.prefix + getName());
     env.println(";");
+    env.println("#define LABCOMM_DEFINED_" + env.prefix + getName());
     env.println("#endif");
   }
 
   public void SampleDecl.C_emitType(C_env env) {
-    env.println("#ifndef PREDEFINED_" + env.prefix + getName());
+    env.println("#ifndef LABCOMM_DEFINED_" + env.prefix + getName());
     env.print("typedef ");
     getType().C_emitType(env, env.prefix + getName());
     env.println(";");
+    env.println("#define LABCOMM_DEFINED_" + env.prefix + getName());
     env.println("#endif");
     env.println("extern const struct labcomm"+env.verStr+"_signature " +
                 "*labcomm"+env.verStr+"_signature_" + env.prefix + getName() + 
-- 
GitLab