From 1ac85f6de90615a5a16daab18520a04cd52c8bcd Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Sun, 23 Sep 2012 17:16:57 -0500
Subject: [PATCH] Generate good index rank mismatch errors in bounds check.

---
 loopy/check.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/loopy/check.py b/loopy/check.py
index baef5d37f..107aa6a2d 100644
--- a/loopy/check.py
+++ b/loopy/check.py
@@ -254,6 +254,12 @@ class _AccessCheckMapper(WalkMapper):
 
                 access_range = access_map.range()
 
+                if dims != len(shape):
+                    raise RuntimeError("subscript to '%s' in '%s' has the wrong "
+                            "number of indices (got: %d, expected: %d)" % (
+                                expr.aggregate.name, expr,
+                                dims, len(shape)))
+
                 shape_domain = isl.BasicSet.universe(access_range.get_space())
                 for idim in xrange(dims):
                     from loopy.isl_helpers import make_slab
-- 
GitLab