diff --git a/loopy/frontend/fortran/translator.py b/loopy/frontend/fortran/translator.py index 50272e5fece9322db3f63104698e21f68c4f21db..7a08984f88a6add0181f3752144ede93b636fe81 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):