From 4314854e68a076682a02ecade8260a4c18c6c950 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Sun, 6 Mar 2022 13:26:28 -0600 Subject: [PATCH] Error on tagged names in calls --- loopy/symbolic.py | 1 + loopy/translation_unit.py | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/loopy/symbolic.py b/loopy/symbolic.py index 36880b5ac..a462c8ca8 100644 --- a/loopy/symbolic.py +++ b/loopy/symbolic.py @@ -1835,6 +1835,7 @@ class PwAffEvaluationMapper(EvaluationMapperBase, IdentityMapperMixin): "for as-pwaff evaluation" % expr) def map_call(self, expr): + # FIXME: There are some things here that we could handle, e.g. "abs". raise TypeError(f"call in '{expr}' not supported " "for as-pwaff evaluation") diff --git a/loopy/translation_unit.py b/loopy/translation_unit.py index fb9b8fc18..9b40eb532 100644 --- a/loopy/translation_unit.py +++ b/loopy/translation_unit.py @@ -91,7 +91,12 @@ class CallableResolver(RuleAwareIdentityMapper): from loopy.symbolic import parse_tagged_name if not _is_a_reduction_op(expr.function): + # FIXME: We should have never used parse_tagged_name here. name, tag = parse_tagged_name(expr.function) + + if tag: + raise LoopyError(f"tagged name in call: {expr.function}") + else: if isinstance(expr.function, ResolvedFunction): name = expr.function.function -- GitLab