diff --git a/loopy/kernel/creation.py b/loopy/kernel/creation.py index 5427d96cae18bbf7e85b2837353e924bf5c2837b..cdede223de62aa513707fe078169001e7aa863f1 100644 --- a/loopy/kernel/creation.py +++ b/loopy/kernel/creation.py @@ -825,6 +825,7 @@ def parse_instructions(instructions, defines): else: assert else_match is not None if not last_if_predicates: + import pdb; pdb.set_trace() raise LoopyError("'else' without 'if'/'elif' encountered") additional_preds = frozenset() diff --git a/test/test_loopy.py b/test/test_loopy.py index debfd8051995f74dc2d5d24ba7b2d6f96005402a..4221feb792550a6c8b243f0f648dfff6d4654fac 100644 --- a/test/test_loopy.py +++ b/test/test_loopy.py @@ -1811,6 +1811,8 @@ def test_if_else(ctx_factory): else a[i] = 3 end + else + a[i] = 4 end end """ @@ -1818,8 +1820,9 @@ def test_if_else(ctx_factory): evt, (out,) = knl(queue, out_host=True) - out_ref = np.empty(50) - out_ref[::6] = 15 + out_ref = np.zeros(50) + out_ref[1::2] = 4 + out_ref[0::6] = 15 out_ref[4::6] = 11 out_ref[2::6] = 3