From 66a0d06ed5cc9386a66ee93d816d9919f7882ce6 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Wed, 5 Oct 2016 15:43:30 -0500
Subject: [PATCH] Fix recursion in processing of 'if()' in
 FunctionToPrimitiveMapper

---
 loopy/symbolic.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/loopy/symbolic.py b/loopy/symbolic.py
index 1eb7cbed6..602f063a9 100644
--- a/loopy/symbolic.py
+++ b/loopy/symbolic.py
@@ -920,7 +920,7 @@ class FunctionToPrimitiveMapper(IdentityMapper):
         elif name == "if":
             if len(expr.parameters) == 3:
                 from pymbolic.primitives import If
-                return If(*expr.parameters)
+                return If(*tuple(self.rec(p) for p in expr.parameters))
             else:
                 raise TypeError("if takes three arguments")
 
-- 
GitLab