From 5327c828c6419f8958c2f9fde8218c487509e0c8 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Tue, 25 Jul 2017 13:24:47 -0500
Subject: [PATCH] Fortran: support both length and kind

---
 loopy/frontend/fortran/translator.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/loopy/frontend/fortran/translator.py b/loopy/frontend/fortran/translator.py
index 50272e5fe..7a08984f8 100644
--- a/loopy/frontend/fortran/translator.py
+++ b/loopy/frontend/fortran/translator.py
@@ -312,7 +312,16 @@ class F2LoopyTranslator(FTreeWalkerBase):
 
     def dtype_from_stmt(self, stmt):
         length, kind = stmt.selector
-        assert not kind
+
+        if kind and not length:
+            length = kind
+        elif length and not kind:
+            pass
+        elif not length and not kind:
+            pass
+        else:
+            raise RuntimeError("both length and kind specified")
+
         return np.dtype(self.TYPE_MAP[(type(stmt).__name__.lower(), length)])
 
     def map_type_decl(self, node):
-- 
GitLab