From f0223a067ccc57b0e014f49f77c992e537ca9305 Mon Sep 17 00:00:00 2001
From: Martin Bauer <martin.bauer@fau.de>
Date: Sun, 3 Dec 2017 18:23:38 +0100
Subject: [PATCH] Bugfixes

---
 astnodes.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/astnodes.py b/astnodes.py
index 89d3a8544..df48c6d4a 100644
--- a/astnodes.py
+++ b/astnodes.py
@@ -268,8 +268,12 @@ class Block(Node):
 
         # move all assignment (definitions to the top)
         if isinstance(newNode, SympyAssignment) and newNode.isDeclaration:
-            while idx > 0 and not (isinstance(self._nodes[idx-1], SympyAssignment) and self._nodes[idx-1].isDeclaration):
-                idx -= 1
+            while idx > 0:
+                pn = self._nodes[idx - 1]
+                if isinstance(pn, LoopOverCoordinate) or isinstance(pn, Conditional):
+                    idx -= 1
+                else:
+                    break
         self._nodes.insert(idx, newNode)
 
     def append(self, node):
-- 
GitLab