From 8d66a6fd57732e27992b6a89fa475908868d436e Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 24 Jul 2017 16:32:17 +0200 Subject: [PATCH] . --- .../codegenerator/SourceFileGenerator.java | 16 +++++++--------- .../codegenerator/taskspecific/IfGenerator.java | 2 +- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/at/ac/uibk/iwir2wfr/codegenerator/SourceFileGenerator.java b/src/at/ac/uibk/iwir2wfr/codegenerator/SourceFileGenerator.java index db43451..1e289e2 100755 --- a/src/at/ac/uibk/iwir2wfr/codegenerator/SourceFileGenerator.java +++ b/src/at/ac/uibk/iwir2wfr/codegenerator/SourceFileGenerator.java @@ -72,7 +72,7 @@ public class SourceFileGenerator { "}\n"); // main function - if (config.isSkipmain()) { + if (!config.isSkipmain()) { String wfInputCode = repo.getWfInputCode(); String wfOutputCode = repo.getWfOutputCode(); writer.write("\n\nint main(int argc, char** argv) {\n" + @@ -306,14 +306,8 @@ public class SourceFileGenerator { check2 += StringConstants.parentIsPrevIterFinished + "()"; } } - // write checkReadyForExecution Macro - if (task.getNodeType() != NodeType.ForEachNode - && task.getNodeType() != NodeType.ParallelForEachNode - && task.getNodeType() != NodeType.ForNode - && task.getNodeType() != NodeType.ParallelForNode - && task.getNodeType() != NodeType.WhileNode - && task.getNodeType() != NodeType.IfNode - && task.getNodeType() != NodeType.BlockScopeNode) { + + if (task.getNodeType() == NodeType.AtomicNode) { // write checkReadyForExecution Macro for atomic nodes if (!check2.isEmpty() && !checkString.isEmpty()) { writer.write("\t" + StringConstants.selfCheckReadyForExecution2 + "(" + checkString + ", " + check2 + ");\n"); } else if (!check2.isEmpty() && checkString.isEmpty()) { @@ -321,6 +315,10 @@ public class SourceFileGenerator { } else if (!checkString.isEmpty()) { writer.write("\t" + StringConstants.selfCheckReadyForExecution + "(" + checkString + ");\n"); } + } else { // write areAllInputsAvailable Macro for composite nodes + if (!checkString.isEmpty()) { + writer.write("\t" + StringConstants.selfCheckAllInputsAvailable + "(" + checkString + ");\n"); + } } // Epilog writer.write("\t" + StringConstants.inputEpilogMacroName + ";\n"); diff --git a/src/at/ac/uibk/iwir2wfr/codegenerator/taskspecific/IfGenerator.java b/src/at/ac/uibk/iwir2wfr/codegenerator/taskspecific/IfGenerator.java index df45dba..f638390 100755 --- a/src/at/ac/uibk/iwir2wfr/codegenerator/taskspecific/IfGenerator.java +++ b/src/at/ac/uibk/iwir2wfr/codegenerator/taskspecific/IfGenerator.java @@ -93,7 +93,7 @@ public class IfGenerator { writer.write("\t\t" + StringConstants.childOutputBufferGetMacro + "(a" + varIndex + StringConstants.outbufferVarPostfix + ", " + pred.getParentNode().getOutPortStruct().getName() + ", a" + varIndex + ", " - + pred.getParentNode().getId() + ", " + pred.getParentNode().inParentBranch() + ");\n"); + + pred.getParentNode().getId() + ", 0);\n"); writer.write("\t\tif (a" + varIndex + StringConstants.outbufferVarPostfix + " != nullptr) {\n"); if (pm.getDataType().equals(pred.getDataType())) {